Comment faire une jointure entre deux tables

laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008 - 4 juin 2002 à 16:37
khoubaibma Messages postés 11 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 17 janvier 2010 - 8 avril 2008 à 12:05
je dévoloppe un prog qui sauvegarde une table access ds un fichier texte. Dans un souci de perfectionnement, je souhaite inscrire dans le fichier le titre de la chanson et non pas sa référence qui est dans la table. J'ai mit un contrôle data pour chaque type de chanson (mp3, karaoke, midi). Ainsi qu'un contrôle data pour les commandes et j'affiche les commandes dans des textbox. Voilà, voici mon code :

Option Explicit
Private Sub Command_Click()
Dim i As Integer
Dim nom As String
Dim t() As String
Dim FileName As String
Dim num As Integer

FileName = "Sauvegarde des commandes du " & Format(Date, "dddd d mmm yyyy")
t = Split("numéro.nom.village.type.date.ref1.ref2.ref3.ref4.ref5.ref6.ref7.ref8.ref9.ref10", ".")

Open App.Path & "" + FileName + ".txt" For Append As #1
Do Until Data.Recordset.EOF
For i = 0 To 4
nom = t(i) & " : " & txtbd(i).Text
Print #1, "" + nom + ""
Next i
For i = 5 To 14
num = Val(txtbd(i).Text)
If (num <> 0) Then
If (txtbd(3).Text = "MP3") Then Datamp3.RecordSource "SELECT titre FROM mp3 WHERE ref '+ num +';"
Datamp3.Refresh
nom = t(i) & " : " & lblmp3.Caption
End If
If (txtbd(3).Text = "KARAOKE") Then Datakaraoke.RecordSource "SELECT titre FROM karaoke WHERE ref '+ num +';"
Datakaraoke.Refresh
nom = t(i) & " : " & lblkaraoke.Caption
End If
If (txtbd(3).Text = "PAROLE") Then Dataparole.RecordSource "SELECT titre FROM parole WHERE ref '+ num +';"
Dataparole.Refresh
nom = t(i) & " : " & lblparole.Caption
End If
If (txtbd(3).Text = "MIDI") Then Datamidi.RecordSource "SELECT titre FROM midi WHERE ref '+ num +';"
Datamidi.Refresh
nom = t(i) & " : " & lblmidi.Caption
End If
Print #1, "" + nom + ""
Else
nom = t(i) & " : " & txtbd(i).Text
Print #1, "" + nom + ""
End If
Next i
Print #1, ""
Data.Recordset.MoveNext
Loop
Close #1
MsgBox ("Un fichier (" & FileName & ".txt) a été créé à l'emplacement : " & App.Path)
End
End Sub

PS: Je débute en vb, c pour ça que mon code reléve du bricolage car je ne connait pas encore la POO (je suis qu'en première année). Si vous avez des question quant à mon explication, dite-le moi.

4 réponses

VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
4 juin 2002 à 20:55
Hello !!

La syntaxe d'une jointure :

SELECT table1.*, Table2.NomChanson
FROM table1
INNER JOIN Table2 ON
table1.refChanson = table2.refChanson

Petite remarque, on ne mentionne pas la table2 dans la clause FROM car elle est mentionne dans la clause INNER JOIN.

Jespere que ça peux t'aider !! :) @+
0
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
5 juin 2002 à 14:32
Merci. mais on place le code de cette requête où, a-t'on besoin de pls contrôle data ? De plus, les tables ne sont pas reliées entre elles sous access.
0
VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
5 juin 2002 à 18:15
dans access pour creer une nouvelle requette :
1-->Selectionner requettes dans le menu droite objet
2-->nouveau-->mode création
3-->
--------> a) tu ajoutes les tables avec l'assistant
--------> b) tu fais FERMER, bouton de droite
dans la zone superieur--> mode SQL
et la, tu tapes ta requette comme indique avant.

Access plutôt que des jointures aura tendance à faire des WHERE ceci cela AND WHERE ceci cela... !!

Ensuite tu appels ta requette comme si c'etait une table.
@ bientot :)
0
khoubaibma Messages postés 11 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 17 janvier 2010
8 avril 2008 à 12:05
comment lancer une reqette de jointure entre deux table de base de données dans un code php?
0
Rejoignez-nous