Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1607 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°698140
cleini
Posté le 13-04-2004 à 11:59:01  profilanswer
 

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
mood
Publicité
Posté le 13-04-2004 à 11:59:01  profilanswer
 

n°698408
girouxv
Posté le 13-04-2004 à 16:37:14  profilanswer
 


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

n°698422
cleini
Posté le 13-04-2004 à 16:56:41  profilanswer
 

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
n°698862
cleini
Posté le 14-04-2004 à 09:38:32  profilanswer
 

up :p

n°698948
cleini
Posté le 14-04-2004 à 11:31:03  profilanswer
 

... 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é :(

n°700806
pumpkin031​2
Posté le 16-04-2004 à 10:24:56  profilanswer
 

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 ;" )

n°700863
cleini
Posté le 16-04-2004 à 11:09:09  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 

Sujets relatifs
[ACCESS] Liste déroulante dans formulaireaddition de dates
recherche d'une fonction ou d'un mini prog sur excel!convertir chiffre en lettre Excel
Etat access-> ligne de couleurs différentescréation d'un fichier excel en html (ancre nommé en bas de page??)
comment se connecter et utiliser un recordset sous access!!!![vba excel] ouverture de fichiers dans un classeur
[Access 2002] commande distinct 
Plus de sujets relatifs à : Excel, VBA, ACCESS et ... les dates ....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR