Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

automatisation query parametre

2 réponses
Avatar
max-75
Bonjour,

Blaise Cacramp a ecrit ce script (merci encore- je le remet en
integralite cel=E0 pourrait etre utile =E0 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 =E0 l'adapter pour
l'utiliser dans des requetes parametrees.
Mes requetes (faites avec l'interface) font references =E0 des
parametres style
"Between [forms]![swb]![startdate] And [forms]![swb]![enddate]" .
Elles fonctionnent parfaitement manuellement.
J'aimerais (svp) ne pas avoir =E0 concatener le code sql avec des
variables provenant du form ( ...where ID=3D&"idcustomer...) mais comme
je l'ai vu par ailleurs, lancer la query telle quelle en indiquant =E0
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=EAtes actions
DoCmd.SetWarnings False

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

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

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

DoCmd.SetWarnings True

' avec ADO, ici select
sSql =3D "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 =3D CreateObject("Excel.Application")
xlApp.Visible =3D false ' ou true( plus rapide dans le cas d'un
grand
tableau, quand la routine est au point)
Set xlBook =3D xlApp.Workbooks.Add 'dans le cas d'un classeur
vierge
' ou Set xlBook =3D xlApp.Workbooks.Open("x:\chemin\nom.xlt")
'dans le
cas d'un mod=E8le
' Ecrire quelques valeurs
Set xlSheet =3D xlBook.Worksheets("Feuil1") 'ou son vrai nom
dans
un mod=E8le (conseill=E9)

With xlSheet
For L =3D 1 To Rst.RecordCount
For C =3D 1 To 2
.Cells(L, C) =3D Rst(C - 1)
Next C
If Not Rst.EOF Then Rst.MoveNext
Next L
End With
MsgBox "fini ! "
xlApp.Visible =3D True
' Lib=E9rer les variables objet
Rst.Close
Set Rst =3D Nothing
Set xlSheet =3D Nothing
Set xlBook =3D Nothing
Set xlApp =3D Nothing
End If
End Sub

2 réponses

Avatar
Michel__D
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.
Avatar
max-75
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