probleme excécution de requête
Bonjour, j'ai un problème pour excécuter une requette a partir d'un formulaire access.
J'ai créer un formulaire avec un champs text pour saisir un numero de semaine.
Je voudrai que lorsque que l'on appuis sur un bouton il sélectionne les donnée d'une requete en fonction du numero de la semaine et qu'il les mettent dans ue feuille excel deja existante.
J'ai regardé sur plein de forum et je m'y perd.
Je n'arrive même pas a exécuter la requete en mode selection avec comme critere le num semaine du form.
pouvez vous m'aider svp.
Je met mon code qui ne doit pas etre bon du tout.
Ce qui est en commentaire cpour exporter les donnée de la requette sous excel. (enfin je pense).
merci d'avance.
Code:
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 32 33 34 35 36 37 38 39 40
| Private Sub go_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim str As Integer
str = Me!numsem.Value
Dim Query As String
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim sSQL As String
Set db = CurrentDb
sSQL = "SELECT [En tête].Date, [En tête].Semaine, [En tête].Equipe, Groupe.Groupe, Sum(Production.[NB Palette]) AS [SommeDeNB Palette], Sum(Production.[NB Caisse]) AS [SommeDeNB Caisse] "
sSQL = sSQL & "FROM ([En tête] INNER JOIN Production ON [En tête].[N° OZP] = Production.[N° OZP]) INNER JOIN Groupe ON [En tête].[N° Groupe] = Groupe.[N° Groupe] "
sSQL = sSQL & "GROUP BY [En tête].Date, [En tête].Semaine, [En tête].Equipe, Groupe.Groupe "
sSQL = sSQL & " HAVING ((([En tête].Semaine) =" & [str] & ")) "
sSQL = sSQL & "ORDER BY [En tête].Date, [En tête].Equipe, Groupe.Groupe;"
MsgBox (sSQL)
Set rs = db.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
rs.Close
'Set xlApp = CreateObject("Excel.Application")
'xlApp.Visible = True
'xlApp.workbooks.Open ("C:\Documents and Settings\e98685\My Documents\liaison des fichier\apres/Rendement.xls")
'xlApp.workbooks("Rendement.xls").sheets("Recup").Activate
'Range("A2").Select
'Do While Not rs.EOF 'Répéter tant qu'on est pas à la fin
'ActiveCell.Value = rs.Fields(0) 'on écrit le contenu du champ 1
'ActiveCell.Offset(0, 1).Value = rs.Fields(1) 'à droite celui du champ 2
'ActiveCell.Offset(0, 2).Value = rs.Fields(2) '2 colonne à droite celui du champ 3
'ActiveCell.Offset(0, 3).Value = rs.Fields(3)
'ActiveCell.Offset(0, 4).Value = rs.Fields(4)
'ActiveCell.Offset(1).Select 'lorqu'on a ecrit tout on descend
'rs.MoveNext 'on passe à l'enreg suivant (access)
'Loop 'et on recommence
End Sub |