Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/10/2011, 21h04   #1
Invité de passage
 
Homme
Inscription : septembre 2011
Messages : 19
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2011
Messages : 19
Points : 3
Points : 3
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 :
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
dav787 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 23h46   #2
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
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.
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 03h07   #3
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 620
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 620
Points : 30 945
Points : 30 945
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
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
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 22h27   #4
Invité de passage
 
Homme
Inscription : septembre 2011
Messages : 19
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2011
Messages : 19
Points : 3
Points : 3
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 :
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
dav787 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 23h40   #5
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
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 :
DoCmd.OpenReport stDocName, acPreview, , "[qui]='" & [Qui] & "'"
Mais ne peux-tu donner le nom qui fait foirer l'ouverture sous condition de ton état?
Cordialement.
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 21h31   #6
Invité de passage
 
Homme
Inscription : septembre 2011
Messages : 19
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2011
Messages : 19
Points : 3
Points : 3
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.
dav787 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h17.


 
 
 
 
Partenaires

Hébergement Web