Bonjour,
J'essaie de créer un code vba qui, a partir d'une requete sql, m'afficherait le resultat dans une listebox.
je m'explique :
Dans un formulaire, j'ai :
- un texte_box
- un bouton de commande "envoyer"
- une liste_box
Dans le texte_box, j'insere un numero de colis. J'appuie ensuite sur le bouton "envoyer" et là je devrais voir apparaitre le resulat de ma requete sql dans la liste box.. mais rien ne s'affiche..
Je précise que je suis novice en language sql. J'ai donc crée ma requete en mode création puis je l'aie affiché en sql.
Dans cette requete sql , le numero de colis est une variable VNumerocolis ;
Deplus, je ne sais pas trop faire la difference entre WHERE ET HAVING.
Merci de votre aide
Voici le code sql :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 Option Compare Database Dim VNumerocolis As Variant Dim txt_ChaineSQL As String Dim strSQLSELECT As String Dim strSQLWHERE As String Dim strSQLGROUPBY As String Dim strSQLORDERBY As String Dim strSQLHAVING As String Private Sub Cmd_envoyer_Click() VNumerocolis = CVar(Texte_Numerocolis.Value) With Me.Listerecirculation .RowSourceType = "Table/Requête" .ColumnCount = 5 ' nombre de colonne que dois avoir le formulaire intitulé "Listerecirculation" .BoundColumn = 1 ' la colonne de reference strSQLSELECT = "SELECT T_codecolisQUALITE.numcolis, dbo_vwParts.DisplayName, [table_Affich-general].[Nom Porte principale], [table_Affich-general].DESTINATION, dbo_vwItemData.DischargeEventTime" & _ " FROM T_codecolisQUALITE INNER JOIN ((dbo_vwItemData INNER JOIN dbo_vwParts ON dbo_vwItemData.DischargePartID = dbo_vwParts.ID) INNER JOIN [table_Affich-general] ON dbo_vwParts.DisplayName = [table_Affich-general].[Chute (format access)]) ON T_codecolisQUALITE.ItemID = dbo_vwItemData.ItemID" strSQLGROUPBY = "GROUP BY T_codecolisQUALITE.numcolis, dbo_vwParts.DisplayName, [table_Affich-general].[Nom Porte principale], [table_Affich-general].DESTINATION" strSQLHAVING = "HAVING T_codecolisQUALITE.numcolis=" & VNumerocolis & " AND ((dbo_vwItemData.DischargeEventTime)>=(CVDate(Fix(Now()-(5/24)))+5/24)));" 'MsgBox VNumerocolis 'MsgBox strSQLHAVING txt_ChaineSQL = strSQLSELECT & vbCrLf & _ strSQLWHERE & vbCrLf & _ strSQLGROUPBY & vbCrLf & _ strSQLHAVING 'MsgBox txt_ChaineSQL .RowSource = txt_ChaineSQL .Requery End With End Sub
Partager