ACCESS VBA Impossible d'attribuer une valeur.
crazybear
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
fkuchta -
fkuchta -
Bonjour,
Je veux attribuer le nom de l'utilisateur windows (API) par le bied d une fonction à un champs dans un formulaire puis l'enregsitrer dans la table mais le probleme c'est que à chaque fois VBA me met "Impossible d'attribuer une valeur à cet objet". pourquoi?
Merci d'avance
Je veux attribuer le nom de l'utilisateur windows (API) par le bied d une fonction à un champs dans un formulaire puis l'enregsitrer dans la table mais le probleme c'est que à chaque fois VBA me met "Impossible d'attribuer une valeur à cet objet". pourquoi?
Merci d'avance
A voir également:
- Apigetusername
- Acer quick access - Forum Logiciels
- Attribuer une valeur à une cellule texte excel ✓ - Forum Excel
- Access runtime ✓ - Forum Access
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
7 réponses
Il manque quelque chose dans le code de ton module.
Tu déclares une fonction externe GetUserName. Tu l'appels par un Call ??? dans une fonction qui n'est pas déclarée.
Que veux tu faire au juste?
Quel environement utilises-tu? Access 2000, Excel... ?
Tu déclares une fonction externe GetUserName. Tu l'appels par un Call ??? dans une fonction qui n'est pas déclarée.
Que veux tu faire au juste?
Quel environement utilises-tu? Access 2000, Excel... ?
c'est possible de voir le code de ta macro?
Du module?
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
On Error GoTo Err_yGetUserName
' Declare the variables
Dim strBuffer As String
Dim lngSize As Long
' Initialise the variables
strBuffer = Space$(255)
lngSize = Len(strBuffer)
' Load the user name with the Windows API function
Call GetUserName(strBuffer, lngSize)
If lngSize > 0 Then
yGetUserName = Left$(strBuffer, lngSize - 1)
Else
yGetUserName = vbNullString
End If
Exit_yGetUserName:
Exit Function
Err_yGetUserName:
MsgBox Err.Description
Resume Exit_yGetUserName
End Function
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
On Error GoTo Err_yGetUserName
' Declare the variables
Dim strBuffer As String
Dim lngSize As Long
' Initialise the variables
strBuffer = Space$(255)
lngSize = Len(strBuffer)
' Load the user name with the Windows API function
Call GetUserName(strBuffer, lngSize)
If lngSize > 0 Then
yGetUserName = Left$(strBuffer, lngSize - 1)
Else
yGetUserName = vbNullString
End If
Exit_yGetUserName:
Exit Function
Err_yGetUserName:
MsgBox Err.Description
Resume Exit_yGetUserName
End Function
Voici un exemple qui marche:
Tu remarqueras que "apiGetUserName " est une fonction et ne peut donc pas être appelées par un Call étant donné qu'elle renvois une valeur.
Dans ton code tu utilises une variable "yGetUserName" qui n'est pas déclarée???
Ta fonction n'a pas été déclarée non plus. Bref je comprends que ça ne marche pas.
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _ "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Public Function fOSUserName() As String Dim lngLen As Long, lngX As Long Dim strUserName As String strUserName = String$(254, 0) lngLen = 255 lngX = apiGetUserName(strUserName, lngLen) fOSUserName = Left$(strUserName, lngLen - 1) End Function
Tu remarqueras que "apiGetUserName " est une fonction et ne peut donc pas être appelées par un Call étant donné qu'elle renvois une valeur.
Dans ton code tu utilises une variable "yGetUserName" qui n'est pas déclarée???
Ta fonction n'a pas été déclarée non plus. Bref je comprends que ça ne marche pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question