Voici le code pour remplir une zone de liste dans une application VBA:la requête concernant la chaîne de dsn dans vba
Private Sub Form_Open(Cancel As Integer)
''#Populate list box control.
Dim cnn As ADODB.Connection
Dim strSQL As String
Dim rst As ADODB.Recordset
Dim strList As String
On Error GoTo ErrHandler
''#Use DSN to Northwind.
''#Modify connection and connection string as needed.
Set cnn = New ADODB.Connection
cnn.Open "DSN=NorthwindExample"
strSQL = "SELECT * FROM Shippers"
Set rst = New ADODB.Recordset
rst.Open strSQL, cnn
strList = rst.GetString(adClipString, , ";", ",")
Debug.Print strList
Me.lstShippers.RowSource = strList
rst.Close
cnn.Close
Set rst = Nothing
Set cnn = Nothing
Exit Sub
ErrHandler:
MsgBox Err.No & ": " & Err.Description, vbOKOnly, "Error"
Set rst = Nothing
Set cnn = Nothing
End Sub
Je dois savoir ce que je dois mettre sous forme de chaîne DSN? Où vais-je obtenir l'information?
Qu'est-ce que adClipString
ici dans ce code?
Existe-t-il une option pour remplir le contrôle de liste sans utiliser l'objet de connexion DSN puisque je prends les valeurs de la même table d'accès?
@SmartestVEGA: Ceci est la deuxième question sur le même sujet que vous avez demandé dans quelques minutes (l'autre est ici: http://stackoverflow.com/questions/1123664/) Ce n'est peut-être pas le meilleur des idées pour continuez de poster des échantillons de code aléatoires que vous avez déterrés sur Internet, en demandant aux gens de les corriger jusqu'à ce que vous en trouviez un qui fonctionne. Vous devrez investir du temps dans VBA si vous voulez faire quelque chose. – Tomalak