william the new
Messages postés27Date d'inscriptionmercredi 25 février 2004StatutMembreDernière intervention24 juillet 2007
-
22 janv. 2005 à 13:26
madbob
Messages postés285Date d'inscriptiondimanche 14 décembre 2003StatutMembreDernière intervention13 mars 2012
-
23 janv. 2005 à 15:02
Voila
je voudrais charger une combo box avec les données qui se trouve ds une table access
Dim rst_genre As ADODB.Recordset
Dim cnx As ADODB.Connection
Dim dsn_nom As String
Set cnx = New ADODB.Connection
dsn_nom = "base_divx"
With cnx
.ConnectionString = dsn_nom
.Open dsn_nom
End With
Set rst_genre = New ADODB.Recordset
rst_genre.Open "SELECT libelle FROM GENRE ", cnx
While Not (rst_genre.EOF)
Cmb_genre.AddItem rst_genre.Fields(0).Value
rst_genre.MoveNext
Wend
rst_genre.MoveFirst
et la il me dit que eof ou bof = vrai .
l'opération necessite l'enregistrement actuel
erreur 3021
si qqn à une idée d'ou pourrait provenir l'erreur ça m'aiderai
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20224 22 janv. 2005 à 16:35
Salut,
S'il te met ce message d'erreur il est possible que tu n'ais pas d'enregistrement dans ton recordset.
Moi c'est ce rst_genre.Fields(0).Value qui m'interpelle
madbob
Messages postés285Date d'inscriptiondimanche 14 décembre 2003StatutMembreDernière intervention13 mars 2012 22 janv. 2005 à 17:40
C'est une bonne piste valtrase
Je viens de faire un sample sans move first et j'ai pas eu l'erreur que
j'attendais. Et comme j'ai pris la mauvaise habitude de lui laisser le
moins de choix possible...
Ta table n'est peut être pas chargée comme tu le crois... Oubli d'une validation de trasaction par exemple
madbob
Vous n’avez pas trouvé la réponse que vous recherchez ?
madbob
Messages postés285Date d'inscriptiondimanche 14 décembre 2003StatutMembreDernière intervention13 mars 2012 22 janv. 2005 à 18:02
Je croyais que le no row found (SQL 100 sous Oracle) ramène un code
retour 3061 que je viens de reproduire avec une clause where pipo...
alors j'ai quand même des doutes
Alors j'ai modifier mon sample créer une connection ODBC et lancé ton
code avec une clause where pipo et même erreur la requête ne ramene pas
d'enregistrement,
Forcement le EOF permet de ne pas rentrer dans la boucle comme tu
demande au curseur de se positionner sur le premier enregistrement et
qu'il y en a pas...
parcontre je suis surpris de pas intercepter le code 3061... pas d'enregistrement
madbob
Messages postés285Date d'inscriptiondimanche 14 décembre 2003StatutMembreDernière intervention13 mars 2012 23 janv. 2005 à 14:44
Tu as 2 problemes
1) Ta table est vide ça c'est sûr!
fait ça :
Set rst_genre = New ADODB.Recordse
rst_genre.Open "SELECT count( libelle) FROM GENRE ", cnx
msgbox
rst_genre.Fields.Item(0).Value
'pour t'en assurer si = 0 alors pas d'enregistrement
rst_genre.Close
rst_genre.Open "SELECT libelle FROM GENRE ", cnx
msgbox rst_genre.MaxRecords 'pour t'en assurer si = 0 alors pas d'enregistrement
2) Concernant la syntaxe ... j'ai repris texto la tienne est j'avais une belle erreur 424 avec l'ajout dans la combo un objet est requis... Alors j'ai un peu cherché. et j'ai pu vérifier que rst_genre.Fields.Item(0).Value fonctionne pour ajouter directement dans la combo.