il y a probablement dans le résultat de la requête sous-jacente un
problème
de guillemet ( " ) ou d'apostrophe ( ' )
"James" a écrit dans le message de
news:8aa301c4785d$a4990580$
Bonjour,
Je suis déjà intervenu hier mais après l'aide de Eric et
quelques modifications mon filtre ne fonctionne tjrs pas.
J'ai mis en place du code VB pour me permettre de faire
fonctionner un filtre dynamique VB.
Je ne comprend pas j'ai un message d'erreur à l'ouverture
qui me dit:
"Dans l'instruction SELECT, un mot réservé ou un argument
est mal orthographié ou absent, ou la ponctuation est
incorrecte."
Voici mon code:
Option Compare Database
Private Sub chkOutillageEb_Click()
If Me.chkOutillageEb Then
Me.cmbOutillageEb.Visible = False
Else
Me.cmbOutillageEb.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkOutillageFi_Click()
If Me.chkOutillageFi Then
Me.cmbOutillageFi.Visible = False
Else
Me.cmbOutillageFi.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkLotFi_Click()
If Me.chkLotFi Then
Me.cmbLotFi.Visible = False
Else
Me.cmbLotFi.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkLotEb_Click()
If Me.chkLotEb Then
Me.cmbLotEb.Visible = False
Else
Me.cmbLotEb.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkLibelleOutillage_Click()
If Me.chkLibelleOutillage Then
Me.txtLibelleOutillage.Visible = False
Else
Me.txtLibelleOutillage.Visible = True
End If
RefreshQuery
End Sub
Private Sub cmbOutillageFi_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbLotFi_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbOutillageEb_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbLotEb_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtLibelleOutillage_BeforeUpdate(Cancel As
Integer)
RefreshQuery
End Sub
Private Sub Form_Load()
Dim ctl As Control
For Each ctl In Me.Controls
Select Case Left(ctl.Name, 3)
Case "chk"
ctl.Value = -1
Case "txt"
ctl.Visible = False
ctl.Value = ""
Case "cmb"
ctl.Visible = False
End Select
Next ctl
Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence Fourreau],
[Référence Tête de S], [Référence Pinces to], [Référence
Plaque V], [Référence Poinçon], [Référence refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
End Sub
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V], [Référence
Poinçon], [Référence refroidisseur],[Référence Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM [Filtre
accessoires] Where Finisseur.[Code article]<>0"
If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
il y a probablement dans le résultat de la requête sous-jacente un
problème
de guillemet ( " ) ou d'apostrophe ( ' )
"James" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:8aa301c4785d$a4990580$a301280a@phx.gbl...
Bonjour,
Je suis déjà intervenu hier mais après l'aide de Eric et
quelques modifications mon filtre ne fonctionne tjrs pas.
J'ai mis en place du code VB pour me permettre de faire
fonctionner un filtre dynamique VB.
Je ne comprend pas j'ai un message d'erreur à l'ouverture
qui me dit:
"Dans l'instruction SELECT, un mot réservé ou un argument
est mal orthographié ou absent, ou la ponctuation est
incorrecte."
Voici mon code:
Option Compare Database
Private Sub chkOutillageEb_Click()
If Me.chkOutillageEb Then
Me.cmbOutillageEb.Visible = False
Else
Me.cmbOutillageEb.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkOutillageFi_Click()
If Me.chkOutillageFi Then
Me.cmbOutillageFi.Visible = False
Else
Me.cmbOutillageFi.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkLotFi_Click()
If Me.chkLotFi Then
Me.cmbLotFi.Visible = False
Else
Me.cmbLotFi.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkLotEb_Click()
If Me.chkLotEb Then
Me.cmbLotEb.Visible = False
Else
Me.cmbLotEb.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkLibelleOutillage_Click()
If Me.chkLibelleOutillage Then
Me.txtLibelleOutillage.Visible = False
Else
Me.txtLibelleOutillage.Visible = True
End If
RefreshQuery
End Sub
Private Sub cmbOutillageFi_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbLotFi_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbOutillageEb_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbLotEb_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtLibelleOutillage_BeforeUpdate(Cancel As
Integer)
RefreshQuery
End Sub
Private Sub Form_Load()
Dim ctl As Control
For Each ctl In Me.Controls
Select Case Left(ctl.Name, 3)
Case "chk"
ctl.Value = -1
Case "txt"
ctl.Visible = False
ctl.Value = ""
Case "cmb"
ctl.Visible = False
End Select
Next ctl
Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence Fourreau],
[Référence Tête de S], [Référence Pinces to], [Référence
Plaque V], [Référence Poinçon], [Référence refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
End Sub
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V], [Référence
Poinçon], [Référence refroidisseur],[Référence Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM [Filtre
accessoires] Where Finisseur.[Code article]<>0"
If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
il y a probablement dans le résultat de la requête sous-jacente un
problème
de guillemet ( " ) ou d'apostrophe ( ' )
"James" a écrit dans le message de
news:8aa301c4785d$a4990580$
Bonjour,
Je suis déjà intervenu hier mais après l'aide de Eric et
quelques modifications mon filtre ne fonctionne tjrs pas.
J'ai mis en place du code VB pour me permettre de faire
fonctionner un filtre dynamique VB.
Je ne comprend pas j'ai un message d'erreur à l'ouverture
qui me dit:
"Dans l'instruction SELECT, un mot réservé ou un argument
est mal orthographié ou absent, ou la ponctuation est
incorrecte."
Voici mon code:
Option Compare Database
Private Sub chkOutillageEb_Click()
If Me.chkOutillageEb Then
Me.cmbOutillageEb.Visible = False
Else
Me.cmbOutillageEb.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkOutillageFi_Click()
If Me.chkOutillageFi Then
Me.cmbOutillageFi.Visible = False
Else
Me.cmbOutillageFi.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkLotFi_Click()
If Me.chkLotFi Then
Me.cmbLotFi.Visible = False
Else
Me.cmbLotFi.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkLotEb_Click()
If Me.chkLotEb Then
Me.cmbLotEb.Visible = False
Else
Me.cmbLotEb.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkLibelleOutillage_Click()
If Me.chkLibelleOutillage Then
Me.txtLibelleOutillage.Visible = False
Else
Me.txtLibelleOutillage.Visible = True
End If
RefreshQuery
End Sub
Private Sub cmbOutillageFi_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbLotFi_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbOutillageEb_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbLotEb_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtLibelleOutillage_BeforeUpdate(Cancel As
Integer)
RefreshQuery
End Sub
Private Sub Form_Load()
Dim ctl As Control
For Each ctl In Me.Controls
Select Case Left(ctl.Name, 3)
Case "chk"
ctl.Value = -1
Case "txt"
ctl.Visible = False
ctl.Value = ""
Case "cmb"
ctl.Visible = False
End Select
Next ctl
Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence Fourreau],
[Référence Tête de S], [Référence Pinces to], [Référence
Plaque V], [Référence Poinçon], [Référence refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
End Sub
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V], [Référence
Poinçon], [Référence refroidisseur],[Référence Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM [Filtre
accessoires] Where Finisseur.[Code article]<>0"
If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence Fourreau],
[Référence Tête de S], [Référence Pinces to], [Référence
Plaque V], [Référence Poinçon], [Référence refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V], [Référence
Poinçon], [Référence refroidisseur],[Référence Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM [Filtre
accessoires] Where Finisseur.[Code article]<>0"
If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
A quoi te sert la variable SQLWhere ?
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
A+
Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence Fourreau],
[Référence Tête de S], [Référence Pinces to], [Référence
Plaque V], [Référence Poinçon], [Référence refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V], [Référence
Poinçon], [Référence refroidisseur],[Référence Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM [Filtre
accessoires] Where Finisseur.[Code article]<>0"
If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
A quoi te sert la variable SQLWhere ?
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
A+
Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence Fourreau],
[Référence Tête de S], [Référence Pinces to], [Référence
Plaque V], [Référence Poinçon], [Référence refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V], [Référence
Poinçon], [Référence refroidisseur],[Référence Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM [Filtre
accessoires] Where Finisseur.[Code article]<>0"
If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
A quoi te sert la variable SQLWhere ?
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
A+
-----Message d'origine-----
Re James,
Tu aurais du rester dans le même fil sinon il est
difficile de suivre.
Dans ton SQL, hier, tu prenais tous les champs dans une
même table et là
tu les prends sur 3 tables !!!Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence
Fourreau],
[Référence Tête de S], [Référence Pinces to],
[Référence
Plaque V], [Référence Poinçon], [Référence
refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.
[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
Dans ce SQL tu appelles la table Finisseur,la table
Ebaucheur et la table
[Filtre Accessoires]
Si les infos proviennent de 2 tables ou plus, il faut
mettre dans ton SQL
les jointures entre les tables.
Pour tester le SQL, copies le dans la fenetre SQL du
concepteur de
requête et exécutes le, tu verras vite s'il retourne qq
chose ou s'il y a
des erreurs de syntaxe ou de nom de champs.
Le plus simple pour toi serait de créer la rowsource de
ta liste avec le
concepteur de requête. Pour cela, tu appelles les
propriétés de la liste,
Onglet Données, Ligne Contenu et tu cliques sur les 3.
(...) en bout pour
générer la requête puis tu sauves. Le Select apparaitra
sur cette ligne
Même problème de table pour la procédure RefreshQuery.
Il se trouve qu'au départ c'est le même sql que celui du
dessus à
l'exeception de la condition Where, donc construis-le
sur le même modèle.
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V],
[Référence
Poinçon], [Référence refroidisseur],[Référence
Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM
[Filtre
accessoires] Where Finisseur.[Code article]<>0"
Ici, le champ [Code Article],[SOM FI], [SOM Eb]
sont considérés
alphanumeriques. Si c'est le cas, alors c'est OK
mais faut
t'assurer que tes cmb retournent bien du Texte,
si non alors il faut
supprimer les '. (Faire attention qu'une des
valeurs des cmb ne
contient d'apostrophes car dans ce cas il faut
doubler les
guillemets au lieu de l'apostrophe.)If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
A quoi te sert la variable SQLWhere ?
car tu ne la reutilises pasSQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais
je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
A+
Eric
.
-----Message d'origine-----
Re James,
Tu aurais du rester dans le même fil sinon il est
difficile de suivre.
Dans ton SQL, hier, tu prenais tous les champs dans une
même table et là
tu les prends sur 3 tables !!!
Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence
Fourreau],
[Référence Tête de S], [Référence Pinces to],
[Référence
Plaque V], [Référence Poinçon], [Référence
refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.
[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
Dans ce SQL tu appelles la table Finisseur,la table
Ebaucheur et la table
[Filtre Accessoires]
Si les infos proviennent de 2 tables ou plus, il faut
mettre dans ton SQL
les jointures entre les tables.
Pour tester le SQL, copies le dans la fenetre SQL du
concepteur de
requête et exécutes le, tu verras vite s'il retourne qq
chose ou s'il y a
des erreurs de syntaxe ou de nom de champs.
Le plus simple pour toi serait de créer la rowsource de
ta liste avec le
concepteur de requête. Pour cela, tu appelles les
propriétés de la liste,
Onglet Données, Ligne Contenu et tu cliques sur les 3.
(...) en bout pour
générer la requête puis tu sauves. Le Select apparaitra
sur cette ligne
Même problème de table pour la procédure RefreshQuery.
Il se trouve qu'au départ c'est le même sql que celui du
dessus à
l'exeception de la condition Where, donc construis-le
sur le même modèle.
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V],
[Référence
Poinçon], [Référence refroidisseur],[Référence
Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM
[Filtre
accessoires] Where Finisseur.[Code article]<>0"
Ici, le champ [Code Article],[SOM FI], [SOM Eb]
sont considérés
alphanumeriques. Si c'est le cas, alors c'est OK
mais faut
t'assurer que tes cmb retournent bien du Texte,
si non alors il faut
supprimer les '. (Faire attention qu'une des
valeurs des cmb ne
contient d'apostrophes car dans ce cas il faut
doubler les
guillemets au lieu de l'apostrophe.)
If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
A quoi te sert la variable SQLWhere ?
car tu ne la reutilises pas
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais
je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
A+
Eric
.
-----Message d'origine-----
Re James,
Tu aurais du rester dans le même fil sinon il est
difficile de suivre.
Dans ton SQL, hier, tu prenais tous les champs dans une
même table et là
tu les prends sur 3 tables !!!Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence
Fourreau],
[Référence Tête de S], [Référence Pinces to],
[Référence
Plaque V], [Référence Poinçon], [Référence
refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.
[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
Dans ce SQL tu appelles la table Finisseur,la table
Ebaucheur et la table
[Filtre Accessoires]
Si les infos proviennent de 2 tables ou plus, il faut
mettre dans ton SQL
les jointures entre les tables.
Pour tester le SQL, copies le dans la fenetre SQL du
concepteur de
requête et exécutes le, tu verras vite s'il retourne qq
chose ou s'il y a
des erreurs de syntaxe ou de nom de champs.
Le plus simple pour toi serait de créer la rowsource de
ta liste avec le
concepteur de requête. Pour cela, tu appelles les
propriétés de la liste,
Onglet Données, Ligne Contenu et tu cliques sur les 3.
(...) en bout pour
générer la requête puis tu sauves. Le Select apparaitra
sur cette ligne
Même problème de table pour la procédure RefreshQuery.
Il se trouve qu'au départ c'est le même sql que celui du
dessus à
l'exeception de la condition Where, donc construis-le
sur le même modèle.
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V],
[Référence
Poinçon], [Référence refroidisseur],[Référence
Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM
[Filtre
accessoires] Where Finisseur.[Code article]<>0"
Ici, le champ [Code Article],[SOM FI], [SOM Eb]
sont considérés
alphanumeriques. Si c'est le cas, alors c'est OK
mais faut
t'assurer que tes cmb retournent bien du Texte,
si non alors il faut
supprimer les '. (Faire attention qu'une des
valeurs des cmb ne
contient d'apostrophes car dans ce cas il faut
doubler les
guillemets au lieu de l'apostrophe.)If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
A quoi te sert la variable SQLWhere ?
car tu ne la reutilises pasSQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais
je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
A+
Eric
.
-----Message d'origine-----
Re James,
Tu aurais du rester dans le même fil sinon il est
difficile de suivre.
Dans ton SQL, hier, tu prenais tous les champs dans une
même table et là
tu les prends sur 3 tables !!!Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence
Fourreau],
[Référence Tête de S], [Référence Pinces to],
[Référence
Plaque V], [Référence Poinçon], [Référence
refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.
[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
Dans ce SQL tu appelles la table Finisseur,la table
Ebaucheur et la table
[Filtre Accessoires]
Si les infos proviennent de 2 tables ou plus, il faut
mettre dans ton SQL
les jointures entre les tables.
Pour tester le SQL, copies le dans la fenetre SQL du
concepteur de
requête et exécutes le, tu verras vite s'il retourne qq
chose ou s'il y a
des erreurs de syntaxe ou de nom de champs.
Le plus simple pour toi serait de créer la rowsource de
ta liste avec le
concepteur de requête. Pour cela, tu appelles les
propriétés de la liste,
Onglet Données, Ligne Contenu et tu cliques sur les 3.
(...) en bout pour
générer la requête puis tu sauves. Le Select apparaitra
sur cette ligne
Même problème de table pour la procédure RefreshQuery.
Il se trouve qu'au départ c'est le même sql que celui du
dessus à
l'exeception de la condition Where, donc construis-le
sur le même modèle.
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V],
[Référence
Poinçon], [Référence refroidisseur],[Référence
Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM
[Filtre
accessoires] Where Finisseur.[Code article]<>0"
Ici, le champ [Code Article],[SOM FI], [SOM Eb]
sont considérés
alphanumeriques. Si c'est le cas, alors c'est OK
mais faut
t'assurer que tes cmb retournent bien du Texte,
si non alors il faut
supprimer les '. (Faire attention qu'une des
valeurs des cmb ne
contient d'apostrophes car dans ce cas il faut
doubler les
guillemets au lieu de l'apostrophe.)If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
A quoi te sert la variable SQLWhere ?
car tu ne la reutilises pasSQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais
je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
A+
Eric
.
-----Message d'origine-----
Re James,
Tu aurais du rester dans le même fil sinon il est
difficile de suivre.
Dans ton SQL, hier, tu prenais tous les champs dans une
même table et là
tu les prends sur 3 tables !!!
Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence
Fourreau],
[Référence Tête de S], [Référence Pinces to],
[Référence
Plaque V], [Référence Poinçon], [Référence
refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.
[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
Dans ce SQL tu appelles la table Finisseur,la table
Ebaucheur et la table
[Filtre Accessoires]
Si les infos proviennent de 2 tables ou plus, il faut
mettre dans ton SQL
les jointures entre les tables.
Pour tester le SQL, copies le dans la fenetre SQL du
concepteur de
requête et exécutes le, tu verras vite s'il retourne qq
chose ou s'il y a
des erreurs de syntaxe ou de nom de champs.
Le plus simple pour toi serait de créer la rowsource de
ta liste avec le
concepteur de requête. Pour cela, tu appelles les
propriétés de la liste,
Onglet Données, Ligne Contenu et tu cliques sur les 3.
(...) en bout pour
générer la requête puis tu sauves. Le Select apparaitra
sur cette ligne
Même problème de table pour la procédure RefreshQuery.
Il se trouve qu'au départ c'est le même sql que celui du
dessus à
l'exeception de la condition Where, donc construis-le
sur le même modèle.
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V],
[Référence
Poinçon], [Référence refroidisseur],[Référence
Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM
[Filtre
accessoires] Where Finisseur.[Code article]<>0"
Ici, le champ [Code Article],[SOM FI], [SOM Eb]
sont considérés
alphanumeriques. Si c'est le cas, alors c'est OK
mais faut
t'assurer que tes cmb retournent bien du Texte,
si non alors il faut
supprimer les '. (Faire attention qu'une des
valeurs des cmb ne
contient d'apostrophes car dans ce cas il faut
doubler les
guillemets au lieu de l'apostrophe.)
If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
A quoi te sert la variable SQLWhere ?
car tu ne la reutilises pas
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais
je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
A+
Eric
.
-----Message d'origine-----
Re James,
Tu aurais du rester dans le même fil sinon il est
difficile de suivre.
Dans ton SQL, hier, tu prenais tous les champs dans une
même table et là
tu les prends sur 3 tables !!!Me.lstResults.RowSource = "SELECT Finisseur.[Code
article],[Libellé art],[Référence MdB],[Référence
coiffante],[Référence Adapt poinçon],[Référence
Fourreau],
[Référence Tête de S], [Référence Pinces to],
[Référence
Plaque V], [Référence Poinçon], [Référence
refroidisseur],
[Référence Entonnoir],[SOM Fi], [SOM Eb], Ebaucheur.
[Code
Article] FROM [Filtre accessoires];"
Me.lstResults.Requery
Dans ce SQL tu appelles la table Finisseur,la table
Ebaucheur et la table
[Filtre Accessoires]
Si les infos proviennent de 2 tables ou plus, il faut
mettre dans ton SQL
les jointures entre les tables.
Pour tester le SQL, copies le dans la fenetre SQL du
concepteur de
requête et exécutes le, tu verras vite s'il retourne qq
chose ou s'il y a
des erreurs de syntaxe ou de nom de champs.
Le plus simple pour toi serait de créer la rowsource de
ta liste avec le
concepteur de requête. Pour cela, tu appelles les
propriétés de la liste,
Onglet Données, Ligne Contenu et tu cliques sur les 3.
(...) en bout pour
générer la requête puis tu sauves. Le Select apparaitra
sur cette ligne
Même problème de table pour la procédure RefreshQuery.
Il se trouve qu'au départ c'est le même sql que celui du
dessus à
l'exeception de la condition Where, donc construis-le
sur le même modèle.
SQL = "SELECT Finisseur.[Code article],[Libellé art],
[Référence MdB],[Référence coiffante],[Référence Adapt
poinçon],[Référence Fourreau],[Référence Tête de S],
[Référence Pinces to], [Référence Plaque V],
[Référence
Poinçon], [Référence refroidisseur],[Référence
Entonnoir],
[SOM Fi], [SOM Eb], Ebaucheur.[Code article] FROM
[Filtre
accessoires] Where Finisseur.[Code article]<>0"
Ici, le champ [Code Article],[SOM FI], [SOM Eb]
sont considérés
alphanumeriques. Si c'est le cas, alors c'est OK
mais faut
t'assurer que tes cmb retournent bien du Texte,
si non alors il faut
supprimer les '. (Faire attention qu'une des
valeurs des cmb ne
contient d'apostrophes car dans ce cas il faut
doubler les
guillemets au lieu de l'apostrophe.)If Not Me.chkOutillageFi Then
SQL = SQL & " And Finisseur.[Code article]='" &
Me.cmbOutillageFi & "'"
End If
If Not Me.chkLotFi Then
SQL = SQL & " And [SOM Fi]= '" & Me.cmbLotFi & "'"
End If
If Not Me.chkOutillageEb Then
SQL = SQL & " And Ebaucheur.[Code article]= '" &
Me.cmbOutillageEb & "'"
End If
If Not Me.chkLotEb Then
SQL = SQL & " And [SOM Eb]= '" & Me.cmbLotEb & "'"
End If
If Not Me.chkLibelleOutillage Then
SQL = SQL & " And [Libellé art]like '*" &
Me.txtLibelleOutillage & "'"
End If
A quoi te sert la variable SQLWhere ?
car tu ne la reutilises pasSQLWhere = Trim(Right(SQL, Len(SQL) - InStr
(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Je pense que l'erreur viens du sub RefreshQuery mais
je
n'arrive pas à la trouver.
En + y a une histoire avec le type des données :
numérique ou alphanumérique.
A+
Eric
.