Problème de requête insert sur une table foxpro [Résolu]

Messages postés
129
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
26 juillet 2011
- - Dernière réponse : GarnierFlorian
Messages postés
129
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
26 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 :)

Peace

GARNIER Florian
 
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
129
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
26 juillet 2011
3
Merci
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))"


Peace




 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de GarnierFlorian
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
3
0
Merci
Bonjour,

Lors d'insertion de dates, il faut habituellement les encadrer avec des #


L'expérience, c'est une connerie par jour, mais jamais la même..
Commenter la réponse de lolokun
Messages postés
129
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
26 juillet 2011
0
Merci
Peut-tu me donner la syntaxe exacte vis à vis de ma requete stp ?

Merci
 
Commenter la réponse de GarnierFlorian
Messages postés
129
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
26 juillet 2011
0
Merci
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..

Et j'ai toujours syntax error..



Merci d'avance,

Peace

 
Commenter la réponse de GarnierFlorian