Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 problème avec un requête MySQL

José77

XLDnaute Occasionnel
Bonjour à tous,
Voilà le problème. Ce code fonctionne très bien, mais ....
Dim chemin As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

'Valeur du chemin
chemin = ThisWorkbook.Path

'Créer une nouvelle connexion
Set cn = New ADODB.Connection

'Définir les propriétés de connexion
cn.Provider = "Microsoft.ACE.OLEDB.12.0"
cn.ConnectionString = "Data Source =" & chemin & "\Adherents.accdb"
cn.Open
Set rs = New ADODB.Recordset

rs.Open "SELECT distinct stock.Prod FROM stock ORDER BY stock.Prod", cn
UserForm1.listBox1.Column = rs.GetRows

Mais .... Lorsque je remplace la ligne rs.Open etc ..... par

rs.Open "SELECT stock.Prod, stock.* FROM stock WHERE stock.Prod=" & rech, cn

rech étant une valeur resultant d'un combobox j'otiens le message d'erreur suivant:
aucune valeur donnée pour un ou plusieurs paramètres requis

Si quelqu'un peut m'éclairer ce ne serait pas de refus, car depuis un bon moment je perds mon latin.
D'avance merci
José
 

fanch55

XLDnaute Barbatruc
Salut à tous,
"SELECT stock.Prod, stock.* FROM stock WHERE stock.Prod=" & rech
Vous voulez seulement Prod ou tous les champs de stock?
La requête ne comprend pas la demande, Prod étant inclus dans "*" .

Si on se re ferre à la requête initiale, je pense que la bonne modif est :
SQL:
rs.Open "SELECT distinct Prod FROM stock WHERE Prod=" & rech, cn
 

José77

XLDnaute Occasionnel

Encore une fois merci beaucoup. Le problème venait des apostrophes que je ne savait pas mettre en place.
 

patricktoulon

XLDnaute Barbatruc
bonjour
la valeur de "rech" est un string ou un numerique
peut être que ca vient de là
si c'est un string cstr(rech)
si c'est un nombre voir si il faut pas remplacer le separateur

demande l'aide a robert (pseudo dysorthographie) le king en matière de requête adobd
 

merinos

XLDnaute Accro
Bonjour a tous,

Pourquoi employer VBA alors que Query existe?

j'ai retrouvé
Code:
let
    StartDate=DateBegin,
    EndDate=DateEnd,
    Source = Sql.Database("this-is-the-database-url.com", "TableNameHere",
    [Query="SELECT * FROM [TableNameHere].[dbo].[Logs] WHERE CreatedTime >='" &StartDate& "' AND CreatedTime <='" &EndDate& "' ",
    CommandTimeout=#duration(0, 0, 10, 0), HierarchicalNavigation=true, MultiSubnetFailover=true])
in
    Source

ici

Au plaisir,

Merinos
 

merinos

XLDnaute Accro
@Hasco:

Je ne sais...
mais je peux les alimenter par une table...
qui est elle même le résultat de QP.

Cordialement,

PS: Là je cherche aussi comment alimenter PQ à partir du resultat d'une formule matricielle. Juste pour la beauté car PQ peut fair le même boulot.


Merinos
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…