1 message in org.openoffice.fr.prog[prog] interpréter le contenu d'une v...
FromSent OnAttachments
chaliapineNov 3, 2007 12:04 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[prog] interpréter le contenu d'une variable comme étant du codeActions...
From:chaliapine (chal@free.fr)
Date:Nov 3, 2007 12:04:43 pm
List:org.openoffice.fr.prog

Bonjour la liste !

Je dispose d’une feuille de données avec par exemple les champs suivants : NOM /PRENOM /COMMUNE /GROUPE /REGION Je crée une boîte de dialogue (BDD) pour effectuer une recherche et afficher dans une autre feuille la liste restreinte des enregistrements qui vérifient les critères de recherche (exemple : tous les enregistrement avec REGION= ‘LORRAINE’ ET GROUPE=’ABG’).

Dans cette BDD j’ai pour chaque champ interrogé (par exemple COMMUNE GROUPE REGION) un checkBox et un déroulant. Si le checkBox est coché, on affiche le déroulant dans lequel on trouve les valeurs possibles pour ce champ. On peut bien sûr avoir 1 ou plusieurs checkBox cochés. Si plusieurs sont cochés je veux un AND entre chaque critère : If (donneeX=critère1) AND (donneeY=critere2) AND (donneeZ=critere3) then

Après validation, une boucle parcourt tous les enregistrements de la feuille de données. Si l’enregistrement courant vérifie la condition, on recopie ses données dans la feuille de destination. Tout ça ne me pose pas de problème, sauf le texte de la condition. Voilà où j’en suis :

- dans le MAIN qui gère l’affichage de la BDD: ‘dlg représente la boîte de dialogue if dlg.execute = 1 then if dlg.getControl("CheckBox1").state then critere1=dlg.getControl("ListBox1").selectedItem

if dlg.getControl("CheckBox2").state then critere2=dlg.getControl("ListBox2").selectedItem

if dlg.getControl("CheckBox3").state then critere3=dlg.getControl("ListBox3").selectedItem

monclasseur.currentController.activeSheet=lafeuille remplisListe(critere1,critere2,critere3) end if

- dans la procédure qui affiche la liste (remplisListe) Concrétement il faudrait qqchose dans ce genre, un peu comme qd on construit une requête SQL : (en gros il me manque l’instruction BASIC qui lui ferait interpréter le contenu de la variable texteCondition comme étant du code)

texteCondition=’colonneX<>’’ ’ // en fait une condition qui sera tj vraie, pas un problème ça IF critere1<>’’ THEN TexteCondition=TexteCondition & « AND colonne COMMUNE =critere1 » IF critere2<>’’ THEN TexteCondition=TexteCondition & « AND colonne GROUPE=critere2 » IF critere3<>’’ THEN TexteCondition=TexteCondition & « AND colonne REGION=critere3 »

// la boucle while lafeuille_src.getCellRangeByName("A"&ligne_src).getString<>"" // tant qu’il y a qqchose dans la première cellule if (texteCondition) then ‘on affiche les données dans la feuille de destination end if ligne_src = ligne_src + 1 wend

C’est peut-être très simple, mais je sèche. J’espère que ma problématique est claire. Pas sûr ;-( En tout cas merci d’avoir lu jusqu’au bout.

------------- Pascal PIERRE