IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Comment comparer un texte avec plusieurs apostrophes


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 246
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 246
    Par défaut Comment comparer un texte avec plusieurs apostrophes
    Salut, passé un bon W-E?

    Voilà, j'aimerais savoir comment par une requête en VBA, faire une recherche sur un champ texte, je m'explique :
    J'ai une variable qui comporte un texte avec plusieurs apostrophe et dont le nombre peut varier, et j'aimerais faire une recherche dans une table pour retrouver ce texte mot pour mot.

    je connais replace, mais comment faire puisqu'on ne connait pas le nombre d'apostrophe que le texte peut contenir???

    Merci de votre aide.
    A+

  2. #2
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Etape 1 : Remplacer les apostrophes par des espaces avec Replace
    Etape 2 : Spliter la chaine pour en extraire un tableau de mots (Fonction Split)
    Etape 3 : Construire une requête en parourant le tableau obtenu et en combinant la liste des critères avec OR

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub test()
    Dim strSQL As String, strChaine As String, tstrT() As String
    Dim i As Integer
    'Début de la requete
    strSQL = "SELECT * FROM Matable"
    'Chaine à traiter
    strChaine = "Salut m'sieur"
    'Recupère la liste des mots
    tstrT = Split(Replace(strChaine, "'", " "), " ")
    'Parcours le tableau et construit la requete
    For i = 0 To UBound(tstrT)
        'Si premier critere alors ajoute le where
        If i = 0 Then
            strSQL = strSQL & " WHERE "
        Else
            strSQL = strSQL & " OR "
        End If
        'Ajoute le critere
        strSQL = strSQL & " MonChamp LIKE *" & tstrT(i) & "*"
    Next i
    MsgBox strSQL
    End Sub

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 246
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 246
    Par défaut
    Salut tofalu,

    Merci pour ta réponse, je vais essayer ça se soir car je vais au boulot.

    Merci A+

Discussions similaires

  1. Comment avoir un composant texte avec plusieurs styles?
    Par byubi dans le forum Composants
    Réponses: 1
    Dernier message: 02/05/2009, 12h12
  2. Comment insérer un texte avec apostrophe et %
    Par Lucas Panny dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/04/2009, 09h49
  3. Réponses: 3
    Dernier message: 17/04/2008, 10h04
  4. Comment afficher du texte avec swing ?
    Par meda dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 27/10/2004, 14h35
  5. [linux][gcc] Comment travaille t-on avec plusieurs fichiers?
    Par kaygee dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 02/04/2004, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo