|
Iniciado por glemerrer, 30,mar. 2006 20:59 - 4 respuestas |
| |
| | | |
|
| |
Publicado el 30,marzo 2006 - 20:59 |
Bonjour
Dans le cadre de la construction d'un filtre dynamique multi-critère, je construis au fur et à mesure une chaîne SQL de filtre et souhaite ensuite l'appliquer à une requête déjà pré-enregistrée (qui comprend les différentes jointures...) mais cela ne semble pas marcher alors que cette même méthode de construction fonctionne sur une requête select directement sur un fichier...Est-ce que l'on peut faire des requêtes imbriquées sous WD10 (ce qui est possible sous ACCESS...) mon exemple (peut être plus parlant...) :
SQL_complet= "SELECT * FROM REQ_SelectionFiltre WHERE " + SQL_filtre
Req_filtre_str est une Source de Données HExécuteRequêteSQL(Req_filtre_str,hRequêteDéfaut,SQL_complet) FichierVersTableMémoire(TABLE_choix,Req_filtre_str)
où REQ_SelectionFiltre est ma requête enregistrée grâce à l'éditeur de requête et SQL-filtre le filtre construit de façon dynamiqe
merci de votre aide (comme vous le voyez peut être...je suis débutant en WD !) |
| |
| |
| | | |
|
| | |
| |
Publicado el 03,abril 2006 - 09:38 |
Bonjour,
Préalablement au code cité, avez-vous exécuté la première requête avec un : HExecuteRequete(REQ_SelectionFiltre,hRequeteDéfaut)
car il ne suffit pas qu'elle soit décrite sous l'éditeur de requête, il faut aussi qu'elle soit exécutée...
Bon courage.
"guen" <glemerrer@cdf-raa.coop> a écrit dans le message de news:442d5826$1@news.pcsoft.fr...
Bonjour
Dans le cadre de la construction d'un filtre dynamique multi-critère, je
construis au fur et à mesure une chaîne SQL de filtre et souhaite ensuite l'appliquer à une requête déjà pré-enregistrée (qui comprend les différentes jointures...) mais cela ne semble pas marcher alors que cette même méthode de construction fonctionne sur une requête select directement sur un fichier...Est-ce que l'on peut faire des requêtes imbriquées sous WD10 (ce qui est possible sous ACCESS...)
mon exemple (peut être plus parlant...) :
SQL_complet= "SELECT * FROM REQ_SelectionFiltre WHERE " + SQL_filtre
Req_filtre_str est une Source de Données HExécuteRequêteSQL(Req_filtre_str,hRequêteDéfaut,SQL_complet) FichierVersTableMémoire(TABLE_choix,Req_filtre_str)
où REQ_SelectionFiltre est ma requête enregistrée grâce à l'éditeur de requête et SQL-filtre le filtre construit de façon dynamiqe
merci de votre aide (comme vous le voyez peut être...je suis débutant en
WD !)
|
| |
| |
| | | |
|
| | |
| |
Publicado el 03,abril 2006 - 18:10 |
Bonjour,
Voici un code pour une recherche multi-critères qui fonctionne correctement :
SrcReq est une Source de Données sCodeSQL est une chaine
// [< Code de la requête >] sCodeSQL = [ SELECT [IDContact], [Nom], [Adresse], [CodePostal], [Ville], [NomContact], [Activité] FROM Contacts WHERE [TypeEnreg] = '%1' AND [Nom] LIKE '%2%' AND [Adresse] LIKE '%%%3%%' AND [CodePostal] LIKE '%4%%' AND [Ville] LIKE '%%%5%%' AND [Activité] LIKE '%%%6%%' AND [NomContact] LIKE '%%%7%%' ORDER BY [Nom] ASC ]
// [< Construire requêtes >] SELON SEL_Enregistrement CAS 1 : sEnrg = "1" CAS 2 : sEnrg = "2" FIN
sCodeSQL = ChaîneConstruit(sCodeSQL, sEnrg, SAI_RNom, SAI_RAdresse, SAI_RCpostal, SAI_RVille, SAI_RActivité, SAI_RContact)
SI PAS HExécuteRequêteSQL(SrcReq, sCodeSQL) ALORS Ouvre(MsgBox, " Requête", ">>> Erreur d’initialisation de la requête"+RC+HErreurInfo(), 1) RETOUR FIN
TABLE_Cherche..FichierParcouru = "" SAI_NbEnreg = HNbEnr(SrcReq)
SI SAI_NbEnreg > 0 ALORS TABLE_Cherche..FichierParcouru = "SrcReq" TableAffiche(TABLE_Cherche) EcranPremier(MoiMême) SINON Ouvre(MsgBox, " Recherche", ">>> Aucun enregistrement pour cette sélection ...", 1, 1, 280, 225) HAnnuleDéclaration(SrcReq) ExécuteTraitement(BTN_AnnulCritere,trtClic) FIN
Les critères de recherche étant saisis dans des champs de saisie qui retourne NULL si vide
En espérant avoir pu vous aider
Cordialement
Albert |
| |
| |
| | | |
|
| | |
| |
Publicado el 04,abril 2006 - 07:56 |
Merci pour cet exemple de code de recherche multicritère...je vais essayer mais la difficulté repose aussi sur la possibilité de transmettre des critères de tri multiples à travers des listes de valeurs à choix multiple. J'ai pour finir réussi à faire quelques chose mais je trouve que c'est lourd....(plus qu'avec de l'ACCESS !) Je vais essayer avec votre méthode. Merci |
| |
| |
| | | |
|
| | |
| |
Publicado el 04,abril 2006 - 13:34 |
Bonjour,
Vous avez également la possibilité de rechercher dans une liste
// [< Code requête >] sCodeSQL = [ SELECT [Montant] FROM Situation WHERE [Exercice] = '%1' AND [IDCompte] IN ('X01','X02','X03','X04','X05','X06','X07','X08','X09','X10','X11','X12','X13','X14','X15','X16','X17','X18','X19','X20' ) ]
// [< Construire requête >] sCodeSQL = ChaîneConstruit(sCodeSQL, sExerc)
Cordialement
Albert |
| |
| |
| | | |
|
| | | | |
| | |
|