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