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.
J'obtient l'erreur suivante lorsque j'exécute le tout depuis le Module Main_Test_Page avec la commande suivante "Validate_User.ValidateUser" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
"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é.
Partager