Excel, VBA, ACCESS et ... les dates ....

Excel, VBA, ACCESS et ... les dates .... - VB/VBA/VBS - Programmation

Marsh Posté le 13-04-2004 à 11:59:01    

Bonjour à  tous !
 
Voilà mon petit problème
 
Je dois exporter des données d'une feuille excel vers une BDAccess
 
Tout se passe bien sauf quand mon classeur contient une colonne date et que je tente de mettre à jour un enregistremetn de ma base
 
Alors pour info ma base access est comme suit :  
nomchamp : num_dde  type : numAuto (clé primaire)
           date_test       date/heure (masque 00/00/0000)
 
Pour ma feuille excel, le format est le même : 00/00/0000
 
Voici le code VB ou je tente de faire la MAJ de ma BD :

    TSQL = (" UPDATE date_test2 SET date =    '" & Datet & "' WHERE num_dde =1 ;" )
          cn.Execute TSQL

 
message d'erreur : erreur de syntaxe pour instruction UPDATE
 
Alors que lorsque je fais un update pour un nom par exemple :  

 TSQL = (" UPDATE client_test SET ClientNom   =  ' " & nomCli & "' , ClientTel   =  " & telCli & " WHERE ClientID =" & numCli & ";" )

 
ça marche tres bien...
 
j'imagine donc un probleme au niveau du format date ...
 
quelqu'un aurait il une idée ? :)
 
PS: la fonction Edit (recordset.Edit) ne fonctionne pas ?
car AddNew et Delete oui ... mais pas Edit ?? !!


Message édité par cleini le 13-04-2004 à 13:09:35
Reply

Marsh Posté le 13-04-2004 à 11:59:01   

Reply

Marsh Posté le 13-04-2004 à 16:37:14    


ajoute des #
 TSQL = (" UPDATE date_test2 SET date =    '#" & Datet & "#' WHERE num_dde =1 ;" )  
          cn.Execute TSQL  

Reply

Marsh Posté le 13-04-2004 à 16:56:41    

Merci beaucoup de ta réponse.
 
Cependant, toujours erreur de syntaxe dans mon UPDATE  :(  
 
Je n'y comprends rien
 
Datet déclaré en "string" ou "date", ça ne change rien
 
Et il prend la valeur  
 
Datet = Range("E" & num_ligne).value


Message édité par cleini le 13-04-2004 à 17:04:45
Reply

Marsh Posté le 14-04-2004 à 09:38:32    

up :p

Reply

Marsh Posté le 14-04-2004 à 11:31:03    

... une tite réponse si jamais vous avez ...  
je suis en stage de préembauche et c'est vraiment important pour moi ... j'ai tenté plein de choses et rien trouvé :(

Reply

Marsh Posté le 16-04-2004 à 10:24:56    

moi, j'enlèverais les apostrophes (qui déclarent généralement un type string).
 
Tente la simplicité :
 
TSQL = (" UPDATE date_test2 SET date =" & Datet & "WHERE num_dde =1 ;" )
           
ou en gardanr les # :
TSQL = (" UPDATE date_test2 SET date =#" & Datet & "# WHERE num_dde =1 ;" )

Reply

Marsh Posté le 16-04-2004 à 11:09:09    

merci Pump ...
ça ne marche pas non plus, je crois que je dois changer le format date de Excel ou je ne sais quoi ... c'ets bizzare cette histoire quand même  
 
mais les formats date doivent être différents ou alors l'update ne gère pas les dates O_o
:p

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed