Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

recherche multiple

4 réponses
Avatar
Baptiste
bonjour,

je souhaiterai faire un formulaires avec plusieurs champs (code /
designation / caracteritique / dimensions etc...) sou Access 2003

Jusque la rien de plus simple.

J'aimerai maintenant utiliser un textbox pour faire une recherche sur
l'ensemble des champs. exemple je tape "AR" dans le textbox et s'affiche tout
de suite l'ensemble des enregistrements qui contiennent "AR" dans n'importe
quel partie d'un champ (ex code AR18 ou aussi designation CamARgue)

Est ce possible?

Merci de votre aide

4 réponses

Avatar
3stone
Salut,

"Baptiste"
| je souhaiterai faire un formulaires avec plusieurs champs (code /
| designation / caracteritique / dimensions etc...) sou Access 2003
|
| Jusque la rien de plus simple.
|
| J'aimerai maintenant utiliser un textbox pour faire une recherche sur
| l'ensemble des champs. exemple je tape "AR" dans le textbox et s'affiche tout
| de suite l'ensemble des enregistrements qui contiennent "AR" dans n'importe
| quel partie d'un champ (ex code AR18 ou aussi designation CamARgue)
|
| Est ce possible?

Tout est possible, mais...

Le besoin de chercher "n'importe ou" est souvent l'indice d'une mauvaise
construction de la base.

Si j'ai de chercher "Dupont" dans la liste des clients, quel serait l'avantage
de chercher également cela dans le code postal ou son numéro Insee ?

Si tu en dit plus...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Baptiste
Bonjour,

Merci pour ta reponse.
Je vais preciser ma requete.

Pour simplifier le systeme je pourrais faire plusieur textbox de recherche
independant. Un pour le code, un pour la designation etc ...suivant le type
de recherche que j'effectue. Le probleme c'est que je dois faire autant de
textbox de recherche que j'ai de champs surlequels je peux effectuer une
recherche... je trouverai ca chouette de pouvoir utiliser uniquement un text
box pour tout type de recherche. Si c'est pas possible je multiplierai les
champs de recherche.

Second point, j'ai telecharge l'exemple de formulaire qui effectue une
recherche intuitive au fur et a mesure qu'on tape les lettres (ville de
belgique) le systeme est chouette mais la recherche ne fonctionne que sur les
premieres lettres du champ et non pas sur une partie des lettres du mot. en
tapant par exemple PAR, on va obtenir PARis mais pas montPARnasse. Est
possible de le faire?

Merci de ton aide precieuse !

Baptiste


"3stone" a écrit :

Salut,

"Baptiste"
| je souhaiterai faire un formulaires avec plusieurs champs (code /
| designation / caracteritique / dimensions etc...) sou Access 2003
|
| Jusque la rien de plus simple.
|
| J'aimerai maintenant utiliser un textbox pour faire une recherche sur
| l'ensemble des champs. exemple je tape "AR" dans le textbox et s'affiche tout
| de suite l'ensemble des enregistrements qui contiennent "AR" dans n'importe
| quel partie d'un champ (ex code AR18 ou aussi designation CamARgue)
|
| Est ce possible?

Tout est possible, mais...

Le besoin de chercher "n'importe ou" est souvent l'indice d'une mauvaise
construction de la base.

Si j'ai de chercher "Dupont" dans la liste des clients, quel serait l'avantage
de chercher également cela dans le code postal ou son numéro Insee ?

Si tu en dit plus...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Avatar
chpa
Bonjour,
Pour le premier point, voici un code qui devrais te satisfaire :
A mettre dans un bouton.
La valeure a rechercher est saisie dans l'objet Chx_Contenant

Private Sub Bt_RechercherEnreg_Click()
On Error GoTo Err_Bt_RechercherEnreg_Click

'On recherche
Dim db As DAO.Database
Set db = Application.CurrentDb
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
With rs
'Recherche pour le premier champs
.MoveFirst
.FindFirst "UCase([Nom]) like '*" & UCase(Me.Chx_Contenant.Value) & "*'"
If not .NoMatch Then
'si trouvé
Me.Bookmark = rs.Bookmark
'------------------------
bla bla bla
'------------------------
goto finrecherche
End If

