Bonjour Marc-L,

J'ai le même soucis que luksvibes dans cette discussion et j'ai du mal à le resoudre .

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, dans ma Liste_box, apparait les données issues de ma requete sql.
Voici le code vba :


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)
MsgBox VNumerocolis
 
With Me.Listealertecolis
.RowSourceType = "Table/Requête"
.ColumnCount = 5 ' 
.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, dbo_vwItemData.DischargeEventTime"
strSQLHAVING = "HAVING T_codecolisQUALITE.numcolis='" & VNumerocolis & "' AND (dbo_vwItemData.DischargeEventTime)>=(CVDate(Fix(Now()-(5/24)))+5/24);"
 
 
 
txt_ChaineSQL = strSQLSELECT & vbCrLf & _
                strSQLGROUPBY & vbCrLf & _
                strSQLHAVING
 
 
 
'Debug.Print txt_ChaineSQL
 
 
MsgBox txt_ChaineSQL
 
.RowSource = txt_ChaineSQL
.Requery
End With
 
End Sub
 
 
Private Sub Form_Load()
Listealertecolis.RowSource = "" 'a chaque fois que j'ouvrir le formulaire il se vide
End Sub
Mon problème est le suivant:
Actuellement, dans mon texte_box, je ne peux inserer qu 'un seul code colis ( code à 13 caractère) . Alors que je souhaiterais pouvoir y inserer au maximum 10 codes colis.
Et là je ne sais pas comment m'y prendre.

En résumé, Comment faire en sorteque la variable "Vumerocolis" puisse recherche
10 codes colis contenues dans le texte_box