Bonjour Eric,
Cette erreur est typique de ce qui se passe lorsqu'on a déclaré une
table avec des champs avec les noms en minuscules ou comportant des
minuscules. Dans ce cas, pour accéder à ces champs il faut mettre les
noms entre guillemets doubles.
Voir le document "Initiation à SQL sous OOoBasic pour Base", à l'adresse
http://fr.openoffice.org/files/documents/67/3718/IntroSQL_Base_0.02.odt
C'est encore un draft car il y a des erreurs de frappe (mais le contenu
est juste).
Bon courage,
Louis
Louis Vidonne
Eric Belhomme a écrit :
Bonjour,
j'ai élaboré une petite BDD avec OOo Base, qui contient entre autre une
table T_CLIENT (id as integer IDENTITY, clientName as VarChar)
Dans une feuille Calc, j'ai une macro pour me connecter à cette base et y
insérer des données :
CreateDataSource("stats_factures")
SourceConnect("stats_factures")
dim sqlstr as string
dim maRequete as object
sheet = ThisComponent.Sheets.getByName("stats")
cell = sheet.GetCellByPosition(0,0)
sqlstr = "INSERT INTO T_CLIENT (clientName) VALUES ('" _
& cell.getString() & "')"
maRequete = maConnexion.createStatement()
nblignes = maRequete.executeUpdate(sqlstr)
SourceDisconnect()
Ce code provoque le message d'erreur suivant lors de l'éxecution de
l'instruction ExecuteUpdate :
Runtime error BASIC
Exception
Type com.sun.star.sdbc.SQLEXception
Message: Column not found: CLIENTNAME in statement [INSERT INTO T_CLIENT
(CLIENTNAME)].
Pourtant, ma chaine sqlstr est bien formée :
"INSERT INTO T_CLIENT (clientName) VALUES ('NOM CLIENT')"
De plus, en analysant mon objet maConnexion et en énumérant tables et
colonnes, j'accède bien à ma table "T_CLIENT", qui dispose bien d'une
colonne "clientName" !
Quelqu'un a-t-il déjà rencontré ce problème ???
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]