Equivalent de LIKE en VBA

Le
grainedinfo Hors ligne
Bonjour,

Je dois faire un formulaire de recherche multicritères. Pour ce faire, j'utilise le code :
--
Dim inType As Integer

If Me.lstRechercheType > 0 Then
inType = "IDEvenementType = "& Me.lstRechercheType.Value & " "
End If
--
Le lstRechercheType est une zone de liste déroulante qui possède une valeur numérique (NumAuto), et le IDEvenementType est un champ qui se trouve sur mon sous formulaire qui contient les données

. Est-ce que je dois déclarer la variable en Integer ? Je ne sais pas quoi faire. Quelqu'un peut m'aider, s'il vous plait ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
pascal58
Le #24446391
On 2 mai, 11:24, grainedinfo wrote:
Bonjour,

Je dois faire un formulaire de recherche multicritères. Pour ce faire, j'utilise
le code :
------------------------------------------------------------------------- --­--------------------
Dim inType As Integer

If Me.lstRechercheType > 0 Then
    inType = "IDEvenementType = "& Me.lstRechercheType.Value & " "
End If
------------------------------------------------------------------------- --­--------------------
Le lstRechercheType est une zone de liste déroulante qui possède une valeur
numérique (NumAuto), et le IDEvenementType est un champ qui  se trouv e sur mon
sous formulaire qui contient les données

. Est-ce que je dois déclarer la variable en Integer ? Je ne sais pas q uoi
faire. Quelqu'un peut m'aider, s'il vous plait ?



Bonjour,

Houlà, tout un programme !
C'est le cas de le dire :-O
amha, vous êtes mal barré car vous mélangez un peu de tout.
Si vous voulez repérer un élément dans une liste déroulante, vous
devez la parcourir et tester chaque ligne. Mais une liste déroulante,
c'est pas fait pour cela !
Si votre liste est basée sur une table ou une requête, faites la
recherche dans cette table/requête !

Cdt,
Pascal
grainedinfo Hors ligne
Le #24446571
Le mercredi 02 Mai 2012 à 11:24 par grainedinfo :
Bonjour,

Je dois faire un formulaire de recherche multicritères. Pour ce faire,
j'utilise le code :
-----------------------------------------------------------------------------------------------
Dim inType As Integer

If Me.lstRechercheType > 0 Then
inType = "IDEvenementType = "& Me.lstRechercheType.Value
& " "
End If
-----------------------------------------------------------------------------------------------
Le lstRechercheType est une zone de liste déroulante qui possède
une valeur numérique (NumAuto), et le IDEvenementType est un champ qui
se trouve sur mon sous formulaire qui contient les données

. Est-ce que je dois déclarer la variable en Integer ? Je ne sais pas
quoi faire. Quelqu'un peut m'aider, s'il vous plait ?


D'accord. Merci pour la réponse.

Mais y a vraiment pas moyen de le faire de façon pour afficher un / ou plusieurs enregistrements dans un sous formulaire choisis par des listes déroulantes ?
Gloops
Le #24447571
grainedinfo a écrit, le 02/05/2012 11:24 :
Bonjour,

Je dois faire un formulaire de recherche multicritères. Pour ce faire , j'utilise
le code :
----------------------------------------------------------------------- ------------------------
Dim inType As Integer

If Me.lstRechercheType> 0 Then
inType = "IDEvenementType = "& Me.lstRechercheType.Value& ""
End If
----------------------------------------------------------------------- ------------------------
Le lstRechercheType est une zone de liste déroulante qui possède un e valeur
numérique (NumAuto), et le IDEvenementType est un champ qui se trouv e sur mon
sous formulaire qui contient les données

. Est-ce que je dois déclarer la variable en Integer ? Je ne sais pas quoi
faire. Quelqu'un peut m'aider, s'il vous plait ?



Bonjour,

Il conviendrait de définir au juste ce qu'on appelle un formulaire de
recherche multi-critères : veut-on un contrôle pour chacun des champs ?

Une liste, ou une liste déroulante, peut comporter plusieurs colonnes.
On en détermine le nombre dans la propriété ColumnCount (nbre colon nes,
dans la catégorie Format).

La colonne où est lue la sélection est désignée par le numéro d ans la
propriété BoundColumn (colonne liée, dans la catégorie Données) . Si
BoundColumn contient 0, la liste déroulante retournera la valeur de la
propriété ListIndex, c'est-à-dire le numéro de la ligne sélecti onnée. Si
BoundColumn contient plus que 0, alors c'est le numéro de la colonne où
se trouve la valeur retournée. Si il y a 2, ça veut dire qu'on lit la
valeur, retournée par la liste déroulante, dans la deuxième colonne .

Ce qui est affiché par la liste déroulante est le résultat de la re quête
fournie dans la propriété RowSource, en supposant que dans RowSourceT ype
(Origine source, dans la catégorie Données), on a "Table/Requête".

La liste déroulante peut être liée à un champ, qu'on indiquera da ns la
propriété ControlSource (Source Contrôle, dans la catégorie Donné es).
Cela étant dit, si il s'agit d'une liste de recherche, on ne mettra rie n
dans cette propriété. Attention il y aura un peu de code à écrire pour
lancer la recherche puis vider la sélection dans la liste déroulante.

Alors pour reprendre les choses dans l'ordre :
- nous prenons les données à afficher dans la liste déroulante, dan s une
table ou une requête, donc RowSourceType contient "Table/Requête"
- dans RowSource, il faut le nom de la table ou le code SQL de la requê te
- ceci nous indique le nombre de colonnes à afficher (à compter dans le
code SQL), à reporter dans ColumnCount

Pour ce qui est de la colonne à sélectionner (BoundColumn, ouvrons
d'abord une petite parenthèse sur ce qu'on veut afficher. Ce qui
s'affiche lorsqu'on ne déroule pas la liste, est le contenu de la
première colonne, sur la ligne sélectionnée. Il n'est pas obligatoi re
que ce contenu s'affiche dans la partie déroulée.

Il pourra être commode que la liste, non déroulée, affiche la clef si on
veut pouvoir la lire, suivie d'un double-point et de l'intitulé. Ceci
devra être placé dans une première colonne, à laquelle on pourra donner
un nom dans le code SQL, comme Intitule, par exemple.

Il reste aussi à déterminer la propriété ColumnWidths. Il s'agit d'une
chaîne de caractères qui contient les largeurs des différentes colo nnes,
séparées par des points-virgules.

J'ai parlé de la première colonne, qui contient ce que la liste
déroulante affichera, lorsqu'elle n'est pas déroulée. Il n'est pas
obligatoire que cette colonne s'affiche dans la partie déroulée, ai-j e
dit. Pour cela, il suffira de mettre une valeur faible dans la largeur
de colonne, donc, dans ColumnWidths, ce qui vient avant le premier
point-virgule (j'espère que je n'ai pas perdu tout le monde en route ?)
Par exemple, si ColumnWidths commence par "0,001cm;" la première colonn e
n'apparaît pas dans la partie déroulée, mais elle est prise en comp te
pour l'affichage non déroulé. Attention, pas 0, sinon la liste
déroulante agit comme si cette colonne n'existait pas.

Ensuite, il faudra régler les différentes largeurs de colonnes, par
tâtonnement. Si une colonne ne peut pas faire apparaître tout ce qu'e lle
contient parce qu'elle n'est pas assez large, bien compter sa position
dans la requête, revenir en mode création, et modifier la largeur à la
bonne position dans ColumnWidths.

J'attends de savoir que la liste déroulante a bien été mise en plac e,
qu'elle affiche ce qu'il faut, et après on s'occupe de lancer une
recherche avec.

A propos ça sera peut-être plus facile avec des exemples sous la main ,
pour ça il y a les sites des anciens :
http://officesystemaccess.seneque.net/
http://3stone.be/access/index.php


--- Posted via news://freenews.netfront.net/ - Complaints to ---
Publicité
Poster une réponse
Anonyme