'Recherche pour le second champ
.MoveFirst
.FindFirst "UCase([PreNom]) like '*" & UCase(Me.Chx_Contenant.Value) &
"*'"
If not .NoMatch Then
'si trouvé
Me.Bookmark = rs.Bookmark
'------------------------
bla bla bla
'------------------------
goto finrecherche
End If

'etc ........... Même recherche pour chaque champ concerné

End With

finrecherche:
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing

Exit_Bt_RechercherEnreg_Click:
Exit Sub

Err_Bt_RechercherEnreg_Click:
MsgBox err.Description
Resume Exit_Bt_RechercherEnreg_Click

End Sub



"Baptiste" a écrit dans le message de
news:
Bonjour,

Merci pour ta reponse.
Je vais preciser ma requete.

Pour simplifier le systeme je pourrais faire plusieur textbox de recherche
independant. Un pour le code, un pour la designation etc ...suivant le
type
de recherche que j'effectue. Le probleme c'est que je dois faire autant de
textbox de recherche que j'ai de champs surlequels je peux effectuer une
recherche... je trouverai ca chouette de pouvoir utiliser uniquement un
text
box pour tout type de recherche. Si c'est pas possible je multiplierai les
champs de recherche.

Second point, j'ai telecharge l'exemple de formulaire qui effectue une
recherche intuitive au fur et a mesure qu'on tape les lettres (ville de
belgique) le systeme est chouette mais la recherche ne fonctionne que sur
les
premieres lettres du champ et non pas sur une partie des lettres du mot.
en
tapant par exemple PAR, on va obtenir PARis mais pas montPARnasse. Est
possible de le faire?

Merci de ton aide precieuse !

Baptiste


"3stone" a écrit :

Salut,

"Baptiste"
| je souhaiterai faire un formulaires avec plusieurs champs (code /
| designation / caracteritique / dimensions etc...) sou Access 2003
|
| Jusque la rien de plus simple.
|
| J'aimerai maintenant utiliser un textbox pour faire une recherche sur
| l'ensemble des champs. exemple je tape "AR" dans le textbox et
s'affiche tout
| de suite l'ensemble des enregistrements qui contiennent "AR" dans
n'importe
| quel partie d'un champ (ex code AR18 ou aussi designation CamARgue)
|
| Est ce possible?

Tout est possible, mais...

Le besoin de chercher "n'importe ou" est souvent l'indice d'une mauvaise
construction de la base.

Si j'ai de chercher "Dupont" dans la liste des clients, quel serait
l'avantage
de chercher également cela dans le code postal ou son numéro Insee ?

Si tu en dit plus...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)






Avatar
3stone
Salut,

"Baptiste"
| Pour simplifier le systeme je pourrais faire plusieur textbox de recherche
| independant. Un pour le code, un pour la designation etc ...suivant le type
| de recherche que j'effectue. Le probleme c'est que je dois faire autant de
| textbox de recherche que j'ai de champs surlequels je peux effectuer une
| recherche... je trouverai ca chouette de pouvoir utiliser uniquement un text
| box pour tout type de recherche. Si c'est pas possible je multiplierai les
| champs de recherche.


Dans ce cas, il serait bien d'accoller une liste déroulante qui
contiendrait le nom de tous les champs sur lequel tu souhaites
faire ta recherche.
Une fois sélectionné le champ, tu contruis ta recherche selon
ce seul champ.


| Second point, j'ai telecharge l'exemple de formulaire qui effectue une
| recherche intuitive au fur et a mesure qu'on tape les lettres (ville de
| belgique) le systeme est chouette mais la recherche ne fonctionne que sur les
| premieres lettres du champ et non pas sur une partie des lettres du mot. en
| tapant par exemple PAR, on va obtenir PARis mais pas montPARnasse. Est
| possible de le faire?

Parce qu'il est bien plus performant de chercher "par*" qui si tu cherches "*par*"
mais rien ne l'empêche de le faire.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)