Remplissage ListBox dans un formulaire Access (vba)

Fehn Messages postés 41 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 23 février 2006 - 23 févr. 2006 à 14:34
Fehn Messages postés 41 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 23 février 2006 - 23 févr. 2006 à 15:33
Bonjour,
voilà, je tente de remplir une listbox grâce à du code VBA que voici :

Sub AffichObjetEssai(List_Essai As ListBox)
'Déclaration des variables
Dim rstLogi As ADODB.Recordset
Dim objmyconn As ADODB.Connection
Dim strSQL As String
Dim strChaine As String
'connexion à la base de donnée
Set objmyconn = connexion()
Set rstLogi = CreateObject("ADODB.RecordSet")
'requête sql permettant d'afficher tous les objets de la logistique
strSQL = "Select [designation] from objet " & _
"where OBJET.[id_sect]=1 ;"
'execute la requête SQL
rstLogi.Open strSQL, objmyconn
MsgBox ("Jusque la c'est bon!")
With rstLogi
.MoveFirst
If (.State = adStateOpen) And (Not (.EOF And .BOF)) Then
Do Until .EOF
strChaine = .Fields("designation")
[List_Essai.AddItem strChaine]
.MoveNext
Loop
Else
MsgBox "Il n'y a pas d'objet dans cette catégorie"
End
End If
End With
End Sub

Cependant, il me génère l'erreur suivante (à la ligne entre crochet): "Erreur d'execution '6014' : La propriété RowSourceType doit être définie sur la valeur Liste valeurs pour utiliser cette méthode"

Or j'ai déjà utiliser ce code pour une application Outlook qui fonctionnait parfaitement. En outre, il me dit que la connexion à la base de donnée est ok, voici le code pour que vous ayez tous les éléments :

Function connexion() As ADODB.Connection
'Déclaration des variables
Dim objADOConn As ADODB.Connection
Dim strConn As String
'paramètre de la base placé dans une variable string
strConn = "DSN=base_maintenance; " & _
"Network Library=dbmssocn;"

Set objADOConn = CreateObject("ADODB.Connection")
'Ouverture de la base de donnée
On Error Resume Next
objADOConn.Open strConn

If (Err 0) And (objADOConn.State adStateOpen) Then
'connexion réussi
Set connexion = objADOConn
MsgBox "Connexion ok"
Else
'connexion échoué
Set connexion = Nothing
MsgBox "Problème lors de la connexion à la base de donnée"
End If
End Function

Malgré mes verification avec les noms des listbox de mes formulaires et du code, l'erreur se génére toujours. Pourquoi cette erreur ? Que faut il que je fasse ?

Merci

1 réponse

Fehn Messages postés 41 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 23 février 2006
23 févr. 2006 à 15:33
J'ai trouvé :) apparement, le AddItem ne fonctionne pas sous Access 2000 et il faut le remplacer par RowSource et RowSourceType. Est ce que quelqu'un pourrait me dire comment faire pour l'intégrer dans mon code VBA ???
Rejoignez-nous