Insert date

pierrecoulon Messages postés 32 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 11 septembre 2008 - 10 sept. 2008 à 20:13
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 13 sept. 2008 à 16:49
Bonjour à tous,

j'essaye d'insérer une date dans ma base de donnée Access.
j'ai un message d'erreur qui apparait.
je suppose que c'est à cause du format de la date.
voici mon code :

With ADOQuery6 do begin
          With SQL do begin
            Clear;
            Add('INSERT INTO pointages (id_travailleur, date)');
            Add('VALUES (''' + inttostr(i) + ''','''+ '10/03/1999' + ''')');
          end;
          ExecSQL;
          ADOQuery6.Close;
      end

quelqu'un pourrait-il m'éclairer?
Merci

Pierre

6 réponses

Oniria Messages postés 292 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 18 décembre 2014 3
10 sept. 2008 à 20:40
Bonjour,

essaye avec un format 1999-03-10

Je sais que pour mysql, ça marche comme ça.

Oniria
0
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
10 sept. 2008 à 21:20
Bonjour pierrecoulon,

voici le formatage d'une date pour une base Access.

#mm/dd/yyyy hh:nn:ss#

source :

With ADOQuery6 do begin
With SQL do begin
Clear;
Add('INSERT INTO pointages (id_travailleur, date)');
Add('VALUES (''' + inttostr(i) + ''',' + '#03/10/1999#' + ')');
end;
ExecSQL;
ADOQuery6.Close;
end
0
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
10 sept. 2008 à 21:24
Désoler pour le formatage :

With ADOQuery6 do
begin
With SQL do
begin
Clear;
Add('INSERT INTO pointages (id_travailleur, date)');
Add('VALUES (''' + inttostr(i) + ''',' + '#03/10/1999#' + ')');
end;

ExecSQL;
ADOQuery6.Close;
end;

Bonne programmation.
0
pierrecoulon Messages postés 32 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 11 septembre 2008
11 sept. 2008 à 09:26
merci beaucoup

j'ai essayé mais il m'indique toujours la même erreur.
est-ce que je dois choisir un modèe spécial de date dans le Access?
0

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

Posez votre question
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
11 sept. 2008 à 09:35
Bonjour,

Sauf erreur de ma part, il semblerait que le champ date ne peut être utilisé.
Essait de renommer ce champ (exemple : dtDate) dans ACCESS.
Tu peux essayer ça aussi :

With ADOQuery6 do
begin
   With SQL do
   begin
     Clear;
     Add('INSERT INTO pointages (id_travailleur, "date")');
     Add('VALUES (''' + inttostr(i) + ''',' + '#03/10/1999#' + ')');
   end;

   ExecSQL;
   ADOQuery6.Close;
end;

Bonne Prog,  Olivier
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
13 sept. 2008 à 16:49
Attention à ne pas utiliser des mots réservés du SQL pour nommer vos champs !!!
C'est une erreur fréquente.
De plus, je dirais que c'est une erreur de fonds car de quelle date s'agit-il ? Cela ne peut amener que des confusions à terme pour celui-là qui relira la requête ou la description du schéma de la base de données. Sans compter que s'il faut penser à mettre des quotes partout où ce champ est utilisé...

May Delphi be with you !
<hr color="#008000" />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
Rejoignez-nous