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

VBA Access Discussion :

findNext probleme avec les quotes


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut findNext probleme avec les quotes
    bonjour tous le monde

    j'espere que vous pourrez m'aider

    voila ma ligne qui me pose soucis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .FindNext ("[Nom] = '" & chercheNom & "' AND [PNom] = '" & cherchePnom & "'")
    ca marche bien sauf si l'une des 2 variables (chercheNom ou/et cherchePnom) a un nom qui a " ' " comme

    dell'pietro
    d'acosta
    etc..
    et j'arrive pas a trouver la syntax. vous avez une idée?

    merci d'avance
    -Pato-

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 282
    Points : 356
    Points
    356
    Par défaut Solution
    Bonjour,

    Il suffit de remplacer les ' par ''.

    Essaye le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .FindNext ("[Nom] = '" & Replace(chercheNom,"'","''") & "' AND [PNom] = '" & Replace(cherchePnom,"'","''") & "'")
    Bonne chance
    - Bien programmer n'est pas choisir la solution la plus simple, mais la meilleure -

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    merci SSJconsult,

    j'avais deja essayé ta solution ( exactement la meme syntax)
    mais en passant par debug , il n'aime pas du tout

  4. #4
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Deux trucs à tester :
    - Remplacer mavariable par CStr(mavariable)
    - Remplacer les ' par Chr(39)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .FindNext ("[Nom] = '" & CStr(chercheNom) & "' AND [PNom] = '" & CStr(cherchePnom) & "'")
    et/ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .FindNext ("[Nom] = " & Chr(39) & chercheNom & Chr(39) & " AND [PNom] = " & Chr(39) & cherchePnom & Chr(39))
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    g trouvé une solution,
    ca alourdi un peu le code mais au moins ca marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
       testquoteNom = 0
        testquotePNom = 0
        testquoteNom = InStr(1, chercheNom, "'", 1)
        testquotePNom = InStr(1, cherchePnom, "'", 1)
            If testquoteNom > 0 Then
                Nomsav = chercheNom
                chercheNom = Replace(chercheNom, "'", "''")
            End If
            If testquotePNom > 0 Then
                Pnomsav = cherchePnom
                cherchePnom = Replace(cherchePnom, "'", "''")
            End If
    ensuite je fais :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    .FindNext ("[Nom] = '" & chercheNom & "' AND [PNom] = '" & cherchePnom & "'")
     
            If testquoteNom > 0 Then
                memoNom = memoNomsav
            End If
            If testquotePNom > 0 Then
                memoPnom = memoPnomsav
            End If

  6. #6
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Oulà ah ouais c'est bien lourd .
    Je suis sûr qu'il y a mieux. Tu as testé mes propositions ?
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  7. #7
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    tout simplement doubler les guillemets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .FindNext ("[Nom] = """ & chercheNom & """ AND [PNom] = '"" & cherchePnom & """")
    certains noms contiennent une apostrophe comme Théodore Agrippa d'Aubigné

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    re-bonjour,

    oui c vrai que c un peu lourd je vais essayer les propositions que vous m'avez indiqué et je reviens ici pour vous faire pars des resultats
    entout cas merci d'avance

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    je viens de tester la solution de " helas" :-)

    et ca marche eureka

    mais, eh oui il y a toujours un mais...

    j'ai retrouvé dans mon résultat un nom qui avais 2 "
    Jean-marc "marco"

    donc ça n'a fais que déplacer le problème de ( ' ) à ( " )

  10. #10
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .FindNext ("[Nom] = '" & replace(chercheNom, "'", "''") & "' AND [PNom] = '" & replace(cherchePnom, "'", "''") & "'")
    [Access] Les bases du débogage => ici

  11. #11
    Expert éminent sénior

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

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Tu peux aussi utiliser la fonction BuildCrtiteria, cf l'aide

Discussions similaires

  1. probleme avec les quotes
    Par laure07 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 14/05/2012, 15h49
  2. Help!! Probleme avec les dates sur SQL SERVER
    Par Nadaa dans le forum MS SQL Server
    Réponses: 16
    Dernier message: 03/08/2006, 16h55
  3. PROBLEME AVEC LES REQUETES IS NULL / NOT EXISTS
    Par sylvaine dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/06/2004, 13h26
  4. Problem avec les *.AVI sur les panels
    Par NaDiA_SoFt dans le forum C++Builder
    Réponses: 3
    Dernier message: 31/08/2003, 22h50
  5. probleme avec les processus
    Par saidi dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/02/2003, 00h18

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