Pour rechercher un mot (issu d'une textbox d'un formulaire) dans un champ
qui contient lui-même une liste de mots, j'utilise le critère suivant:
Comme "*" & [Forms]![F_RechercheRapide]![Recherche1] & "*"
Pour définir cette clause SQL à partir de VBA, j'utilise une variable
StrWhereSQL à laquelle j'ai affecté:
StrWhereSQL = "(T_BCD.MotsClés) like " & " * " &
"[Forms]![F_RechercheRapide]![Recherche1]" & " * ""
Tout cela ne fonctionne pas à cause de l'imbrication des guillemets , me
semble-t-il.....
En fait j'essaie d'obtenir, par VBA une clause SQL qui soit : (Affichage SQL
de la grille de requête)
WHERE (((T_BCD.MotsClés) Like "*" & [Forms]![F_RechercheRapide]![Recherche1]
& "*" Or (T_BCD.MotsClés) Like "*" &
[Forms]![F_RechercheRapide]![Recherche2] & "*" Or (T_BCD.MotsClés) Like "*"
& [Forms]![F_RechercheRapide]![Recherche3] & "*"))
==> en fait 3 critères de recherche reliées par ET/OU (au choix)
Malheureusement, ma connaissance de VBA n'est pas à la hauteur de mes
ambitions,
Je rame sur la syntaxe exacte er l'imbrication des guillemets ....
Merci pour votre aide.
PS Je suis pas certain d'avoir été vraiment clair, mais
pour une meilleure compréhension, je peux fournir formulaires er requête au
besoin.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Thierry
Bonjour,
Essayez ce qui suit :
Dim strSQL As String strSQL = "" & vbCrLf strSQL = strSQL & " WHERE (((T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche1] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche2] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche3] & ""*""))"
Je génère ce code automatiquement à partir d'un formulaire dans une base Access. Si cela vous intéresse, dites-le je vous la transmettrai. C'est très pratique et ça m'évite de me prendre la tête ...
Bonne journée.
"Phil_D" a écrit dans le message de groupe de discussion :
Salut, Je vais essayer d'être clair ....
Pour rechercher un mot (issu d'une textbox d'un formulaire) dans un champ qui contient lui-même une liste de mots, j'utilise le critère suivant: Comme "*" & [Forms]![F_RechercheRapide]![Recherche1] & "*"
Pour définir cette clause SQL à partir de VBA, j'utilise une variable StrWhereSQL à laquelle j'ai affecté: StrWhereSQL = "(T_BCD.MotsClés) like " & " * " & "[Forms]![F_RechercheRapide]![Recherche1]" & " * ""
Tout cela ne fonctionne pas à cause de l'imbrication des guillemets , me semble-t-il.....
En fait j'essaie d'obtenir, par VBA une clause SQL qui soit : (Affichage SQL de la grille de requête)
WHERE (((T_BCD.MotsClés) Like "*" & [Forms]![F_RechercheRapide]![Recherche1] & "*" Or (T_BCD.MotsClés) Like "*" & [Forms]![F_RechercheRapide]![Recherche2] & "*" Or (T_BCD.MotsClés) Like "*" & [Forms]![F_RechercheRapide]![Recherche3] & "*"))
==> en fait 3 critères de recherche reliées par ET/OU (au choix)
Malheureusement, ma connaissance de VBA n'est pas à la hauteur de mes ambitions,
Je rame sur la syntaxe exacte er l'imbrication des guillemets ....
Merci pour votre aide.
PS Je suis pas certain d'avoir été vraiment clair, mais
pour une meilleure compréhension, je peux fournir formulaires er requête au besoin.
Phil_D
XP // Access 2003
Bonjour,
Essayez ce qui suit :
Dim strSQL As String
strSQL = "" & vbCrLf
strSQL = strSQL & " WHERE (((T_BCD.MotsClés) Like ""*"" &
[Forms]![F_RechercheRapide]![Recherche1] & ""*"" " & vbCrLf
strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" &
[Forms]![F_RechercheRapide]![Recherche2] & ""*"" " & vbCrLf
strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" &
[Forms]![F_RechercheRapide]![Recherche3] & ""*""))"
Je génère ce code automatiquement à partir d'un formulaire dans une base
Access.
Si cela vous intéresse, dites-le je vous la transmettrai.
C'est très pratique et ça m'évite de me prendre la tête ...
Bonne journée.
"Phil_D" <vimohon@hotmail.com> a écrit dans le message de groupe de
discussion : ea3CIhbqJHA.3848@TK2MSFTNGP02.phx.gbl...
Salut,
Je vais essayer d'être clair ....
Pour rechercher un mot (issu d'une textbox d'un formulaire) dans un champ
qui contient lui-même une liste de mots, j'utilise le critère suivant:
Comme "*" & [Forms]![F_RechercheRapide]![Recherche1] & "*"
Pour définir cette clause SQL à partir de VBA, j'utilise une variable
StrWhereSQL à laquelle j'ai affecté:
StrWhereSQL = "(T_BCD.MotsClés) like " & " * " &
"[Forms]![F_RechercheRapide]![Recherche1]" & " * ""
Tout cela ne fonctionne pas à cause de l'imbrication des guillemets , me
semble-t-il.....
En fait j'essaie d'obtenir, par VBA une clause SQL qui soit : (Affichage
SQL de la grille de requête)
WHERE (((T_BCD.MotsClés) Like "*" &
[Forms]![F_RechercheRapide]![Recherche1] & "*" Or (T_BCD.MotsClés) Like
"*" & [Forms]![F_RechercheRapide]![Recherche2] & "*" Or (T_BCD.MotsClés)
Like "*" & [Forms]![F_RechercheRapide]![Recherche3] & "*"))
==> en fait 3 critères de recherche reliées par ET/OU (au choix)
Malheureusement, ma connaissance de VBA n'est pas à la hauteur de mes
ambitions,
Je rame sur la syntaxe exacte er l'imbrication des guillemets ....
Merci pour votre aide.
PS Je suis pas certain d'avoir été vraiment clair, mais
pour une meilleure compréhension, je peux fournir formulaires er requête
au besoin.
Dim strSQL As String strSQL = "" & vbCrLf strSQL = strSQL & " WHERE (((T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche1] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche2] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche3] & ""*""))"
Je génère ce code automatiquement à partir d'un formulaire dans une base Access. Si cela vous intéresse, dites-le je vous la transmettrai. C'est très pratique et ça m'évite de me prendre la tête ...
Bonne journée.
"Phil_D" a écrit dans le message de groupe de discussion :
Salut, Je vais essayer d'être clair ....
Pour rechercher un mot (issu d'une textbox d'un formulaire) dans un champ qui contient lui-même une liste de mots, j'utilise le critère suivant: Comme "*" & [Forms]![F_RechercheRapide]![Recherche1] & "*"
Pour définir cette clause SQL à partir de VBA, j'utilise une variable StrWhereSQL à laquelle j'ai affecté: StrWhereSQL = "(T_BCD.MotsClés) like " & " * " & "[Forms]![F_RechercheRapide]![Recherche1]" & " * ""
Tout cela ne fonctionne pas à cause de l'imbrication des guillemets , me semble-t-il.....
En fait j'essaie d'obtenir, par VBA une clause SQL qui soit : (Affichage SQL de la grille de requête)
WHERE (((T_BCD.MotsClés) Like "*" & [Forms]![F_RechercheRapide]![Recherche1] & "*" Or (T_BCD.MotsClés) Like "*" & [Forms]![F_RechercheRapide]![Recherche2] & "*" Or (T_BCD.MotsClés) Like "*" & [Forms]![F_RechercheRapide]![Recherche3] & "*"))
==> en fait 3 critères de recherche reliées par ET/OU (au choix)
Malheureusement, ma connaissance de VBA n'est pas à la hauteur de mes ambitions,
Je rame sur la syntaxe exacte er l'imbrication des guillemets ....
Merci pour votre aide.
PS Je suis pas certain d'avoir été vraiment clair, mais
pour une meilleure compréhension, je peux fournir formulaires er requête au besoin.
Phil_D
XP // Access 2003
Phil_D
Salut Thierry et merci pour ton aide
Bien que j'aie essayé de contourner le problème avec d'autres moyens** , je suis intéressé par ta proposition. Mon adresse mail :
** j'essaie de reféninir la propriété source de mon formulaire
If Me.Option1= 2 then Forms.MonFormulaire.RecordSource = R_RechercheRapide_OU else Forms.MonFormulaire.RecordSource = R_RechercheRapide_ET endif
mais ACCESS me retourne un message d'erreur sur un nom de champ '|' inconnu une idée ???
Merci encore pour ton aide.
"Thierry" a écrit dans le message de news:
Bonjour,
Essayez ce qui suit :
Dim strSQL As String strSQL = "" & vbCrLf strSQL = strSQL & " WHERE (((T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche1] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche2] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche3] & ""*""))"
Je génère ce code automatiquement à partir d'un formulaire dans une base Access. Si cela vous intéresse, dites-le je vous la transmettrai. C'est très pratique et ça m'évite de me prendre la tête ...
Bonne journée.
Salut Thierry et merci pour ton aide
Bien que j'aie essayé de contourner le problème avec d'autres moyens** , je
suis intéressé par ta proposition.
Mon adresse mail : phil_D@live.be
** j'essaie de reféninir la propriété source de mon formulaire
If Me.Option1= 2 then
Forms.MonFormulaire.RecordSource = R_RechercheRapide_OU
else
Forms.MonFormulaire.RecordSource = R_RechercheRapide_ET
endif
mais ACCESS me retourne un message d'erreur sur un nom de champ '|' inconnu
une idée ???
Merci encore pour ton aide.
"Thierry" <th.tg@laposte.net> a écrit dans le message de news:
8D49FDD5-97A3-452A-8F81-7FF1C62D292A@microsoft.com...
Bonjour,
Essayez ce qui suit :
Dim strSQL As String
strSQL = "" & vbCrLf
strSQL = strSQL & " WHERE (((T_BCD.MotsClés) Like ""*"" &
[Forms]![F_RechercheRapide]![Recherche1] & ""*"" " & vbCrLf
strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" &
[Forms]![F_RechercheRapide]![Recherche2] & ""*"" " & vbCrLf
strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" &
[Forms]![F_RechercheRapide]![Recherche3] & ""*""))"
Je génère ce code automatiquement à partir d'un formulaire dans une base
Access.
Si cela vous intéresse, dites-le je vous la transmettrai.
C'est très pratique et ça m'évite de me prendre la tête ...
Bien que j'aie essayé de contourner le problème avec d'autres moyens** , je suis intéressé par ta proposition. Mon adresse mail :
** j'essaie de reféninir la propriété source de mon formulaire
If Me.Option1= 2 then Forms.MonFormulaire.RecordSource = R_RechercheRapide_OU else Forms.MonFormulaire.RecordSource = R_RechercheRapide_ET endif
mais ACCESS me retourne un message d'erreur sur un nom de champ '|' inconnu une idée ???
Merci encore pour ton aide.
"Thierry" a écrit dans le message de news:
Bonjour,
Essayez ce qui suit :
Dim strSQL As String strSQL = "" & vbCrLf strSQL = strSQL & " WHERE (((T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche1] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche2] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche3] & ""*""))"
Je génère ce code automatiquement à partir d'un formulaire dans une base Access. Si cela vous intéresse, dites-le je vous la transmettrai. C'est très pratique et ça m'évite de me prendre la tête ...
Bonne journée.
Eric
Bonsoir,
Essaies : StrWhereSQL = " where [T_BCD.MotsClés] like ""*" & _ [Forms]![F_RechercheRapide]!recherche1 & "*""" & _ " or [T_BCD.MotsClés] like ""*" & _ [Forms]![F_RechercheRapide]!recherche2 & "*""" & _ " or [T_BCD.MotsClés] like ""*" & _ [Forms]![F_RechercheRapide]!recherche3 & "*"""
Phil_D a écrit :
Salut Thierry et merci pour ton aide
Bien que j'aie essayé de contourner le problème avec d'autres moyens** , je suis intéressé par ta proposition. Mon adresse mail :
** j'essaie de reféninir la propriété source de mon formulaire
If Me.Option1= 2 then Forms.MonFormulaire.RecordSource = R_RechercheRapide_OU else Forms.MonFormulaire.RecordSource = R_RechercheRapide_ET endif
mais ACCESS me retourne un message d'erreur sur un nom de champ '|' inconnu une idée ???
Merci encore pour ton aide.
"Thierry" a écrit dans le message de news:
Bonjour,
Essayez ce qui suit :
Dim strSQL As String strSQL = "" & vbCrLf strSQL = strSQL & " WHERE (((T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche1] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche2] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche3] & ""*""))"
Je génère ce code automatiquement à partir d'un formulaire dans une base Access. Si cela vous intéresse, dites-le je vous la transmettrai. C'est très pratique et ça m'évite de me prendre la tête ...
Bonne journée.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonsoir,
Essaies :
StrWhereSQL = " where [T_BCD.MotsClés] like ""*" & _
[Forms]![F_RechercheRapide]!recherche1 & "*""" & _
" or [T_BCD.MotsClés] like ""*" & _
[Forms]![F_RechercheRapide]!recherche2 & "*""" & _
" or [T_BCD.MotsClés] like ""*" & _
[Forms]![F_RechercheRapide]!recherche3 & "*"""
Phil_D a écrit :
Salut Thierry et merci pour ton aide
Bien que j'aie essayé de contourner le problème avec d'autres moyens** , je
suis intéressé par ta proposition.
Mon adresse mail : phil_D@live.be
** j'essaie de reféninir la propriété source de mon formulaire
If Me.Option1= 2 then
Forms.MonFormulaire.RecordSource = R_RechercheRapide_OU
else
Forms.MonFormulaire.RecordSource = R_RechercheRapide_ET
endif
mais ACCESS me retourne un message d'erreur sur un nom de champ '|' inconnu
une idée ???
Merci encore pour ton aide.
"Thierry" <th.tg@laposte.net> a écrit dans le message de news:
8D49FDD5-97A3-452A-8F81-7FF1C62D292A@microsoft.com...
Bonjour,
Essayez ce qui suit :
Dim strSQL As String
strSQL = "" & vbCrLf
strSQL = strSQL & " WHERE (((T_BCD.MotsClés) Like ""*"" &
[Forms]![F_RechercheRapide]![Recherche1] & ""*"" " & vbCrLf
strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" &
[Forms]![F_RechercheRapide]![Recherche2] & ""*"" " & vbCrLf
strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" &
[Forms]![F_RechercheRapide]![Recherche3] & ""*""))"
Je génère ce code automatiquement à partir d'un formulaire dans une base
Access.
Si cela vous intéresse, dites-le je vous la transmettrai.
C'est très pratique et ça m'évite de me prendre la tête ...
Bonne journée.
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Essaies : StrWhereSQL = " where [T_BCD.MotsClés] like ""*" & _ [Forms]![F_RechercheRapide]!recherche1 & "*""" & _ " or [T_BCD.MotsClés] like ""*" & _ [Forms]![F_RechercheRapide]!recherche2 & "*""" & _ " or [T_BCD.MotsClés] like ""*" & _ [Forms]![F_RechercheRapide]!recherche3 & "*"""
Phil_D a écrit :
Salut Thierry et merci pour ton aide
Bien que j'aie essayé de contourner le problème avec d'autres moyens** , je suis intéressé par ta proposition. Mon adresse mail :
** j'essaie de reféninir la propriété source de mon formulaire
If Me.Option1= 2 then Forms.MonFormulaire.RecordSource = R_RechercheRapide_OU else Forms.MonFormulaire.RecordSource = R_RechercheRapide_ET endif
mais ACCESS me retourne un message d'erreur sur un nom de champ '|' inconnu une idée ???
Merci encore pour ton aide.
"Thierry" a écrit dans le message de news:
Bonjour,
Essayez ce qui suit :
Dim strSQL As String strSQL = "" & vbCrLf strSQL = strSQL & " WHERE (((T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche1] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche2] & ""*"" " & vbCrLf strSQL = strSQL & " OR (T_BCD.MotsClés) Like ""*"" & [Forms]![F_RechercheRapide]![Recherche3] & ""*""))"
Je génère ce code automatiquement à partir d'un formulaire dans une base Access. Si cela vous intéresse, dites-le je vous la transmettrai. C'est très pratique et ça m'évite de me prendre la tête ...
Bonne journée.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr