Bonjour,
J'ai fait une petite application qui permet à l'utilisateur de trouver une valeur d'un tableau Excel selon 6 critères a l'aide de combobox.
Désormais l'application doit pouvoir sélectionner des valeurs selon 1, 2, ... ou 6 critères. Comme je ne connais pas la gestion des filtres élaboré, j'ai opté pour la solution base Acces et requête SQL, J'ai testé seulement avec une condition mais ca ne marche pas et je ne vois pas du tout le problème!!
Le message d'erreur est 'Requête SQL incorrecte' ou quelque chose comme ça...
Private Sub cmd_filtre_Click()
Dim requete As String
requete = " SELECT SD_011009.STUDY SD_011009.TIMEP SD_011009.LIBELEC SD_011009._NAME_" & vbCrLf & _
"FROM SD_011009" & vbCrLf & _
" WHERE SD_011009.STUDY LIKE '" + CBETUDE.Value + "';"
Module1.Connect (requete)
End Sub
Sub Connect(requete As String)
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=V:\Ouputs\SD_TRY.mdb;DefaultDi" _
), Array( _
"r=V:\Ouputs;DriverId=25;FIL=MS Access;MaxBufferSize=2048;" _
), Array("PageTimeout=5;")), Destination:=Range("A22"))
.CommandText = requete
.Name = "Requete"
.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:=False
End With
End Sub
Mais si vous voyez une solution plus simple je suis ouverte!!
Un grand merci pour votre aide.
J'ai fait une petite application qui permet à l'utilisateur de trouver une valeur d'un tableau Excel selon 6 critères a l'aide de combobox.
Désormais l'application doit pouvoir sélectionner des valeurs selon 1, 2, ... ou 6 critères. Comme je ne connais pas la gestion des filtres élaboré, j'ai opté pour la solution base Acces et requête SQL, J'ai testé seulement avec une condition mais ca ne marche pas et je ne vois pas du tout le problème!!
Le message d'erreur est 'Requête SQL incorrecte' ou quelque chose comme ça...
Private Sub cmd_filtre_Click()
Dim requete As String
requete = " SELECT SD_011009.STUDY SD_011009.TIMEP SD_011009.LIBELEC SD_011009._NAME_" & vbCrLf & _
"FROM SD_011009" & vbCrLf & _
" WHERE SD_011009.STUDY LIKE '" + CBETUDE.Value + "';"
Module1.Connect (requete)
End Sub
Sub Connect(requete As String)
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=V:\Ouputs\SD_TRY.mdb;DefaultDi" _
), Array( _
"r=V:\Ouputs;DriverId=25;FIL=MS Access;MaxBufferSize=2048;" _
), Array("PageTimeout=5;")), Destination:=Range("A22"))
.CommandText = requete
.Name = "Requete"
.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:=False
End With
End Sub
Mais si vous voyez une solution plus simple je suis ouverte!!
Un grand merci pour votre aide.