Bonjour tout le monde.
En éxécutant un code VBA, j'ai une erreur qui survient:
Voici mon code de l'ODBC:
et voici ma requête SQL:
Là je comprend vraiment pourquoi il refuse de marcher, la jointure dans la requête est faite, toutes mes conditions sont mises.
Et il plante 😕
Si quelqu'un voit mon erreur, je lui serai reconnaissant de me la faire connaître, je sèche complêtement 🙁
Merci d'avance,
Thomas
PS: dsl, pas de fichier joint possible, trop lourd, et données confidentielles
En éxécutant un code VBA, j'ai une erreur qui survient:
Erreur 1004
Source de données incomplête
Voici mon code de l'ODBC:
Code:
Private Sub RecupererCommande(CodeGroupe As Integer)
Sheets("RecupDonneesCommandes").Activate
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=Inference;UID=***;PWD=***;DatabaseName=Inference;EngineName=sInference;AutoStop=NO;Integrated=No;Debug=NO;DisableMultiRowFe" _
), Array("tch=NO;CommLinks=SharedMemory,TCPIP{ServerPort=3333};Compress=NO")), _
Destination:=Range("A1"))
.CommandText = TexteReq(CodeGroupe)
.Name = "Lancer la requête à partir de Inference"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=True
End With
End Sub
et voici ma requête SQL:
Code:
Private Function TexteReq(CodeGroupe As Integer) As String
Dim LaDate As String
LaDate = CStr(dtpDateEtat.Year)
If dtpDateEtat.Month >= 10 Then
LaDate = LaDate & "-" & CStr(dtpDateEtat.Month)
Else
LaDate = LaDate & "-0" & CStr(dtpDateEtat.Month)
End If
If dtpDateEtat.Day >= 10 Then
LaDate = LaDate & "-" & CStr(dtpDateEtat.Day)
Else
LaDate = LaDate & "-0" & CStr(dtpDateEtat.Day)
End If
Dim Req As String
Req = "SELECT cde_fourn.code_fourn, Max(ligne_cde_fourn.num_ligne), Sum(ligne_cde_fourn.qte), ligne_cde_fourn.code_type_achat "
Req = Req & "FROM cde_fourn cde_fourn, ligne_cde_fourn ligne_cde_fourn "
Req = Req & "WHERE cde_fourn.num_cde = ligne_cde_fourn.num_cde AND ((cde_fourn.date_cde Like '" & LaDate & "%')) "
Req = Req & "AND cde_fourn.code_grp_ = '" & CStr(CodeGroupe) & "' "
Req = Req & "GROUP BY cde_fourn.code_fourn, ligne_cde_fourn.code_type_achat "
Req = Req & "ORDER BY cde_fourn.code_fourn, ligne_cde_fourn.code_type_achat"
End Function
Là je comprend vraiment pourquoi il refuse de marcher, la jointure dans la requête est faite, toutes mes conditions sont mises.
Et il plante 😕
Si quelqu'un voit mon erreur, je lui serai reconnaissant de me la faire connaître, je sèche complêtement 🙁
Merci d'avance,
Thomas
PS: dsl, pas de fichier joint possible, trop lourd, et données confidentielles