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 :

Ouverture état sous condition


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 59
    Par défaut Ouverture état sous condition
    Bonsoir,
    Il y a quelques temps, je faisais part d'un problème concernant la difficulté rencontrée pour ouvrir un état sous condition.
    On m'avait répondu en me donnant le code figurant plus bas qui a, jusqu'à aujourd'hui, résolu mon problème.
    Situation : j'ai un formulaire dans lequel j'ai crée une liste déroulante allant chercher des personnes dans une table.
    Après sélection de la personne, l'état s'ouvre via ce petit code détaillé plus bas.
    Aujourd'hui, une autre personne est venue s'ajouterà ma liste déroulante et le code me renvoie erreur sur la syntaxe qui n'est pas respectée pour cette personne.Oui, pour une personne, le code ne fonctionne plus alors que pour les autres, je n'ai pas de soucis.
    Ce qui est surprenant, c'est que dans la table en question, mon champ interlocuteur, bien que formaté pour la majuscule, place cette personne problèmatique, automatiquement en minuscule alors que les autres restent en majuscule.
    Je pense qu'il y a un problème de casse et j'aimerais savoir comment contourner cela.
    J'ai essayé en supprimant les espaces mais rien n'y fait.
    Je vous remercie.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Commande128_Click()
        Dim stDocName As String, strwhere As String
     
        stDocName = "Analyse : historique des points bloquants"
        If Nz(Me!Interlocuteur, "") = "" Then
            strwhere = ""
        Else
            strwhere = "[Interlocuteur]='" & Me!Interlocuteur & "'"
        End If
     
        DoCmd.OpenReport stDocName, acViewPreview, , strwhere
    End Sub

  2. #2
    Membre Expert Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Par défaut
    Bonjour.

    J'ai eu un jour un problème semblable, et l'erreur, dans mon cas était simplement liée au fait que le nom comportait une apostrophe (').

    En remplaçant l'apostrohe par un underscore dans le nom, le problème a été réglé. L'apostrophe (ou quote) est un caractère utilisé par la syntaxe sql, ce qui explique le problème.

    Serait-ce un problème semblable dans votre cas?

    Cordialement.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si le nom est systématiquement en minuscule, cela est sûrement dut aux corrections automatiques, c'est dans les options d'Access, mais en fonction de ta version ce n'est pas au même endroit, d'où l'importance de donner la version.

    Au vu de la réponse précédente (sur l'apostrophe ), si tu donnais ce nom ce serait plus simple pour comprendre.

    Philippe

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 59
    Par défaut
    Bonjour et merci pour ces éléments.
    Voici un peu plus détail sur cette erreur.
    Le code vba est que j'ai réajusté en vain est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport stDocName, acPreview, , "[qui]='" & [Qui] & "'
    En rééxécutant le code, voici ce qui m'est renvoyé :erreur 3464
    "Type de données incompatible dans l'expression du critère.

    En mettant le prénom avant le nom, j'ai le même problème.En ne mettant que le nom, idem.
    J'ai réessayé en réexportant la table sur excel puis la réimporter(il y a quelques temps, mais pour un autre problème, ça avait réglé mon problème).
    Je me disais que peut être, un extrait de code pourrait, ne pas tenir compte de la casse.Est ce que ça éxiste ?
    Merci encore pour votre aide

  5. #5
    Membre Expert Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Par défaut
    Il ya au moins une erreur de syntaxe dans le code tel que tu l'as posté, mais c'est peut-être parceque tu ne l'as pas copié jusqu'à la fin :il manque " à la fin de ta condition Where, qui devrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport stDocName, acPreview, , "[qui]='" & [Qui] & "'"
    Mais ne peux-tu donner le nom qui fait foirer l'ouverture sous condition de ton état?
    Cordialement.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 59
    Par défaut
    Bonsoir,
    Après beaucoup de temps passé sur cette base de données et vos précieux conseils, voici ce qu'il en est pour ceux qui, rencontrerait le même problème.
    Ma base étant issu d'un fichier excel, j'ai, depuis un autre fichier excel, récuperé toutes les données de l'autre fichier excel en question, puis, mis les noms au format texte et envoyer le tout dans ma base de donnée.
    Et là, plus de problème, tout fonctionne à merveille.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouverture d'état sous condition impossible
    Par dav787 dans le forum VBA Access
    Réponses: 4
    Dernier message: 28/09/2011, 12h45
  2. ouverture d'état sous condition
    Par isabelle b dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/11/2008, 07h58
  3. déplacer une étiquette dans un état sous conditions
    Par françois35 dans le forum IHM
    Réponses: 6
    Dernier message: 28/08/2008, 14h36
  4. aperçu d'un sous état sous condition
    Par dodie84 dans le forum IHM
    Réponses: 1
    Dernier message: 29/04/2008, 13h59
  5. afficher un état sous condition
    Par remi59 dans le forum IHM
    Réponses: 4
    Dernier message: 15/09/2006, 16h24

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