Bonjour,
J'ai un formulaire devant me permettre d'exporter une requete temporaire sous excel en fonction de plusieurs choix : la zone de stock des produits (locaux ou stock) et le BU.
J'ai déja utilisé un code similaire avec succès et si je n'active aucun filtre, tout fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Private Sub BtnEtatStock_Click() Dim SQL As String SQL = "SELECT Produit.PartNumber, Produit.Designation, Produit.NFournisseur, Produit.RefFournisseur, ReqCalculStockEtLocauxBU.BU, ReqCalculStockEtLocauxBU.QteBULocaux, ReqCalculStockEtLocauxBU.QteBUStock, ReqDernierPxU.DernierPrixU FROM (ReqCalculStockEtLocauxBU INNER JOIN Produit ON ReqCalculStockEtLocauxBU.NProduit=Produit.NProduit) INNER JOIN ReqDernierPxU ON Produit.NProduit=ReqDernierPxU.NProduit " If CocheLieu2 Then If ModifLieu2 = "Stock" Then SQL = SQL & "And ReqCalculStockEtLocauxBU!QteBUStock > 0" End If If ModifLieu2 = "LocauxShaktiware" Then SQL = SQL & "And ReqCalculStockEtLocauxBU!QteDansLocaux >0" End If End If If CocheBU2 Then SQL = SQL & "ReqCalculStockEtLocauxBU!BU='" & ModifBU2 & "'" End If Set qd = CurrentDb.CreateQueryDef("Requete_Temporaire", SQL) DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "Requete_Temporaire", "C:\Documents and Settings\guest\Mes documents\EtatDesStock.xls" DoCmd.DeleteObject acQuery, "Requete_Temporaire" Set xls = CreateObject("Excel.Application") xls.Workbooks.Open "C:\Documents and Settings\guest\Mes documents\EtatDesStock.xls" xls.Visible = True End sub
En revanche si j'active le filtre sur le lieu j'ai une erreur du type :
"Expression de jointure non supportée"
Et avec le filtre sur le BU une autre erreur :
"Erreur de syntaxe (opérateur absent dans l'expression 'Produit.NProduit = ReqDernierPxU.NProduit ReqCalculStockEtLocauxBU=""."
Une idée sur l'origine des erreurs?
Merci d'avance
Partager