|
| Iniciado por ehbilodeau, 19,nov. 2018 20:22 - 2 respuestas |
| |
| | | |
|
| |
| Publicado el 19,noviembre 2018 - 20:22 |
Bonjour,
J'ai besoin d'aide pour un problème que je n'arrive pas à régler ! J'ai un tableau remplie par une requête. Dans la fenêtre j'ai ajouté un bouton qui sauvegarde dans un fichier TXT les Filtres appliqué au tableau via la loupe.
sNomFiltre est une chaîne sListeFiltre est une chaîne = TableColonnesFiltrées(TABLE_Table1) POUR TOUTE chaîne sFiltre de sListeFiltre SEPAREE PAR RC sCol est chaîne = ExtraitChaîne(sFiltre, 1, ";") nType est entier = ExtraitChaîne(sFiltre, 2, ";") sVal est chaîne = ExtraitChaîne(sFiltre, 3, ";") FIN sNomFiltre = Combo_Filtres..ValeurAffichée SI Combo_Filtres <> "" ALORS fSauveTexte("C:\Synergie\temp\"+sNomFiltre+".txt",sListeFiltre) ListeSupprimeTout(Combo_Filtres) ResListeFichier sont des chaînes ResListeFichier = fListeFichier("C:\Synergie\Temp"+"\*.*", frInterruptible) POUR TOUTE chaîne UnFichier de ResListeFichier SEPAREE PAR RC ListeAjoute(Combo_Filtres, fExtraitChemin(UnFichier,fFichier+fExtension)) FIN SINON Erreur("Pour sauvegarder le filtres il faut entrer un nom dans le champ Filtres !") FIN
Par la suite j'ai un combo qui permet de sélectionner un filtre sauvegarder pour l'appliquer sur le tableau
nNumFichier est un entier sLigneLue est une chaîne
nNumFichier = fOuvre ("C:\Temp\"+Combo_Filtres..ValeurAffichée, foLecture) SI nNumFichier <> -1 ALORS sLigneLue = fLitLigne(nNumFichier) TANTQUE sLigneLue <> EOT sColonne est une chaîne = "Table_Table1."+ ExtraitChaîne(sLigneLue, 1, ";") nType est un numérique = ExtraitChaîne(sLigneLue, 2, ";") sValeur est une chaîne = ExtraitChaîne(sLigneLue, 3, ";") TableActiveFiltre(sColonne,nType,sValeur) sLigneLue = fLitLigne(nNumFichier) FIN fFerme(nNumFichier) FIN
Mon problème est que lorsqu'un utilisateur choisi de filtrer une colonne Date avec le filtre "Compris entre deux bornes". J'obtiens alors l'erreur suivante :
Erreur à la ligne 15 du traitement Sélection d'une ligne de Combo_Filtres. Vous avez appelé la fonction tableactiveFiltre. La valeur de la constante (32082) est invalide avec cette fonction.
Comment puis-je résoudre mon problème ? (mon code peut ne pas être optimisé ! je suis nouveau à la programmation)
Merci,
Etienne HB |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.323 mensajes |
|
| Publicado el 20,noviembre 2018 - 10:13 |
Bonjour,
Rassurez-vous, votre code est correct. Mais … si vous regardez les valeurs standards renvoyées par la fonction TableColonnesFiltrées() et acceptées par la fonction TableActiveFiltre(), vous ne trouverez pas le filtre "Compris entre deux bornes". cf. : https://doc.pcsoft.fr/fr-FR/index.awp?1000020517 https://doc.pcsoft.fr/fr-FR/index.awp?1000017149
Je vous suggère donc : 1. De soumettre votre problème au support technique pour qu'il fasse évoluer ces fonctions dans une prochaine version. 2. Vous testiez cette valeur dans votre code et que vous appliquiez vous-même ce filtre par programmation.
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | |
| |
| Publicado el 20,noviembre 2018 - 14:40 |
Bonjour Jean-Pierre,
Je vais suivre votre conseil pour la première suggestion ! Pour la seconde, si je comprends bien, je vais devoir remplir mon tableau a nouveau avec ma requête, mais en spécifiant les filtres ?
Merci,
Etienne |
| |
| |
| | | |
|
| | | | |
| | |
|