GarnierFlorian
Messages postés129Date d'inscriptionmardi 27 mai 2008StatutMembreDernière intervention26 juillet 2011
-
26 août 2010 à 10:56
GarnierFlorian
Messages postés129Date d'inscriptionmardi 27 mai 2008StatutMembreDernière intervention26 juillet 2011
-
6 sept. 2010 à 15:33
Bonjour à tous !
Bon, mon problème est le suivant : j'essaye d'insérer des données dans ma table foxpro, via une requete insert que j'exécute via ado, en vba.
Je vous fourni mon bout de code :
Option Explicit
Sub Insert(nomTab As String)
Dim cnx As ADODB.Connection
Dim cmd As ADODB.Command
'Connexion à la base
Set cnx = New Connection
'chemin est une constante indiquant tout simplement le répertoire de la table
With cnx
.ConnectionString "Provider vfpoledb; Data Source =" + CHEMIN + nomTab
.Open
End With
'On exécute l'insert
cnx.Execute REQ_INSERT, , adCmdText + adExecuteNoRecords
'Tester(nomTab)
cnx.Close
Set cnx = Nothing
Set cmd = Nothing
End Sub
Et en fait, mon exécution s'arrete sur la ligne rouge, et j'ai le message d'erreur suivant qui apparait :
Too few arguments
Bien évidemment, je vous donne ma requete, puisque je l'utilise en passant par la constante REQ_INSERT visible dans le code plus haut :
Public Const REQ_INSERT As String = "Insert Into client(NUMCTR,CTRRAT,NOMCTR,NUMTVA,TYPACT,ADRPLG,ADRDRG,CODPOS,VILCLI,CODPAY,NUMTEL,NUMFAX,CODLAN,CODBAN,CODGUI,CPTBAN,CLEBAN,NOMCOM,CODMON,MOYPAI,NOMORG,ADRORG,ADRORG1,VILBAN,NOMTIT,DATSAI) Values ('999999','123456','GARNIER Florian','FR454545454','TRANSPORT INTERNATIONAL DE MARCHANDISES','65 KINGSTON ROAD','KINGSTON Bld Station','44120','Vertou','FRA','0044.0645.545.445','0468284612','FRA','010101','00044','11111111','55','AS24 FR','EUR','Virement','BPBA','P/O BOX44','POOLE','KINGSTON','Test - Test Ajout',DATE(1996/12/01))"
Piur précision, j'ai commencé à avoir un souci à partir du moment où j'ai voulu insérer la date, à la fin de la requete !
Merci d'avance pour l'aide que vous pourrez m'apporter :)
GarnierFlorian
Messages postés129Date d'inscriptionmardi 27 mai 2008StatutMembreDernière intervention26 juillet 2011 6 sept. 2010 à 15:33
Bonjour !!!
Je viens enfin de trouver la syntaxe exacte pour enregistrer une valeur de type date dans ma table foxpro !!
Et donc, les solutions sont :
Public Const REQ_INSERT As String = "Insert Into test(DATSAI) Values ({^2005/06/18})"
Public Const REQ_INSERT As String = "Insert Into test(DATSAI) Values (Date(2005,06,17))"
GarnierFlorian
Messages postés129Date d'inscriptionmardi 27 mai 2008StatutMembreDernière intervention26 juillet 2011 30 août 2010 à 09:44
Bonjour, je tiens juste à préciser que si je demande la syntaxe exacte pour ma requête, c'est parce que j'avais déjà testé cette méthode mais je n'avais pas réussi..
Je cite, un post que j'ai fait sur un autre forum :
Bon et bien je reviens vers où pour un problème simple dans ma requête : j'ai un soucis dans ma requete insert, impossible d'ajouter des dates..
J'ai essayé avec format, avec CDate, comme un string, en utilisant des quotes, des guillements, et des dièses..