Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 09/01/2013, 16h55   #1
basilegg
Invité de passage
 
Inscription : octobre 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 3
Points : 1
Points : 1
Par défaut "Date, Général" bug

Bonjour à tous!

J'ai un problème avec Access 2007 (je suis sur windows 7), j'utilise le format
"Date, général" pour l'une de mes tables (et je dois utiliser ce format) and j'ai un problème un peu mystique... Je ne peux pas créer de date valide pour le premier jour de chaque mois.

Je m'explique:
Je créé un nouvel enregistrement pour le 31/12/12, pas de soucis, ça m'affiche "Lundi, Décembre 2012" (dans la table ou le formulaire associé) et quand je clique sur la date, ça m'affiche "31/12/12". Je fais tourner du vba en utilisant ces enregistrements sans problème.

Maintenant, je veux ajouter un enregistrement pour le 01/01/13. Ca m'affiche "Mardi, Janvier 2013", tout va bien, mais si je clique dessus, rien ne change.
Et la date n'est alors pas considéré comme valide quand j'exécute mon code vba.

Et c'est la même chose pour 01/02/13, 01/10/11, ce que vous voulez... J'ai essayé sur différents PC, fait "compacter et reparer", mais rien n'y fait...

Si quelqu'un a une idée de ce qui se trame dans les profondeurs d'access, je le remercie par avance!

Basile
basilegg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2013, 05h58   #2
Philippe JOCHMANS
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 18 452
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 45
Localisation : France, Loir et Cher (Centre)

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

Informations forums :
Inscription : mai 2005
Messages : 18 452
Points : 40 636
Points : 40 636
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Si la saisie est bien validée dans la table (manuellement), peut-être que cela vient du code VBA.

As-tu un message d'erreur et si oui lequel et où ? Et avec le code ce serait mieux.

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
Vous pouvez consulter mes articles sur Access et PowerPoint

Si vous avez des c'est peut-être moi, car vous postez un fichier en pièce jointe sans explications.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2013, 10h37   #3
basilegg
Invité de passage
 
Inscription : octobre 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 3
Points : 1
Points : 1
Citation:
Envoyé par Philippe JOCHMANS Voir le message
Bonjour

Si la saisie est bien validée dans la table (manuellement), peut-être que cela vient du code VBA.

As-tu un message d'erreur et si oui lequel et où ? Et avec le code ce serait mieux.

Philippe
Justement, access ne me donne pas l'impression que la date soit réellement validée dans la table. Cependant même en changeant de format de date, le problème subsiste (j'ai aussi essayé sur une nouvelle base vide, etc).

Ce qui ne fonctionne pas dans le code est que j'utilise une bete requete sql pour extraire des infos à des dates précises. Et dès que je tombe sur un premier du mois, j'ai droit à un "Erreur d'exécution 3021: Aucun enregistrement en cours"

Ma requete est la suivante (je l'ai abrégée pour garder l'essentiel):
Code :
SELECT VolumePrev FROM Projet WHERE Date = #" & CDate(DateR.Value) & "#"
CDate(DateR.Value) = "01/01/12"

En gros, bien que ma table ait un enregistrement pour le 01/01/12 par exemple, la requete me retourne un recordset vide (d'où le message d'erreur quand j'essaie par la suite d'utiliser ce recordset). Ma requete fonctionne très bien pour toutes les autres dates...

Merci pour l'aide,
Basile
basilegg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2013, 10h57   #4
User
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 571
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 43
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 571
Points : 5 472
Points : 5 472
Salut,

Peut-être un problème de format de date :

Le SQL d'Access ne comprend que les dates sous la forme "mm/jj/aaaa", qui est le format US.

Donc essaie ce code :

Code :
SELECT VolumePrev FROM Projet WHERE Date = #" & Format(DateR.Value,"mm/dd/yyyy") & "#"
Remarque importante : Il faut éviter absolument les mots réservés pour les noms des champs. Date est un mot réservé pour Access

A+
__________________
Petit à petit, l'oiseau fait son nid

Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page personnelle.
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2013, 11h06   #5
basilegg
Invité de passage
 
Inscription : octobre 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 3
Points : 1
Points : 1
Ahahah, j'adore! Je venais justement de trouver cette solution et je voulais écrire un message pour l'annoncer, et je lis ton message qui donne la même réponse!
Merci beaucoup déjà!

Ensuite, ce que je ne comprend pas, c'est que quand j'utilisais le format non-américain, cela marchait quand même pour la plupart des dates... Pour le mot clé réservé, j'ai un peu merdé effectivement au début du projet, mais bon maintenant que ça roule.

Merci pour l'aide

Basile
basilegg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2013, 11h10   #6
User
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 571
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 43
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 571
Points : 5 472
Points : 5 472
Oui, il inversait peut-être jour et mois..
__________________
Petit à petit, l'oiseau fait son nid

Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page personnelle.
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h11.


 
 
 
 
Partenaires

Hébergement Web