Combobox & adodc1

Résolu
8_mm Messages postés 8 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 6 juin 2005 - 4 juin 2005 à 17:56
8_mm Messages postés 8 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 6 juin 2005 - 6 juin 2005 à 16:03
Salut, en fait, je désirerais qqch de tout simple. Savoir comment reprendre les valeurs de l'une de mes colonnes dans une table Access pour les mettre dans un combobox.
J'ai déjà fait ma relation access avec mon programme à l'aide d'adodc.

Je désirerais également savoir comment faire pour rajouter une donnée via ma combobox.

En fait, la colonne de ma table reprends (par exemple) plusieur libélé de cours (anglais, francais, math, ...) mais il y a plusieur ligne pour le même libélé et je voudrais pouvoir rajouter (par exemple) science, religion, ...

Merci de bien vouloir m'aider :)
A voir également:

2 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
5 juin 2005 à 02:58
Bonsoir,



Pour récupérer les données d'un champ dans le Combobox.

Projet /Références, cocher les cases Microsoft Activex Data Objects 2.0 Library et Microsoft DAO 3.51 Object Library.



Private Sub Form_Activate()

Dim adoConnection As ADODB.Connection

Dim ado RecordSet As ADODB.RecordSet

Dim ConnectionString As String

Set adoConnection = New ADODB.Connection

Set adoRecordSet = New ADODB.RcordSet



ConnectionString " Provider Microsoft.jet.OLEDB.3.51;" & _

" Data Source = C:\Chemin de ta base.mdb"

adoConnection.Open ConnectionString

adoRecordSet.open "Nom de ta table", adoConnection



Do Until adoRecordSet.EOF

Combo1.AddItem adoRecordSet!Nom du champ a récupérer

adoRecordSet.MoveNext

Loop



adoRecordSet.Close

adoConnection.Close

Set adoRecordSet = Nothing

Set adoConnection = Nothing

End Sub



Pour ajouter des données sert toi d'un autre contrôle que celui où tu les récupèrent.Un TextBox par exemple



Private Sub Command1_Click()

Adodc1.RecordSet.AddNew

Adodc1.RecordSet!Nom du champ = Text1.Text

Adodc1.RecordSet!Nom d'un autre champ = Text2.Text

Adodc1.Update

End Sub



Attention, si tu as un champ indexé, tu risques d'avoir un message
d'erreur (Ne peut contenir de valeur null), donc ajoutes une donnée à
ce champ.



jpleroisse
3
8_mm Messages postés 8 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 6 juin 2005
6 juin 2005 à 16:03
Je viens d'essayer cette solution mais j'ai un problème quand je lance mon programme...

Voici le code pour mon programme:

Private Sub Form_Activate()
Dim adoConnection As ADODB.Connection
Dim adoRecordSet As ADODB.Recordset
Dim ConnectionString As String
Set adoConnection = New ADODB.Connection
Set adoRecordSet = New ADODB.Recordset


ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
" Data Source = C:\Mes documents\Visual Basic\école\QCM\Questionnaire\Questionnaire.mdb"
adoConnection.Open ConnectionString
adoRecordSet.Open "Français", adoConnection


Do Until adoRecordSet.EOF
CmbModule.AddItem adoRecordSet!Module
adoRecordSet.MoveNext
Loop


adoRecordSet.Close
adoConnection.Close
Set adoRecordSet = Nothing
Set adoConnection = Nothing
End Sub

Et le message d'erreur qui s'affiche est le suivant :
"Le moteur de base de données Microsoft Jet ne peut pas trouver la table ou la requête source 'Questionnaire'. Assurez-vous qu'elle existe et qu'elle est correctement orthographiée."

En suite, je fais OK, le programme se lanche et là:
"Erreur d'exécution '94'
Utilisation non autorisée de Null

Le débugage me surligne en jaune:
CmbModule.AddItem adoRecordSet!Module

pour le second problème, je pense que celà est du au premier problème...

En vous remerciant d'avance
0
Rejoignez-nous