#1 Wed 24 January 2007 12:02
- djabri.ahmed
- Participant occasionnel
- Lieu: Staoueli
- Date d'inscription: 21 Jun 2006
- Messages: 32
recherche multicritère
Monsieurs,
Je cherche un modèle de programme MapBasic (*.mb) pour la recherche multicritère dans ma base de donnée d'une table.
La recherche que je demande une boite de dialogue contenu les champs des données de la table. Code, commune, date, …
J'attends votre reponse avec impatrience et merci
[EDIT Maurice] J'ai enlevé les "Quote" et autres "gras" de votre message...qui n'ajoutent rien à la question!
...que j'essaie de reformuler: vous recherchez un modèle de code permettant de lister les champs d'une table
C'est bien ça ???
Dernière modification par Maurice (Wed 24 January 2007 13:43)
Ahmed DJABRI-Alger
Hors ligne
#2 Wed 24 January 2007 13:58
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: recherche multicritère
Bonjour,
Sur la base de la reformulation de votre question (si je ne me suis pas trompé ) je vous propose:
- de définir une variable "array" par Dim nomchamp() As String
- de choisir une table ouverte ma_table (par la méthode de votre choix), puis
Code:
reDim nomchamp(TableInfo(ma_table,4)) For k=1 To TableInfo(ma_table,4) nomchamp(k)=ColumnInfo(ma_table,"COL"+k,1) Next
et de permettre le choix d'un champ par un dialogue, genre:
Code:
Control PopupMenu position 5 , 76 width 128 height 50 title from variable nomchamp calling ma_procedure id 2
ps: ce choix déclenche ici une sous-procédure (un Sub) : ma_procedure. C'est facultatif et on peut se contenter du nom de champ choisi (qui sera validé dès qu'on clique sur le OK d'un OKbutton) pour une procédure ultérieure.
Hors ligne
#3 Mon 05 February 2007 13:11
- djabri.ahmed
- Participant occasionnel
- Lieu: Staoueli
- Date d'inscription: 21 Jun 2006
- Messages: 32
Re: recherche multicritère
Bonjour,
Mr Maurice merci pour votre réponse.
La question que je vous demande est une recherche de façon a ce que lorsque je saisi le nom ou le code de la commune désirée sur ma boite de dialogue, MapInfo me donne les autres informations d'une façon automatique.
J'ai crée une boite de dialogue, pour la recherche multicritère des informations sur ma base de données (communes.tab).
Forme de ma boite de dialogue:
Code de la commune:
Nom de la commune:
Nom de la wilaya:
Date 1:
Date 2:
Je vous demande le code de MapBasic sur le CALING de cinq cases de la boite de dialogue.
Merci à tous
Ahmed DJABRI-Alger
Hors ligne
#4 Mon 05 February 2007 15:57
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: recherche multicritère
Bonjour,
Je vous laisse essayer (sur la base de l'exemple déjà fourni) en définissant 2 variables array code_com() et nom_com() que vous 'remplissez' respectivement avec les valeurs - que je suppose uniques - des colonnes CODE_COMM et NOM_COMM.
Dans le dialog, utilisez pour ces deux contrôles des PopupMenu avec Title From Variable... et un Calling à des sous procédures qui modifient le contenu de l'autre contrôle du dialogue par Alter Control X Value Y, X étant le numéro du contrôle à modifier (celui où on n'a pas fait le choix) et Y la valeur que prend par exemple nom_com correspondant au code_com choisi.
Si j'ai le temps je fabrique un exemple ... et je vous le passerai si vous "calez"...
Hors ligne