Erreur de compilation : Impossible d'affecter à un tableau / OBJ
Earwenn
Messages postés
2
Statut
Membre
-
Earwenn Messages postés 2 Statut Membre -
Earwenn Messages postés 2 Statut Membre -
Bonjour à tous et à toutes,
Je suis confrontée à un probleme depuis deux jours. Forum et autres tutos ne me donne réponse à mon probleme.
J'ai tenté la mise en place d'objet dans Access.
Je vous explique
j'ai un objet Staff dans lequel je déclare les propriétés etc.
j'ai un objet BDD_STAFF dans lequel je fais ceci :
Mon request est alimenté par des constantes définies.
Mon wrapperRecord est un objet dans lequel je lance mes requetes (pour explication).
Mon Mapping alimente mon objet STAFF.
J'ai effectué des tests avec la récupération d'un seul enregistrement où je n'ai eu aucun probleme (structure idem).
J'ai seulement modifié pour qu'à la place d'un seul objet je récupère un tableau d'objet.
Ma fonction est lancé au chargement de mon formulaire mais voila PROBLEME : Erreur de compilation : Impossible d'affecter à un tableau.
Code sur chargement du formulaire :
Le compilateur relève l'erreur sur la ligne suivante.
Set tab_staff = BDD_STAFF.Select_By_Login(Environ("USERNAME"))
Merci d'avance.
Cordialement
@GLeviavant
Je suis confrontée à un probleme depuis deux jours. Forum et autres tutos ne me donne réponse à mon probleme.
J'ai tenté la mise en place d'objet dans Access.
Je vous explique
j'ai un objet Staff dans lequel je déclare les propriétés etc.
j'ai un objet BDD_STAFF dans lequel je fais ceci :
Public Function Select_By_Login(vLogin As String) As Class_Staff()
Dim rs As Recordset
Dim wRcd As WrapperRecord
Dim users() As Class_Staff
Dim i As Integer
Dim request As String
request = SELECTc & ALL_INFORMATION & FROMc & TABLE & WHEREc & CRITERIA_ID & ANDc & CRITERIA_OUT_F
request = Replace(request, "[Id]", vLogin)
Set wRcd = New WrapperRecord
Set rs = wRcd.executeRequest(request, CurrentDb)
i = 0
While Not rs.EOF
MsgBox (rs.Fields(1))
Set users(i) = mapping_staff_All(rs)
i = i + 1
rs.MoveNext
Wend
Set Select_By_Login = users
End Function
Mon request est alimenté par des constantes définies.
Mon wrapperRecord est un objet dans lequel je lance mes requetes (pour explication).
Mon Mapping alimente mon objet STAFF.
J'ai effectué des tests avec la récupération d'un seul enregistrement où je n'ai eu aucun probleme (structure idem).
J'ai seulement modifié pour qu'à la place d'un seul objet je récupère un tableau d'objet.
Ma fonction est lancé au chargement de mon formulaire mais voila PROBLEME : Erreur de compilation : Impossible d'affecter à un tableau.
Code sur chargement du formulaire :
Dim BDD_STAFF As BDD_STAFF
Dim tab_staff() as Class_Staff
Set BDD_STAFF = New BDD_STAFF
Set tab_staff = BDD_STAFF.Select_By_Login(Environ("USERNAME"))
Le compilateur relève l'erreur sur la ligne suivante.
Set tab_staff = BDD_STAFF.Select_By_Login(Environ("USERNAME"))
Merci d'avance.
Cordialement
@GLeviavant
1 réponse
-
J'ai eu une illumination.
Voila je n'ai pas declaré des tableaus du type de classe voulu mais j'ai remplacé cela par un objet Collection.
Ma fonction retourne une collection et je la récupère ainsi.
En plus de deux trois maladresses j'ai pu atteindre ce que je voulais.
donc pour ce que ca pourrait intéresser voila le nouveau code
Public Function Select_By_Login(vLogin As String) As Collection Dim rs As Recordset Dim wRcd As WrapperRecord Dim users As New Collection Dim user As Class_Staff Dim request As String request = SELECTc & ALL_INFORMATION & FROMc & TABLE & WHEREc & CRITERIA_ID & ANDc & CRITERIA_OUT_F request = Replace(request, "[Id]", vLogin) Set wRcd = New WrapperRecord Set rs = wRcd.executeRequest(request, CurrentDb) While Not rs.EOF Set user = mapping_staff_All(rs) users.Add Item:=user rs.MoveNext Wend Set Select_By_Login = users End Function
et dans la procédure qui fait appel a cette fonction :
Dim BDD_STAFF As BDD_STAFF
Dim tab_staf As Collection
Dim user As Class_Staff
Set BDD_STAFF = New BDD_STAFF
Set tab_staff = BDD_STAFF.Select_By_Login(Environ("USERNAME"))
Set user = New Class_Staff
Set user = tab_staff.Item(1)
"Rien n'est plus insondable que le système de motivations derrière nos actions."
@Earwenn