Probleme date enregistrement dans table

fofy39 Messages postés 3 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 1 juin 2007 - 1 juin 2007 à 11:41
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 2 juin 2007 à 16:29
bonjour,
J'ai besoin d'un peu d'aide. J'ai crée une base de données access pour gerer les emprunt d'une bibliothèque. et à partir de mon formulaire je souhaite enregistrer dans ma table le retour d'un livre. J'ai crée un bouton et en j'ai un code vba avec un requete d'insertion.
Voici le code

Private Sub cmdenregistrer_Click()
Dim
Req As String
Req = "Insert INTO Retour values ( " & ldnum_livre.Value & ", " & lmcode_agent.Value & " , " &
date_emprunt.Value & " , "
Req = Req & date_retour.Value & ") ; "

 

DoCmd.RunSQL (Req)
MsgBox ("Retour
enregistré")
End Sub
Tous s'enregistre dans ma table mais le problème c'est qu au  lieu d'enregistrer la date que je saisi il met la date par defaut d'access soit 30/12/1899. Avez vous un idée d'ou ca peut venir?
merci
Soph

11 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 juin 2007 à 11:46
Salut,

Il faut sûrment donnée à "date_emprunt.Value" la date à l'instant T, du style :

Date_emprunt.Value = FormatDateTime ( now, vbShortDate)

Car à mon avis, à un moment du ne doit pas prendre la date actuelle...
A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 juin 2007 à 11:49
Salut,

Ne pas oublié aussi, que les date dans une requête doivent avoir un format bien précis et être entourées de #...............#

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
fofy39 Messages postés 3 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 1 juin 2007
1 juin 2007 à 11:56
Je vien d'essayer ta solution mais ca ne marche pas non plus .
Il me met toujours la date de 1899
Mais merci kan meme
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 juin 2007 à 11:59
date_emprunt.Value vaut surement 0

#MM/DD/YYYY# je dirai même, Exploreur
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 juin 2007 à 12:08
Salut Renfield,

Je ne peux être que d'accord...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
fofy39 Messages postés 3 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 1 juin 2007
1 juin 2007 à 13:25
Slt
ca ne veut toujours pas marcher ! Meme en suivant vos conseils et vos solutions !  d' autre idée ???
merci
Soph
[javascript:Insert_Emoticon('/imgs2/smile_shy.gif'); ][javascript:Insert_Emoticon('/imgs2/smile_shy.gif'); ][javascript:Insert_Emoticon('/imgs2/smile_shy.gif'); ]
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 juin 2007 à 13:58
Salut,


Je serai bien tenté de faire un truc du genre :



Req = "Insert INTO Retour values ( " & ldnum_livre.Value & ", " & lmcode_agent.Value & " , # " & Format$(Date, "MM/DD/YYYY") & " # )"


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
1 juin 2007 à 21:15
Salut,
c' est quoi date_retour ? un DTPicker ?
Si c' est ça , fais en sorte que sa valeur pr défaut soit la date du jour.

<hr /> 
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 juin 2007 à 23:02
Gaffe, Exploreur...

Format$(Date, "MM/DD/YYYY") 

a remplacer par

Format$(Date, "MM\/DD\/YYYY")

sinon, le \ sera interprété comme le séparateur de dates courtes, et tu pourrais avoir en sortie un '.' ou un '-', selon les paramètre régionnaux.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
2 juin 2007 à 09:03
Salut Renfield,

En voilà encore une de gaffe(for me)!!!

On refait :
Req = "Insert INTO Retour values ( " & ldnum_livre.Value & ", " & lmcode_agent.Value & " , # " & Format$(Date, "MM\/DD\/YYYY") & " # )"

Par contre ce que dis Chabait05(que je salue) est logique, si sa date vient d'un Dtpicker, alors il faut qu'il initialise celui-ci :

Private Sub Form_Load()
Dtpicker1.Value = Format$(Date, "MM\/DD\/YYYY") << Format pour requête
OU
Dtpicker1.Value = Format$(Date, "DD\/MM\/YYYY")
End Sub
A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
2 juin 2007 à 16:29
Salut Exploreur,
C' est tout à fait ça; il faut l' initialiser au Load du formulaire.
Seulement,(re-gaffe :-))
Private Sub Form_Load()
  Dtpicker1.Value = Format$(Date, "MM\/DD\/YYYY") << Format pour requête
  OU
  Dtpicker1.Value = Format$(Date, "DD\/MM\/YYYY")
End Sub
n' est valable que si tu as personnalisé la propriété Format au format spécifié.
Sinon Dtpicker1.Value=Date marche aussi bien puisque le DTpicker s' aligne
automatiquement aux paramètres régionnaux.

a++

<hr />® l l i n g , l' agité du bocal : 
   Etre une heure, une heure seulement..Rien qu' une heure,
   Vert, vert, vert et beau à la foooooooooooooooooooooooois. 
0
Rejoignez-nous