Crysostomo
O colega Damasceno e não Damasco como digitou não disse que tem um arquivo.bat.
Ele está perguntando ao autor do tópico como ele consegue pegar
a variável pelo arquivo.bat dele.
Por favor releia o tópico, e tenha um pouco mais de capricho ao digitar suas dúvidas.
AleCardosoExpondo minha opinião
Sou sempre pelo simples, pra que complicar?
Somente uso de algo externo do Access, se não puder fazer por ele próprio, e mesmo
assim, no caso do arquivo.bat, crio o mesmo pelo Access.
Ao invés de usar a variável Environ$(), por quê não cria uma variável Pública NomeUsuario ou id_Usuário para o usuário que está logando no momento, a qual poderá utilizar a qualquer momento dentro do Access?
Para o nome do computador, disponibilizo a função, mais abaixo, que deve ser colocado num módulo básico.
Outra coisa:
Imagine um cenário que um ou mais usuários estão em meio a uma operação e você da um comando de logoff no sistema deles.
No mínimo, para não dizer o pior, ele irão ficar muito "contentes"
contigo.
O melhor a fazer é enviar um aviso no sistema (que não atrapalhe a digitação dele no momento) dizendo que em X minutos
o sistema será fechado para manutenção.
Por isso, não uso esse expediente.
Só utilizo fechar o sistema das estações de trabalho, quando faço uma atualização no FE e preciso substituí-los.
Caso tenha interesse, me avise, que explico como fazê-lo.
{ }'s
Balem
- Código:
Option Compare Database
Option Explicit
'GetComputerName lê o nome do computador e o coloca na variável
'string lpBuffer. A função retorna 0 se falhar e 1 se funcionar.
'====Se o teu windows for de 32 bits, tire a palavra Ptrsafe da linha de baixo. ===============
Private Declare PtrSafe Function GetComputerName Lib "Kernel32" Alias _
"GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Function ComputerName() As String
Dim RetVal As Long, lngLen As Long
Dim strCompName As String
' O tamanho máximo para o nome é 15,
' sendo que a string precisa ser de 15+1.
lngLen = 16
strCompName = Space(lngLen)
' Passa o nome obtido para a variável strCompName.
RetVal = GetComputerName(strCompName, lngLen)
If RetVal <> 0 Then
ComputerName = Left$(strCompName, lngLen)
Else
ComputerName = ""
End If
End Function