Filtre sous requete [Résolu]

Signaler
Messages postés
225
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
29 septembre 2016
-
Messages postés
225
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
29 septembre 2016
-
   bonjour ..

je remplie une base access avec plusieur ligne contenant parfois une meme valeur ..
je m explique ..
un Numero de cde comprend plusieurs palette differentes ..

 je voudrai afficher dans un MSHFlexGrid1 le resultat d une requete ayant pour resulat toutes les lignes du meme code article  ( saisi par un msgbox par ex )

merci par avance de votre aide

Yann

6 réponses

Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
7
si ton numéro de commande contient des lettres, il s'agit d'un type TEXT
Hors les types TEXT doivent être encadrés par des cotes '

Donc il faut écrire dans ton cas (car j'avais supposé que ce n'était que des chiffres)sql "SELECT * FROM SortiesMcDo WHERE   [Numero de cde]    '" & Me.txt_filtre & "';"
TBBUIM
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
7
Si tu as lié t'as MSH à un adodoc
Tu dois changer dynamiquement la commande de celle-ci par la rq suivantesql "SELECT * FROM Table WHERE NumCmd " & Me.MonChampNumCmd & ";"
Adodc.RecordSource = sql
Adodc.Refresh
Set MSH.DataSource = Adodc
MSH.Refresh
Sinon tu peux mettre ça dans un recordset et remplir t'as MSH
ligne par ligne, colonne par colonne en lisant le recordset...
TBBUIM
Messages postés
225
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
29 septembre 2016

deja ..merci pour ton aide

je rencontre quelque soucis :

voici le code en place:
Private Sub Command1_Click()sql "SELECT * FROM SortiesMcDo WHERE  Numero de cde   " & Me.txt_filtre & ""
Adodc1.RecordSource = sql
    Adodc1.Refresh
Set MSH.DataSource = Adodc1
MSH.Refresh


End Sub
1 er soucis :erreur de syntaxe( operateur absent)dans l expression'Numero de cde  =  123'
2 nd la methode refresh a echoué

merci de tes lumieres

   
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
7
C'est normal...
Tu ne peux pas écrire de nom de champ avec des espaces comme ça.
Tu dois mettre les noms qui contiennent des espaces entre crochets [...]
[Numero de cde] ensuite j'ai bien écris à la fin & ";" et pas "" mais bon, le ; n'est en principe pas obligatoire...

Pour finir, vu que ta requête est fausse, c normal qu'il ne puisse pas faire un refresh.
TBBUIM
Messages postés
225
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
29 septembre 2016

Private Sub Command1_Click()


sql "SELECT * FROM [SortiesMcDo] WHERE   [Numero de cde]    " & Me.txt_filtre & ";"
Adodc1.RecordSource = sql
Adodc1.Refresh
Set MSH.DataSource = Adodc1
MSH.Refresh

Type de donnee  incompatible dans l expression du critere
Messages postés
225
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
29 septembre 2016

Merci infiniment de ton aide ...

yann