|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Bonjour,
Je fais suite à mon problème de filtre dans la discussion Filtrer formulaire avec case à cocher dont j'ai mis en annexe une partie de ma base. Je suis occupé à essayer de récupérer les données filtrer de mon sous-formulaire dans un état mais je bloque sur un point. Lorsque j'ouvre mon état, il m'ouvre tous les enregistrements et pas ceux que j'ai pointé dans la requête de mon état : Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#2 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
![]() Tu peux t'inspirer de l'impression du filtre dans le tuto sur la recherche multicritères Bonne continuation
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
|
|
#3 | ||||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Je sèche vraiment, j'ai tous essayé j'y suis occupé depuis avant hier non-stop et je ne trouve pas la solution. Je viens encore d'essayer le code suivant sans succès :
Code :
Je viens d'essayer le code suivant en pointant sur le numauto du sous formulaire mais il ne m'indique que le 1er numauto : Code :
|
||||
|
|
00
|
|
|
#4 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
![]() Ci-joint un exemple d'ouverture d'un état basé sur le filtre du sous formulaire. A toi de jouer maintenant et d'adapter à ton cas particulier
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
|
|
#5 | ||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Merci à toi
1/ Mais il y a un bug : lorsque je click sélectionnes TOUS dans la liste il me met : Erreur d'exécution '3075': Erreur de syntaxe et il me surligne en jaune ce que j'ai coloré en rouge. Code :
Code :
(tbl_openamounts.[Contract status code])<>'A024' And (tbl_openamounts.[Contract status code])<>'A099' |
||
|
|
00
|
|
|
#6 | ||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Merci à toi
1/ Mais il y a un bug : lorsque je click sélectionnes TOUS dans la liste il me met : Erreur d'exécution '3075': Erreur de syntaxe et il me surligne en jaune ce que j'ai coloré en rouge. Code :
Code :
(tbl_openamounts.[Contract status code])<>'A024' And (tbl_openamounts.[Contract status code])<>'A099' |
||
|
|
00
|
|
|
#7 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
![]() Je te prie de m'excuser, tu as presque mis le doigt dessus. Il manque un espace entre le -1 et le dernier guillemet. J'en ai profité pour compléter l'état avec les options choisies et la modification de la clause WHERE
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
|
|
#8 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Merci infiniment mais il y a encore un problème
Mon état reprend tous les clients en fait et je voudrais avoir les enregistrements du client en rapport avec le formulaire ouvert suivant le champ CustomerID. J'ai bien essayé de faire une requête dans l'état en pointant sur le champ du formulaire mais cela ne marche pas. |
|
|
00
|
|
|
#9 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
![]() Je viens de regarder. En fait, il te faut ajouter le [Customer ID] dans la variable p_strSqlWhere. Par contre je n'ai pas compris pourquoi le [Customer ID] est alpha ![]() Voir ci_dessous
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
|
|
#10 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Merci Jeannot45 de ton aide, cela a l'air de fonctionner
|
|
|
00
|
|
|
#11 | ||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Rebonjour, j'ai parlé trop vite.
1) Lorsque mon formulaire ne contient aucune données, j'obtiens ce message : Erreur d'exécution '2455': La référence d'une expression à la propriété Form/Report n'est pas valide. Il me surligne la ligne suivante dans Sub CreerFiltre() : Code :
Me.frm_openamountscustomer.Form.RecordSource = p_constStrSqlSelect & p_strSqlWhere & p_constStrSqlOrder Pour cela, j'ai utilisé le code suivant : Code :
|
||
|
|
00
|
|
|
#12 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
En fait, mon seul problème c'est l'ouverture d'un mail sans qu'il soit directement envoyé avec le résultat de mon sous-formulaire.
Pour ce qui est de l'erreur 2455, j'ai solutionné le problème. |
|
|
00
|
|
|
#13 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
![]() As-tu essayé avec la syntaxe qui te sert de source pour ton état ? Comment as-tu corrigé ton erreur 2455 ?
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
|
|
#14 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Pour ce qui concerne l'erreur, je m'aperçois qu'elle n'a lieu qu'en mode création. Les utilisateurs ne voient donc pas ce message d'erreur.
Pour ce qui est de la source de mon état, parles-tu de celle-ci : Code :
Me.RecordSource = p_constStrSqlSelect & p_strSqlWhere & p_constStrSqlOrder Merci |
|
|
00
|
|
|
#15 | ||
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
![]() Cela reste une proposition : Code VBA :
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
||
|
|
00
|
|
|
#16 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Merci Jeannot45 mais je suis confronté à 2 problèmes encore :
1) il faudrait que l'email ne soit pas envoyé directement afin que l'utilisateur puisse faire des modifications dans le texte. 2) il faudrait que 2 champs du sous-formulaire n'apparaissent pas dans le mail à savoir "Contract status code" et "Filtrage" |
|
|
00
|
|
|
#17 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
![]() Pour éviter l'apparition de deux champs du sous formulaire, il te suffit de créer une variable p_constStrSqlSelect (avec un autre nom) qui ne reprend pas les deux champs concernés. Pour éviter l'envoi du mail : peut-être supprimer les lignes 56 et 57 (Comment et instruction)
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
|
|
#18 | ||||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Pour l'envoi du mail la suppression des lignes 56 et 57 faisaient qu'il ne se passaient rien lorsque je clickais sur le bouton de commande.
Par contre, j'ai un peu adapté le code et je suis parvenu à ouvrir le mail sans avoir tenu compte des champs à ne pas reprendre dans le mail. Par contre je sèche sur la non reprise de certains champs dans mon mail. J'ai suivi ce que tu m'a dit en faisant ce qui suit mais je ne vois pas où j'ai pu me tromper. Lorsque je click sur le bouton pour ouvrir le mail, il ne me l'ouvre plus et me met comme erreur : Erreur d'exécution '3141': Dans l'instruction SELECT, un mot réservé ou un argument est mal orthographié ou absent, ou la ponctuation est incorrecte. J'ai tout d'abord dans le module DeclarationGenerale inséré ce qui est en gras : Code :
Code :
|
||||
|
|
00
|
|
|
#19 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
![]() L'erreur se trouve à la fin de la ligne 14, il y a une virgule en trop après le champ : [Invoice gross balance (signed)] Code SQL :
& "[Invoice number], [Invoice invoicing date], [Invoice gross balance (signed)], " _ Bonne journée
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
|
|
#20 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Un tout GRAND Merci à toi Jeannot45 de m'avoir tant aidé pour toute cette création autour des filtres.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com