Bonjour,
Je suis débutant en vba et je cherche de l'aide.
Je voudrais que lorsqu'un utilisateur ouvre la BD son UserID soit recherché
dans une query "UserNameTS" contenant les UserID des différents utilisateurs
avec un autre champ [UserIDBD] qui contient le prénom de l'utilisateur,
celui-ci étant utilisé dans la BD.
J'y arrive en utilisant UserName = DLookup("[UserIDBD]", "UserNameTS",
"[NomUtil]='" & UserID & "'")
Mais lorsque l'utilisateur n'est pas repris dans dans la query, je voudrais
que la BD se ferme.
Or là, j'ai une erreur 2486 : Impossible d'excécuter cette action pour
l'instant".
Voici le code complet :
Option Compare Database
Option Explicit
Public Declare Function NetworkGetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Function UserName() As String
Dim strUsername As String
Dim UserID As String
Dim lngResult As Long
strUsername = String$(255, 32)
lngResult = NetworkGetUserName(strUsername, 255)
UserID = Left(strUsername, InStr(strUsername, Chr(0)) - 1) 'Zero
terminated
If Nz(DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" & UserID &
"'"), "") <> "" Then
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric
Bonjour,
Quand appelles-tu la fonction UserName() ? Car par le biais de la macro AutoExec ou via un formulaire (sur chargement ou ouverture, je n'ai pas ce problème.
Vincent BD a écrit :
Bonjour, Je suis débutant en vba et je cherche de l'aide. Je voudrais que lorsqu'un utilisateur ouvre la BD son UserID soit recherché dans une query "UserNameTS" contenant les UserID des différents utilisateurs avec un autre champ [UserIDBD] qui contient le prénom de l'utilisateur, celui-ci étant utilisé dans la BD. J'y arrive en utilisant UserName = DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" & UserID & "'") Mais lorsque l'utilisateur n'est pas repris dans dans la query, je voudrais que la BD se ferme. Or là, j'ai une erreur 2486 : Impossible d'excécuter cette action pour l'instant".
Voici le code complet : Option Compare Database Option Explicit
Public Declare Function NetworkGetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Function UserName() As String Dim strUsername As String Dim UserID As String Dim lngResult As Long strUsername = String$(255, 32) lngResult = NetworkGetUserName(strUsername, 255) UserID = Left(strUsername, InStr(strUsername, Chr(0)) - 1) 'Zero terminated
If Nz(DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" & UserID & "'"), "") <> "" Then
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Quand appelles-tu la fonction UserName() ?
Car par le biais de la macro AutoExec ou via un formulaire (sur
chargement ou ouverture, je n'ai pas ce problème.
Vincent BD a écrit :
Bonjour,
Je suis débutant en vba et je cherche de l'aide.
Je voudrais que lorsqu'un utilisateur ouvre la BD son UserID soit recherché
dans une query "UserNameTS" contenant les UserID des différents utilisateurs
avec un autre champ [UserIDBD] qui contient le prénom de l'utilisateur,
celui-ci étant utilisé dans la BD.
J'y arrive en utilisant UserName = DLookup("[UserIDBD]", "UserNameTS",
"[NomUtil]='" & UserID & "'")
Mais lorsque l'utilisateur n'est pas repris dans dans la query, je voudrais
que la BD se ferme.
Or là, j'ai une erreur 2486 : Impossible d'excécuter cette action pour
l'instant".
Voici le code complet :
Option Compare Database
Option Explicit
Public Declare Function NetworkGetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Function UserName() As String
Dim strUsername As String
Dim UserID As String
Dim lngResult As Long
strUsername = String$(255, 32)
lngResult = NetworkGetUserName(strUsername, 255)
UserID = Left(strUsername, InStr(strUsername, Chr(0)) - 1) 'Zero
terminated
If Nz(DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" & UserID &
"'"), "") <> "" Then
Quand appelles-tu la fonction UserName() ? Car par le biais de la macro AutoExec ou via un formulaire (sur chargement ou ouverture, je n'ai pas ce problème.
Vincent BD a écrit :
Bonjour, Je suis débutant en vba et je cherche de l'aide. Je voudrais que lorsqu'un utilisateur ouvre la BD son UserID soit recherché dans une query "UserNameTS" contenant les UserID des différents utilisateurs avec un autre champ [UserIDBD] qui contient le prénom de l'utilisateur, celui-ci étant utilisé dans la BD. J'y arrive en utilisant UserName = DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" & UserID & "'") Mais lorsque l'utilisateur n'est pas repris dans dans la query, je voudrais que la BD se ferme. Or là, j'ai une erreur 2486 : Impossible d'excécuter cette action pour l'instant".
Voici le code complet : Option Compare Database Option Explicit
Public Declare Function NetworkGetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Function UserName() As String Dim strUsername As String Dim UserID As String Dim lngResult As Long strUsername = String$(255, 32) lngResult = NetworkGetUserName(strUsername, 255) UserID = Left(strUsername, InStr(strUsername, Chr(0)) - 1) 'Zero terminated
If Nz(DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" & UserID & "'"), "") <> "" Then
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Vincent BD
Désolé du retard.
Cette fonction est appelée à l'ouverture de la BD via la macro "AutoExec" lorsque dans un fichier log est inscrit l'identification de l'utilisateur et les date et heure d'ouverture, via une requête. -- Merci
"Eric" a écrit :
Bonjour,
Quand appelles-tu la fonction UserName() ? Car par le biais de la macro AutoExec ou via un formulaire (sur chargement ou ouverture, je n'ai pas ce problème.
Vincent BD a écrit : > Bonjour, > Je suis débutant en vba et je cherche de l'aide. > Je voudrais que lorsqu'un utilisateur ouvre la BD son UserID soit recherché > dans une query "UserNameTS" contenant les UserID des différents utilisateurs > avec un autre champ [UserIDBD] qui contient le prénom de l'utilisateur, > celui-ci étant utilisé dans la BD. > J'y arrive en utilisant UserName = DLookup("[UserIDBD]", "UserNameTS", > "[NomUtil]='" & UserID & "'") > Mais lorsque l'utilisateur n'est pas repris dans dans la query, je voudrais > que la BD se ferme. > Or là, j'ai une erreur 2486 : Impossible d'excécuter cette action pour > l'instant". > > Voici le code complet : > Option Compare Database > Option Explicit > > Public Declare Function NetworkGetUserName Lib "advapi32.dll" _ > Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long > > Function UserName() As String > Dim strUsername As String > Dim UserID As String > Dim lngResult As Long > strUsername = String$(255, 32) > lngResult = NetworkGetUserName(strUsername, 255) > UserID = Left(strUsername, InStr(strUsername, Chr(0)) - 1) 'Zero > terminated > > If Nz(DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" & UserID & > "'"), "") <> "" Then > > UserName = DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" & > UserID & "'") > > Else > > DoCmd.Quit > > End If > End Function
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Désolé du retard.
Cette fonction est appelée à l'ouverture de la BD via la macro "AutoExec"
lorsque dans un fichier log est inscrit l'identification de l'utilisateur et
les date et heure d'ouverture, via une requête.
--
Merci
"Eric" a écrit :
Bonjour,
Quand appelles-tu la fonction UserName() ?
Car par le biais de la macro AutoExec ou via un formulaire (sur
chargement ou ouverture, je n'ai pas ce problème.
Vincent BD a écrit :
> Bonjour,
> Je suis débutant en vba et je cherche de l'aide.
> Je voudrais que lorsqu'un utilisateur ouvre la BD son UserID soit recherché
> dans une query "UserNameTS" contenant les UserID des différents utilisateurs
> avec un autre champ [UserIDBD] qui contient le prénom de l'utilisateur,
> celui-ci étant utilisé dans la BD.
> J'y arrive en utilisant UserName = DLookup("[UserIDBD]", "UserNameTS",
> "[NomUtil]='" & UserID & "'")
> Mais lorsque l'utilisateur n'est pas repris dans dans la query, je voudrais
> que la BD se ferme.
> Or là, j'ai une erreur 2486 : Impossible d'excécuter cette action pour
> l'instant".
>
> Voici le code complet :
> Option Compare Database
> Option Explicit
>
> Public Declare Function NetworkGetUserName Lib "advapi32.dll" _
> Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
>
> Function UserName() As String
> Dim strUsername As String
> Dim UserID As String
> Dim lngResult As Long
> strUsername = String$(255, 32)
> lngResult = NetworkGetUserName(strUsername, 255)
> UserID = Left(strUsername, InStr(strUsername, Chr(0)) - 1) 'Zero
> terminated
>
> If Nz(DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" & UserID &
> "'"), "") <> "" Then
>
> UserName = DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" &
> UserID & "'")
>
> Else
>
> DoCmd.Quit
>
> End If
> End Function
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Cette fonction est appelée à l'ouverture de la BD via la macro "AutoExec" lorsque dans un fichier log est inscrit l'identification de l'utilisateur et les date et heure d'ouverture, via une requête. -- Merci
"Eric" a écrit :
Bonjour,
Quand appelles-tu la fonction UserName() ? Car par le biais de la macro AutoExec ou via un formulaire (sur chargement ou ouverture, je n'ai pas ce problème.
Vincent BD a écrit : > Bonjour, > Je suis débutant en vba et je cherche de l'aide. > Je voudrais que lorsqu'un utilisateur ouvre la BD son UserID soit recherché > dans une query "UserNameTS" contenant les UserID des différents utilisateurs > avec un autre champ [UserIDBD] qui contient le prénom de l'utilisateur, > celui-ci étant utilisé dans la BD. > J'y arrive en utilisant UserName = DLookup("[UserIDBD]", "UserNameTS", > "[NomUtil]='" & UserID & "'") > Mais lorsque l'utilisateur n'est pas repris dans dans la query, je voudrais > que la BD se ferme. > Or là, j'ai une erreur 2486 : Impossible d'excécuter cette action pour > l'instant". > > Voici le code complet : > Option Compare Database > Option Explicit > > Public Declare Function NetworkGetUserName Lib "advapi32.dll" _ > Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long > > Function UserName() As String > Dim strUsername As String > Dim UserID As String > Dim lngResult As Long > strUsername = String$(255, 32) > lngResult = NetworkGetUserName(strUsername, 255) > UserID = Left(strUsername, InStr(strUsername, Chr(0)) - 1) 'Zero > terminated > > If Nz(DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" & UserID & > "'"), "") <> "" Then > > UserName = DLookup("[UserIDBD]", "UserNameTS", "[NomUtil]='" & > UserID & "'") > > Else > > DoCmd.Quit > > End If > End Function
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr