Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Parcourir 2 champs d'une BD (2) [ Archives Visual Basic / Bases de données ] (lacomm)

mercredi 17 novembre 2004 à 12:08:43 | Parcourir 2 champs d'une BD (2)

lacomm

Bonjour à tous,

J'ai déjà posé le problème il y a quelques semaines et grâce à alitalia, j'ai bien progressé, cependant, je suis encore coincé:
je voudrais que chaque élément du champ 1 soit associé à chaque élément du champ 2.
champ 1: champ 2:
homme grand
femme petit
enfant
Pour obtenir:
homme grand
homme petit
femme grand
etc.
J'ai deux problèmes avec le code qui suit:
- j'ai une erreur runtime 3021 de fin de fichier atteinte ou pas d'enregistrement
- tout le champ 1 est parcouru mais seulement les 3 premiers élément du champ 2

Voici le code:

Dim ccadre_ent As New ADODB.Connection
Dim rent11 As New ADODB.Recordset
Dim rent12 As New ADODB.Recordset

ccadre_ent.Provider = "Microsoft.Jet.OLEDB.4.0"
ccadre_ent.ConnectionString = "C:\cadre_ent.mdb"

Set rent11 = New ADODB.Recordset
Set rent12 = New ADODB.Recordset

ccadre_ent.Open
rent11.Open "SELECT DISTINCT num FROM ent1", ccadre_ent
rent12.Open "SELECT DISTINCT essai FROM ent1", ccadre_ent

If rent11.RecordCount <> 0 And rent12.RecordCount <> 0 Then
Do Until rent11.EOF
Do Until rent12.EOF
List1.AddItem rent11("num") & " " & IIf(IsNull(rent12("essai")), "", rent12("essai"))
If rent12.Fields(0).Value = "fof" Then
rent12.MoveFirst
rent11.MoveNext
End If

rent12.MoveNext

If rent11.Fields(0).Value = "fif" Then Exit Do
Loop

rent11.MoveNext
Loop
End If
Set rent12 = Nothing
Set rent11 = Nothing
Set ccadre_ent = Nothing

je précise que les fof et fif sont des valeurs pour indiquer la fin de fichier, je sais c'est pas très élégant mais j'essaie un peu tout.

Merci de votre aide

mercredi 17 novembre 2004 à 13:20:21 | Re : Parcourir 2 champs d'une BD (2)

samy56

salut lacomm

pourquoi ne pas créer 2 tables
1 avec (hommes, femmes, enfants..)
1 avec (grand , petit..)

puis tu fai ta requete

select * from table1, table2

et ensuite tu rempli ton listbox

samy56

mercredi 17 novembre 2004 à 23:38:21 | Re : Parcourir 2 champs d'une BD (2)

valtrase

Dim ccadre_ent As New ADODB.Connection
Dim rent11 As New ADODB.Recordset
Dim rent12 As New ADODB.Recordset

ccadre_ent.Provider = "Microsoft.Jet.OLEDB.4.0"
ccadre_ent.ConnectionString = "C:\cadre_ent.mdb"
Essayes ça

Set rent11 = New ADODB.Recordset
Set rent12 = New ADODB.Recordset

If rent11.RecordCount <> 0 And rent12.RecordCount <> 0 Then
Do While Not rent11.EOF
Do While Not rent12.EOF
List1.AddItem rent11("num") & " " & IIf(IsNull(rent12("essai")), "", rent12("essai"))
rent12.MoveNext
Loop
rent12.MoveFirst
rent11.MoveNext
Loop

End If
Set rent12 = Nothing
Set rent11 = Nothing
Set ccadre_ent = Nothing

______________________________________

Jean-Paul

Le Savoir n'a de valeur que s'il est partagé

mercredi 17 novembre 2004 à 23:41:13 | Re : Parcourir 2 champs d'une BD (2)

valtrase

Réponse acceptée !
oupsssssssss...........
Essayes ça


Dim ccadre_ent As New ADODB.Connection
Dim rent11 As New ADODB.Recordset
Dim rent12 As New ADODB.Recordset

