Page 1 sur 1

[Résolu] Sql et formulaire Openoffice2 Base

Publié : 07 juil. 2006 09:37
par Serge
Bonjour,

Je suis un utilisateur débutant d’OpenOffice Base. J’utilisais auparavant MsAccess 2003. La transition n’est pas évidente.

J’essaie de réaliser une petite application qui permettrait d’effectuer un suivi des livraisons de produits pétroliers. Dans un premier temps le but est d’éditer un état qui doit être mis à disposition de l’Administration.

J’ai commencé le développement.
Les tables sont créées. Je suis dans la phase d’élaboration des formulaires.
En fin de message le lien de la base de données qui s’intitule : « SuiviProduitsPetroliers »

Deux points, dans un premier temps car j’ai d’autres questions, que je ne parviens pas à traiter

1) Alimentation automatique d’un champ de table dans un formulaire à partir d’une autre table. Je voudrais que la zone « lieu livraison » du formulaire FmTbLivraisonProduits soit alimentée par la valeur du champ « Lieu_livraison1 » de la table client après avoir sélectionné le nom du client. J'ai déjà vu cette question sur le forum,mais la réponse concerne l'utilisation des zones de listes.

2) La deuxième question tient à une impossibilité d’exécuter une requête Sql via une macro. J’ai écrit plusieurs macros qui sont stockées dans la bibliothèque « Standard » de MesMacros. Je les ai également stockées dans la bibliothèque « Standard » sous-jacente au formulaire « FmPourStockageMacros » afin qu’elles puissent être récupérées. Elles ne peuvent pas être exécutées à ce niveau et doivent être recopiées dans MesMacros.

- Si je lance la macro NomTables. J’obtiens le résultat attendu : affichage des noms de tables.
Si je lance « RequeteSurUneTable », le message d’erreur suivant apparait :
Run time error Basic
Exception
Type : con.sun.star.sdbc.SQLExeption
Message : Table not found in statement [SELECT * FROM TbClients ]

Je comprends pas ce qui se passe.
Lien :
http://user.services.openoffice.org/fr/ ... 113316.odb



Si quelqu’un quelques idées sur ces points, je serai preneur

Merci

Re: Questions sur Sql et formulaire Openoffice2 Base

Publié : 07 juil. 2006 09:47
par Dredd
Serge a écrit :Type : con.sun.star.sdbc.SQLExeption
Message : Table not found in statement [SELECT * FROM TbClients ]
Bonjour

as tu lu ce fil pour la syntaxe lors de construction de requetes SQL ?
http://user.services.openoffice.org/fr/ ... c1543.html

Sql

Publié : 07 juil. 2006 10:13
par Serge
Dredd a écrit :
Bonjour

as tu lu ce fil pour la syntaxe lors de construction de requetes SQL ?
http://user.services.openoffice.org/fr/ ... c1543.html
_________________

Merci.

Je l'avais lu.
En testant de nouveau, je me rends compte que le problème doit venir du nom de la table.
En effet, si je tape la requête SQL suivante à partir de Sql de la barre d'outils :
SELECT * FROM TbClients j'obtiens le même message d'erreur qu'avec la macro. Par contre, si je tape SELECT * FROM "TbClients" cela marche.

Je ne vois toutefois pas comment le faire en mode macro puisque dans l'instruction Sql " ne peut pas être répété. Cela ne marche pas avec

"SELECT * FROM 'TbClients' "
Cela doit peut-être tenir à la syntaxe Sql.

Re: Sql

Publié : 07 juil. 2006 10:20
par Dude
Serge a écrit :Je ne vois toutefois pas comment le faire en mode macro puisque dans l'instruction Sql " ne peut pas être répété. Cela ne marche pas.
Si tu lisais le document jusqu'au bout. Il y a un lien à la fin qui te renvoie justement sur ce problème.
http://user.services.openoffice.org/fr/ ... c1454.html

Syntaxe Sql

Publié : 07 juil. 2006 11:57
par Serge
Effectivement, cela marche.
Merci beaucoup.

Il faudra que je sois plus attentif à lire les post it jusqu'au bout.

Je vais pouvoir poursuivre mon travail.

A plus tard. Certainement.

Publié : 10 juil. 2006 18:01
par Lio
Salut,

j'ai le même problème que serge. J'ai écrit le code suivant :

Code : Tout sélectionner

	oMSF=createunoService("com.sun.star.lang.MultiServiceFactory")
oDriverManager=oMSF.CreateInstance("com.sun.star.sdbc.DriverManager")   	
UrlBdd="sdbc:dbase:"+UrlBdd 'le chemin du fichier a été converti plus haut
oConnexion=oDriverManager.GetConnection(urlBdd)
oStatement=oConnexion.CreateStatement
Query="SELECT * FROM"+chr(34)"Biblio"+Chr(34)
oStatement.executeQuery(Query)
OOo me renvoie une sQLexception me disant que le statement ne contient pas de table valide

je comprends pas, j'ai lu le poste sur les requêtes SQL et le problème ne vient pas des "

Quelqu'un a-t-il une idée??
Le modérateur a écrit :Infraction à la règle n° 7
Sujet verrouillé