Probleme de code dans recordset
bonsoir à tous,
sur mon appli j'ai placé un code afin de filtrer les postes pouvant accéder à la base de données.
J'ai une dizaine de postes sensés pouvoir accéder, sur 7 d'entre eux le code fonctionne très bien mais malheureusement sur 3 autres ça "coince" et je n'arrive pas à trouver pourquoi.
J'ai vérifié les références vba elles sont identiques. J'ai épuré le code au maximum afin de limiter les sources d'erreurs.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Dim oDb As DAO.Database
Dim rst As DAO.Recordset
Dim Sql As String
Set oDb = CurrentDb
MsgBox "1"
Sql = "SELECT * FROM Machines WHERE Machine = Environ(""computername"") "
MsgBox "2"
Set rst = oDb.OpenRecordset(Sql, dbOpenSnapshot)
MsgBox "3"
If rst.EOF Then
MsgBox "4"
MsgBox "VOTRE MACHINE " & Environ("computername") & Chr(13) & Chr(13) & "N'EST PAS AUTORISEE A ACCEDER A CETTE APPLICATION", , "AVERTISSEMENT"
Sql = "INSERT INTO JournalIntrusions ( DateHeure, Machine) SELECT Now() AS Expr1, Environ(""computername"") AS Expr2;"
DoCmd.RunSQL Sql
MsgBox "5"
Else
Sql = "INSERT INTO JournalAcces ( DateHeure, Machine) SELECT Now() AS Expr1, Environ(""computername"") AS Expr2;"
DoCmd.RunSQL Sql
MsgBox "6" |
J'ai placé des msgbox pour voir jusqu'ou ça fonctionne et ça plante à la 2eme msgbox. :?
Environ("computer") qui pose probleme
je crois que j'ai cerné le problème, en fait les 3 ou 4 PC concernés buttent sur la variable d'environnement (je crois que c'est comme ça que ça s'appelle :oops: )
Environ("computer")
Ils ne veulent absolument pas la reconnaitre que ce soit par exemple pour donner la valeur à une variable , style : OrdiLocal = Environ("computer")
Ou que ce soit au sein d'une requete en tant que critere avec cette synthaxe Environ(""computer"").
Quelqu'un saurait-il me dire ce que je dois modifier ou ajouter sur les postes concernés pour franchir cet écueil ?