Bonjour,

J'ai un sérieu probleme avec la méthode executeQuery() qui ne semble pas 
fonctionner, je ne comprends pas pourquoi.

L'instruction SQL n’est pas (ou mal) comprise par Basic. Le message d’erreur 
renvoie que la table est introuvable alors qu'elle existe bel et bien . Par 
ailleurs la requete fonctionne avec un Rowset ou lorsque elle est définie 
manuellement dans une requete enregistrée sous OOoBase. 

Voici le message d'erreur que me retourne OBasic

Runtime error basic 
Une exetion s’est produite 
Type com.sun.star.sdbc.SQLExeption 
Message : Table not found in statement [SELECT Nom FROM TabCV]

Je suis égelement à la recherche de la syntaxe SQL alternative au guillemet 
double, afin de pouvoir appeller des champs comportant des espaces dans une 
requete SQL insérée dans un programme basic (toujours via la méthode 
executeQuery, si j'arrive a la faire fonctionner)

Voici mon codage, basé sur les exemples extraits du livre  de Bernard 
marcelly "Programmation Openoffice.org 2"


Option Explicit

Sub LireResultatRequeteSQL()
dim maRequete As Object, resuQuery As Object
dim instrSQL As String, monSignet As Variant
dim execOK As Boolean, info As String, cr As String
cr = chr(13) 

ConnecterSource

instrSQL = "SELECT Nom FROM TabCV"

maRequete = maConnexion.createStatement()

resuQuery = maRequete.executeQuery(instrSQL) '<= message d'erreur ici

... 

end sub


Sub ConnecterSource()
Dim NomSource As String, login As String, password As String
Dim maSource As Object, monDbContext As Object
'Création du contexte
NomSource = "NBASEtest"
monDbContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
maSource=monDbContext.getByName(NomSource)
login = ""
password = ""
maConnexion = maSource.getConnection(login, password)

if IsNull(maConnexion) then
  MsgBox("Connexion impossible", 16)
else
  print "connexion à la base " & NomSource
end if
End Sub

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à