Filtre sous requete

Résolu
varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016 - 25 août 2006 à 11:37
varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016 - 25 août 2006 à 15:06
   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

tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
25 août 2006 à 14:55
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
3
tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
25 août 2006 à 13:24
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
0
varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016
25 août 2006 à 14:19
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

   
0
tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
25 août 2006 à 14:28
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016
25 août 2006 à 14:50
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
0
varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016
25 août 2006 à 15:06
Merci infiniment de ton aide ...

yann
0
Rejoignez-nous