Comment faire une jointure entre deux tables

Signaler
Messages postés
101
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
11 avril 2008
-
Messages postés
11
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
17 janvier 2010
-
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

Messages postés
439
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
1
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 !! :) @+
Messages postés
101
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
11 avril 2008

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.
Messages postés
439
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
1
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 :)
Messages postés
11
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
17 janvier 2010

comment lancer une reqette de jointure entre deux table de base de données dans un code php?