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 :

Filtre sur chaîne de caractères capricieux


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Par défaut Filtre sur chaîne de caractères capricieux
    Bonjour à tous.

    Je cherche à exploiter une BD Access à l'aide de VBA.
    En fonction d'une chaine de caractères donnée utilisée comme filtre sur un champ (Description) de ladite base de donnée, je génère une requête et j'affiche les données extraites via un formulaire.

    Le hic, c'est que cela fonctionne avec certaines chaînes mais pas avec d'autres. J'affiche alors un formulaire vide alors que cela ne devrait pas être le cas.

    Le plus tordu c'est que dans ces cas là, il suffit que j'ouvre "manuellement" la requête directement depuis Access et que j'opère une modification bidon, que j'annule de suite, (genre rajouter un espace pour l'enlever) pour que son exécution me donne les données attendues. Et là, je suis sec.

    Voilà ce que j'utilise :

    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
    Set bds = CurrentDb
    Type_Req = "Current_Rq"
     
    chsql = " SELECT N°, [Heure Début/Arrivée], Opérateur, Cellule, Description, Commentaire," _
    & " Int(24 * ([Heure Fin/Redémarrage] - [Heure Début/Arrivée])+ 0.000000001)" _
    & " & "":"" & Format(Minute([Heure Fin/Redémarrage] - [Heure Début/Arrivée]), ""00"")" _
    & " & "":"" & Format(Second([Heure Fin/Redémarrage] - [Heure Début/Arrivée]), ""00"")" _
    & " AS Durée, [Heure Fin/Redémarrage] - [Heure Début/Arrivée] AS Durée1," _
    & "[Valide], [Non Valide] FROM Feuille_Banc" _
    & " WHERE ([Heure Début/Arrivée] >" & Date1 & " And [Heure Début/Arrivée] <" & Date2 & " And [Type Action] = ""Essai""" _
    & " And [Description]=""R2 / R3"")" _
    & " ORDER BY [Heure Début/Arrivée];"
     
    Set dfr = bds.CreateQueryDef(Type_Req, chsql)
     
    DoCmd.OpenForm "Formulaire_Requête", , , stLinkCriteria
    Le problème se pose sur la filtre sur le champ "Description".
    Pour une chaine "ESC Simple", "E5 av. Part." ou "4/4", je n'ai pas de souci.
    En revanche, si j'utilise "TC-102" ou "R2 / R3", j'obtiens les symptômes décrits plus haut.

    Il n'y a pas de problème évident d'espace mal placé ou autre.
    J'ai essayé, en vain, de remplacer le caratère spécial par le Chr$ associé.
    J'ai tenté la manip avec plusieurs version d'access (2003 & 2007) et des languages différents (anglais et français) sans aboutir.

    Donc, si quelqu'un peut m'aider sur le sujet, je l'en remercie par avance.
    MisterFa.

  2. #2
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Par défaut
    Bonjour,

    N'ayant pas de réponse, je suis parti du principe que le problème auquel je me confronte a déjà été maintes fois traité.
    Donc, j'ai (re)balayé les faq et didacticiels que le site propose sans, toutefois, trouver quelque chose qui puisse me servir (me semble t'il).

    J'ai donc modifié mon code pour faire une copie de la table sur laquelle j'exécute mes requêtes et remplacer dans le champ [Description] les caractères spéciaux des chaînes qui sont récalcitrantes.
    Pour ça j'essaie d'utiliser la fonction "ReplaceArray" décrite dans la faq. Sauf que je n'arrive pas à m'en servir de manière adéquate.

    Bref, je suis toujours dans l'impasse.

    MisterFa.

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/02/2009, 15h49
  2. [Requête] Recherche sur chaîne de caractères
    Par kryss_63 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/07/2007, 19h48
  3. [Requêtes] opérations sur chaînes de caractères
    Par guyom_ dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 18/12/2006, 11h47
  4. [Tableaux] Opération sur chaîne de caractères
    Par kespy13 dans le forum Langage
    Réponses: 3
    Dernier message: 19/04/2006, 14h32

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