automatisation query parametre

Le
max-75
Bonjour,

Blaise Cacramp a ecrit ce script (merci encore- je le remet en
integralite celà pourrait etre utile à d'autre).
Ce script permet d'envoyer le resultat d'une query dans un fichier
excel specifique en mentionnant l'onglet et les cellules de
destination.
Le seul inconvenient c'est que je n'arrive pas à l'adapter pour
l'utiliser dans des requetes parametrees.
Mes requetes (faites avec l'interface) font references à des
parametres style
"Between [forms]![swb]![startdate] And [forms]![swb]![enddate]" .
Elles fonctionnent parfaitement manuellement.
J'aimerais (svp) ne pas avoir à concatener le code sql avec des
variables provenant du form ( where ID=&"idcustomer) mais comme
je l'ai vu par ailleurs, lancer la query telle quelle en indiquant à
Access ou il doit trouver la date de depart et de fin.(utilisation de
querydef?)

merci encore et encore.


Sub Test_xl4()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim L As Long
Dim C As Integer

Dim sSql As String
Dim Rst As New ADODB.Recordset

'Vos requêtes actions
DoCmd.SetWarnings False

sSql = "UPDATE ()" _
& " WHERE ();"
DoCmd.RunSQL sSql

sSql = "UPDATE ()" _
& " WHERE ();"
DoCmd.RunSQL sSql

sSql = "UPDATE ()" _
& " WHERE ();"
DoCmd.RunSQL sSql

DoCmd.SetWarnings True

' avec ADO, ici select
sSql = "SELECT Tbl_Poste.CP_Code, Tbl_Poste.CP_Localite" _
& " FROM Tbl_Poste;"
Rst.Open sSql, CurrentProject.Connection, adOpenStatic
If Rst.EOF Then
Beep
MsgBox "pas d'enregistrements"
Exit Sub 'pas d'enregistrements
Else
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = false ' ou true( plus rapide dans le cas d'un
grand
tableau, quand la routine est au point)
Set xlBook = xlApp.Workbooks.Add 'dans le cas d'un classeur
vierge
' ou Set xlBook = xlApp.Workbooks.Open("x:cheminom.xlt")
'dans le
cas d'un modèle
' Ecrire quelques valeurs
Set xlSheet = xlBook.Worksheets("Feuil1") 'ou son vrai nom
dans
un modèle (conseillé)

With xlSheet
For L = 1 To Rst.RecordCount
For C = 1 To 2
.Cells(L, C) = Rst(C - 1)
Next C
If Not Rst.EOF Then Rst.MoveNext
Next L
End With
MsgBox "fini ! "
xlApp.Visible = True
' Libérer les variables objet
Rst.Close
Set Rst = Nothing
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End If
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel__D
Le #20666921
max-75 a écrit :
Bonjour,

Blaise Cacramp a ecrit ce script (merci encore- je le remet en
integralite celà pourrait etre utile à d'autre).
Ce script permet d'envoyer le resultat d'une query dans un fichier
excel specifique en mentionnant l'onglet et les cellules de
destination.
Le seul inconvenient c'est que je n'arrive pas à l'adapter pour
l'utiliser dans des requetes parametrees.
Mes requetes (faites avec l'interface) font references à des
parametres style
"Between [forms]![swb]![startdate] And [forms]![swb]![enddate]" .
Elles fonctionnent parfaitement manuellement.
J'aimerais (svp) ne pas avoir à concatener le code sql avec des
variables provenant du form ( ...where ID=&"idcustomer...)



Ben c'est pourtant à mon avis le plus simple.
max-75
Le #20666911
On Nov 30, 8:46 pm, Michel__D wrote:
max-75 a écrit :

> Bonjour,

> Blaise Cacramp a ecrit ce script (merci encore- je le remet en
> integralite celà pourrait etre utile à d'autre).
> Ce script permet d'envoyer le resultat d'une query dans un fichier
> excel specifique en mentionnant l'onglet et les cellules de
> destination.
> Le seul inconvenient c'est que je n'arrive pas à l'adapter pour
> l'utiliser dans des requetes parametrees.
> Mes requetes (faites avec l'interface) font references à des
> parametres style
> "Between [forms]![swb]![startdate] And [forms]![swb]![enddate]" .
> Elles fonctionnent parfaitement manuellement.
> J'aimerais (svp) ne pas avoir à concatener le code sql avec des
> variables provenant du form ( ...where ID=&"idcustomer...)

Ben c'est pourtant à mon avis le plus simple.



Disons que je prefere pour des raisons de maintenance.
Je souhaite n'enter dans le code que pour ajouter le nom des query et
leurs coordonées.
Pour mon besoin et mes connaissances limites en prog, je pense que
celà sera plus facile pour moi ou un backup d'intervenir sur le
contenu à partir de l'interface.
Le code ne servant qu'à executer les taches repetitives...du moins en
pour le moment.

à moins bien sur que celà ne soit pas possible..

merci
Publicité
Poster une réponse
Anonyme