akhiro
Messages postés15Date d'inscriptionlundi 11 février 2002StatutMembreDernière intervention22 juin 2002
-
12 févr. 2002 à 19:22
Makabey
Messages postés152Date d'inscriptionmercredi 27 juin 2001StatutMembreDernière intervention11 juillet 2002
-
12 févr. 2002 à 21:55
1ere question : Quelqu'un peut il me dire comment faire pour lier sous vb 2 tables afin d'afficher plusieurs occurences d'un même champs (ici plusieurs propositions(d'une table) concernant une question(contenu dans une autre table))
dans différents labels ? il me manque une liasison sous vb entre ces 2 tables on dirait puisque lorsque je passe d'une question à une autre je continue d'afficher la 1ere proposisiton de la 1ere question !!!
Faut il utiliser le bookmark(et comment si oui ?)
2ème question : je veux pouvoir tirer de ma base 20 questions aléatoire selon un critère de choix qui est ici le niveau (1,2 ou 3).
Comment codifier ça sous vb ??
Un exemple codifié m'aiderait grandement.
Merci d'avance pour votre aide.
akhiro
Didiboy
Messages postés22Date d'inscriptionvendredi 13 octobre 2000StatutMembreDernière intervention26 octobre 2002 12 févr. 2002 à 21:47
-------------------------------
Réponse au message :
-------------------------------
1ere question : Quelqu'un peut il me dire comment faire pour lier sous vb 2 tables afin d'afficher plusieurs occurences d'un même champs (ici plusieurs propositions(d'une table) concernant une question(contenu dans une autre table))
dans différents labels ? il me manque une liasison sous vb entre ces 2 tables on dirait puisque lorsque je passe d'une question à une autre je continue d'afficher la 1ere proposisiton de la 1ere question !!!
Faut il utiliser le bookmark(et comment si oui ?)
2ème question : je veux pouvoir tirer de ma base 20 questions aléatoire selon un critère de choix qui est ici le niveau (1,2 ou 3).
Comment codifier ça sous vb ??
Un exemple codifié m'aiderait grandement.
Merci d'avance pour votre aide.
akhiro
PS : je peut donner plus de détails si besoin.
----------------------------
pour lier 2 tables, utilise l'indexation
ds une table tu met un champ ID avec des numeros
correspodnnats à l'élément en face faisant parti d'u nautre champ de la meme table
-ds une aure table tu recuperes l'ID de lelement ke l'utilisateur a choisi
Makabey
Messages postés152Date d'inscriptionmercredi 27 juin 2001StatutMembreDernière intervention11 juillet 20021 12 févr. 2002 à 21:55
Pour ta première question, je vais te répondre par une piste (autrement dit, je ne suis pas sûr que la synthaxe est bonne et le code complet ne saurait être développé sans ton fichier et projet source. J'ai utilisé Biblio.mdb, qui vient avec VB6... et Office97 je crois, pour l'exemple):
Si tu utilise le contrôle Data (selon ce que tu as écris, oui), je vais y aller à l'aveuglette pcq je ne l'utilise pas (je préfère le tout codé en DAO):
1. Pour la propriété du Label qui affiche ta question, met là au champs désiré (ton Data connais le fichier et la table, du moins j'y arrive dans le GUI)
2. Pour l'événement Change de Label1 tu met:
Dim rs As Recordset
Set rs = Data1.Database.OpenRecordset("SELECT Au_ID FROM Authors WHERE Author='" & Label1.Caption & "';", dbOpenSnapshot)
Label2 = rs.Fields("Au_ID").Value
(naturellement tu remplace le requête par la tienne...) et voilà, ça devrait aller, en terme de piste du moins.
***
Pour ta seconde question, une autre piste:
Dim rs As Recordset
Dim x As Integer
Dim y As Integer
Set rs = Data1.Database.OpenRecordset("SELECT * FROM Publishers WHERE Address <> '';")
rs.MoveLast
rs.MoveFirst
x = rs.RecordCount
Label1 = Str$(x)
If (x > 20) Then
'Ici je saute l'écriture de tout code permettant 20 nombres
'aléatoire ET différents...
y = Int(x * Rnd + 1)
rs.AbsolutePosition = y
List1.AddItem rs.Fields("Name").Value
'Recommencer 19 autres fois sans doublons...
End If
Il manque un peu de code, mais ça devrait aller pour commencer...