[VB]Problème de compréhenssion
Bonjour à vous tous,
Je tente actuellement de faire mes débuts dans le monde VB/VBA et j'éprouve certaines difficultés. J'ai déjà fait quelques prog en Java et je tente de jouer avec les objets en VB. C'est très facile à faire en Java mais mes connaissances limités en VB m'empèche de progresser :-)
Alors voilà...
Je veux créer une instance d'un usager après avoir validé son existance dans une base de données et ensuite le récupérer dans un autre Module.
Voici le code que j'ai jusqu'à date.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
************ Module de Classe "cls_user" **************
Private loc_Name As String
Private loc_group As String
Public Property Let Name(ByVal vData As String)
loc_Name = vData
End Property
Public Property Get Name() As String
Name = loc_Name
End Property
Public Property Let group(ByVal vData As String)
loc_group = vData
End Property
Public Property Get group() As String
group = loc_group
End Property
************* Module Validate_User ***************
Public Function ValidateUser() As cls_User
On Error GoTo ErrorHandler
Dim currentUser As String
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
' Get the current logged user.
currentUser = Environ("USERNAME")
' Validate if current user is listed in the database.
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.Open "DSN=DbReflection", "grant", "access"
rs.Open "SELECT userName FROM Users", conn
Do While Not rs.EOF
If rs.Fields("userName") = currentUser Then
' Create new Object user here
Dim loc_user As New cls_User
loc_user.Name = rs.Fields("userName")
ValidateUser = loc_user
Exit Do
Else
MsgBox "User """ & currentUser & """ does not have sufficent rights to access database"
Exit Do
End If
rs.MoveNext
Loop
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
Exit Function
ErrorHandler:
MsgBox Err.Description, vbExclamation + vbOKOnly
End Function
************ Module Main_Test_Page **************
Public Sub Main()
'Un certain code me permatent de valider l'utilisateur et d'ensuite récupérer l'objet créé dans la function Validate_User
'Validate_User.ValidateUser
End Sub |
J'obtient l'erreur suivante lorsque j'exécute le tout depuis le Module Main_Test_Page avec la commande suivante "Validate_User.ValidateUser" :
"Variable objet ou variable de bloc With non définie"
L'erreur se produit à la ligne "ValidateUser = loc_user" du Module "Validate_User"
Bien entendu, il est fort possible que je n'utilise pas la bonne manière d'effectuer cette opération, mais je capitalise sur ce que je connais (Java) :-)
Un petit coup de main serait fort aprécié.