[Résolu][Calc] Afficher le résultat d'une requête sql dans une MsgBox

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
jojulie
Fraîchement OOthentifié
Messages : 6
Inscription : 25 juin 2015 14:20

[Résolu][Calc] Afficher le résultat d'une requête sql dans une MsgBox

Message par jojulie »

Bonjour à tous,
Je souhaite afficher le résultat d'une requête SQL type SELECT dans une Msg Box. Pour cela j'utilise l'opérateur LIKE qui pointe vers la valeur String d'une cellule (E13). Quand je remplace la valeur de la variable par le nom d'un pays en anglais il me le transcrit en Français. Dès que j'insère la variable avec l'opérateur & ça plante. :oops:
J'ai cherché dans le suprême de code, j'ai tenté de mettre démettre guillemet et simple quote en vain.
Je pense que la solution est toute bête mais bon je m'arrache les cheveux :fou:
En vous remerciant

Code : Tout sélectionner

Sub RequeteBase_V02 
Dim oDBContext As Object , oDB As Object , oBase As Object  
Dim oStatement As Object , oRequete As Object 
Dim strSQL As String , Fichier As String 
Dim feuille as object, cellule as String

feuille = ThisComponent.getSheets.getByName("Feuille1") 
cellule = feuille.getCellRangeByName("E13").String

MsgBox cellule

Fichier = ConvertToURL("adresse de ma base") 
  
oDBContext = CreateUnoService("com.sun.star.sdb.DatabaseContext") 
oDB = oDBContext.getbyName(Fichier) 
  
oBase = oDB.getConnection("","")  
oStatement = oBase.createStatement()  
  
strSQL = "SELECT ""NameFR"" FROM ""sql-pays"" WHERE ""NameGB"" LIKE '& cellule'"
oRequete = oStatement.executeQuery( strSQL )  
  
If Not IsNull(oRequete) Then 

  While oRequete.next 
  	  test= test & oRequete.getString(1) & Chr(13)
      
  Wend 


   MsgBox test
End If 
  
oRequete.Close 
oStatement.Close 
oBase.Close 
oBase.Dispose 
End Sub
open office 4.1.1 win 7
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9819
Inscription : 28 août 2010 08:45

Re: [Calc] Afficher le résultat d'une requête sql dans une MsgBox

Message par micmac »

Bonjour,
Dans votre signature il y a écrit : ©open office 4.1.1 win 7
Votre signature fait mention d'une version d'OpenOffice qui n'est plus maintenue.
Si c'est une obligation ou un choix mentionnez-le par Obligation de version ou Choix dans votre signature afin de ne pas être relancé.

Connaître la version de Apache OpenOffice (AOO) ou LibreOffice (LibO) installée

Afin de profiter des dernières améliorations, pensez à être à jour de la dernière version officielle

Accès direct à votre signature pour la corriger.

Cordialement
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
jojulie
Fraîchement OOthentifié
Messages : 6
Inscription : 25 juin 2015 14:20

[RESOLU] [Calc] Afficher le résultat d'une requête sql dans une MsgBox

Message par jojulie »

C'est bon je viens de trouver en farfouillant voici le correctif il manquait les %
:marto:
En espérant que cela serve à quelqu'un je passe en mode Résolu

Code : Tout sélectionner

strSQL = "SELECT ""NameFR"" FROM ""sql-pays"" WHERE ""NameGB"" LIKE '%" & cellule & "%'"
Dernière modification par jojulie le 24 janv. 2025 14:42, modifié 1 fois.
open office 4.1.1 win 7
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9819
Inscription : 28 août 2010 08:45

Re: [Calc] Afficher le résultat d'une requête sql dans une MsgBox

Message par micmac »

Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25976
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Afficher le résultat d'une requête sql dans une MsgBox

Message par Dude »

Salut,
jojulie a écrit : 21 janv. 2025 16:25 J'ai cherché dans le suprême de code, j'ai tenté de mettre démettre guillemet et simple quote en vain.
De quel suprême parles-tu ?
Merci d'indiquer l'hyperlien de la ressource que tu as consulté.

Le fait d'avoir oublié le % n'était pas la cause de l'erreur

Code : Tout sélectionner

strSQL = "SELECT ""NameFR"" FROM ""sql-pays"" WHERE ""NameGB"" LIKE '& cellule'"
Forcément si tu intègres ta variable dans la chaîne, ça ne peut pas fonctionner.

Une autre solution lorsqu'on cherche à passer des paramètres est d'utiliser la méthode prepareStatement
Lire le dernier paragraphe de ce fil : https://beaussier.com/sections/viewtopic.php?f=8&t=1577
jojulie
Fraîchement OOthentifié
Messages : 6
Inscription : 25 juin 2015 14:20

Re: [Résolu][Calc] Afficher le résultat d'une requête sql dans une MsgBox

Message par jojulie »

De quel suprême parles-tu ?
Merci d'indiquer l'hyperlien de la ressource que tu as consulté.
J'ai cherché mais j'ai pas pu retrouvé le site :oops:
Le fait d'avoir oublié le % n'était pas la cause de l'erreur
Tu as raison le % sert seulement à être remplacé par n'importe quel caractère :oops: :oops:

Code : Tout sélectionner

strSQL = "SELECT ""NameFR"" FROM ""sql-pays"" WHERE ""NameFR"" LIKE '" & cellule2 & "'"
Du coup c'est résolu quand même... :P
open office 4.1.1 win 7