export dans excel du résultat d'une requête avec paramètre
Bonjour,
cette nouvelle discussion est la suite de celle présentée à l'adresse suivante :
http://www.developpez.net/forums/d99...-date-requete/
dans l'ordre de la cinématique
- Formulaire F_reporting : saisie de 2 variables date (txtdatdeb et txtdatfin) & envoi vers formulaire F_reporting_AA
- Fomulaire F_Reporting_AA avec affichage résultat requête access déterminé par les 2 variables date
- Formulaire F_Reporting_AA : bouton d'export du résultat de la requête dans un fichier excel pré-formaté
Après avoir réussi à exécuter une requête dans un formulaire F_Reporting_AA à l'aide de 2 variable date d'un autre formulaire, sur ce même formulaire, nous avons ajouté un bouton pour exporter le résultat de la requête dans un fichier excel pré-formaté.
La procédure générant le contenu du fichier fonctionne dans la mesure où la requête ne contient pas de paramètres type txtdatdeb et txtdatfin à passer
Voici un extrait de la procédure
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
Private Sub cmd_Reporting_FollowUp_Click()
On Error GoTo Err_cmd_Reporting_FollowUp_Click
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim AppliExcel As Excel.Application
Dim FicXLS As Excel.Workbook
Dim strComment As String
Dim strPaysTraité As String
Dim LineTraitee As Long
Dim Chemin_FollowUp As String
Dim Onglet_FollowUp As String
Dim TopIncAgr As String
' Vérifie que les paramêtres servant à localiser le reporting à compléter, sont corrects
Chemin_FollowUp = fctGetParametre("CHEMIN_MODELE_FOLLOWUP")
Onglet_FollowUp = fctGetParametre("ONGLET_MODELE_FOLLOWUP")
If IsNull(Chemin_FollowUp) Or Chemin_FollowUp = "" _
Or IsNull(Onglet_FollowUp) Or Onglet_FollowUp = "" Then
MsgBox "Le chemin d'accès au Modèle de reporting Follow up ou bien le nom de l'onglet est inconnu. Modifier la table des paramètres.", _
vbOKOnly, "Erreur de paramétrage"
GoTo Exit_cmd_Reporting_FollowUp_Click
End If
' DoCmd.OutputTo acOutputQuery, Onglet_FollowUp, acSpreadsheetTypeExcel9, "gKSP Follow up.xls", True
DoCmd.SetWarnings False
DoCmd.Hourglass True
' Ouvre EXCEL
Set AppliExcel = New Excel.Application
AppliExcel.Visible = True
AppliExcel.Cursor = xlWait
' AppliExcel.ScreenUpdating = False
' Ouvre le fichier Template et récupère les informations
Set FicXLS = AppliExcel.Workbooks.Open(Chemin_FollowUp, False, True) ', Password:="xxxxxxxx")
'----------------------------------------------------------------------------
' Importe dans Excel les informations
'----------------------------------------------------------------------------
' Accède à la requête du reporting Follow up
Set db = CurrentDb
' ===> Requête à corriger . Il manque le passage des paramètres txtdatdeb et txtdatfin .....
Set rst = db.OpenRecordset("SELECT * FROM R_Reporting_AA")
' Balaye tous les enregistrements
LineTraitee = 7
rst.MoveFirst
Do While Not rst.EOF
TopIncAgr = "Non"
FicXLS.Worksheets(Onglet_FollowUp).Range("A" & LineTraitee) = rst![type inc]
If rst![Top incident agrégé] = True Then
TopIncAgr = "Oui"
End If
FicXLS.Worksheets(Onglet_FollowUp).Range("B" & LineTraitee) = TopIncAgr
...... |
Ma question est de savoir comment faire passer les 2 variables dates (txtdatdeb et txtdatfin ) saisies dans le formulaire F_Reporting , dans le code ci-dessous au niveau du "Set rst" ?
ou dois-je plutôt stocker le résultat de la requête déjà effectuée dans le formulaire F_Reporting_AA (qui contient le bouton pour l'export dans le fichier excel dont nous parlons) ? Si oui, comment ?
en vous remerciant par avance pour vos réponses.