ccadre_ent.Provider = "Microsoft.Jet.OLEDB.4.0"
ccadre_ent.ConnectionString = "C:\cadre_ent.mdb"

Set rent11 = New ADODB.Recordset
Set rent12 = New ADODB.Recordset

If rent11.RecordCount <> 0 And rent12.RecordCount <> 0 Then
Do While Not rent11.EOF
Do While Not rent12.EOF
List1.AddItem rent11("num") & " " & IIf(IsNull(rent12("essai")), "", rent12("essai"))
rent12.MoveNext
Loop
rent12.MoveFirst
rent11.MoveNext
Loop

End If
Set rent12 = Nothing
Set rent11 = Nothing
Set ccadre_ent = Nothing


_______________________________________

Jean-Paul

Le Savoir n'a de valeur que s'il est partagé

jeudi 18 novembre 2004 à 10:37:52 | Re : Parcourir 2 champs d'une BD (2)

lacomm

Merci à tous les deux:
samy56: c'est comme ça que j'avais commencé, mais ca me faisait un nombre incroyable de table à ouvrir
valtrase: GENIAL ! ton code marche, avec juste une petite réserve (c'est pas grave pour moi mais j'aimerais comprendre): c'est pas dans l'ordre.

homme cinq
homme deux
homme huit
homme un
homme quatre
homme sept
homme six
homme trois

..alors que le champ 2 est dans l'ordre.
Encore merci de votre aide

jeudi 18 novembre 2004 à 22:46:29 | Re : Parcourir 2 champs d'une BD (2)



pour que ton code soit dans l'ordre fait une requette SQL à l'ouverture de ta table
bonne prog.
_______________________________________

Jean-Paul

Le Savoir n'a de valeur que s'il est partagé



Cette discussion est classé dans : champ, ent, rent12, rent11, ccadre


Répondre à ce message

Sujets en rapport avec ce message

SQL - instruction LIKE [ par Cameleon ] j'ai une base de donnée qui comprend un champ mémo. Je voudrais faire une recherche a partir d'un seul mot sur le contenu de chaque celule de ce champ TextBox [ par flyman ] Dans un textbox je veux saisir la valeurd'un champ (par exemple: 15564205113). J'aimerai pouvoir attribuer un mask àmon textbox de façon que la saisie Etat: change de couleur suivant la valeur du champ [ par looping ] Dans un état sous VB, je voudrais pouvoir faire un test de valeur d'un champ de ma base de donnée et changer la couleur d'affichage en fonction de cel atteindre un champ d'un etat [ par jeje ] Je désire enregistrer dans des fichiers séparés certaines lignes d'une table avec une présentation correcte.le seul moyen que j'ai trouvé pour le mome MaskEdBox et connexion ADO [ par Sandro ] Bonjour,J'ai un problème bizzare.J'ai lié un MaskEdBox à une connexion ADO :Set MaskEdBox1.DataSource = adoPrimaryRSLe DataField est relié à un champ Besoin de Conseils, regardez dedans svp [ par Goustaf ] Voilà, je dois stocker des dates cochées sur un calendrier.Ce que je me propose de faire C de créer un champ texte de 366 caractères puis de prendre l Base de données 1 [ par MSI ] Je travaille sur une base de données ACCES en relation avec un programmetout simple qui va inscrire et lire des enregistrements, mais j'ai deuxproblèm ASP, SQL et champ DATE [ par idev ] En ASP avec une base Access, la requete suivante ne fonctionne pas. Erreur de syntaxe. Tout essayer mais je ne trouve pas la bonne syntaxe.SQL = "INSE imprimer la quantité d'étiquettes définies dans un champ [ par François ] Novice en VBA, j'ai créé sous accès2000 un état d'étiquettes que je doit accrocher à des caisses. Un champ calcule le nombre d'étiquettes par rapport remplacer un caractere avec une base de donnee [ par Brodeur ] Bonjour, je voudrais savoir coment remplacer plusieurs caracteres dans un texte en utilisant une base de donne a deux champ. Quand l'ordi trouve un ca


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.