Bonjour,
J'ai affaire à une base de données sous PL/SQL Developer, et j'aimerai interroger cette base via le VBA et dans le même temps, à chaque interrogation, je voudrais que les dates puissent s'incrémenter dans le même temps d'un "step" de 7 :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 select count(*) from e_envoi_souscription, e_cde_document, E_CDE where ((ees_mab_nume<>'0003' and ees_mab_nume<>'6300') or ees_mab_nume is null) and EES_ETAT='EN_COURS' and e_cde_document.cde_do_souscrip_ees_id = e_envoi_souscription.ees_id and e_cde_document.cde_do_ty_se_c='WV2' --and e_cde_document.cde_do_d between to_date('&date', 'dd/mm/yyyy hh24:mi:ss')-6 --and to_date('&date', 'dd/mm/yyyy hh24:mi:ss') and e_cde_document.cde_do_d between to_date('01/06/2009 00:00:00', 'dd/mm/yyyy hh24:mi:ss') and to_date('07/06/2009 23:59:59', 'dd/mm/yyyy hh24:mi:ss') and e_cde.cde_ty_se_c=e_cde_document.cde_do_ty_se_c and e_cde.cde_d=e_cde_document.cde_do_d and e_cde.cde_c=e_cde_document.cde_do_cde_c and ees_duree_mois>0 and e_cde.cde_souscript_eed_ees_id is null;
Du coup, j'aurai voulu d'abords savoir s'il était plus judicieux de faire cette incrémentation en VBA (possible ?) ou de le faire via PL/SQL Developer mais...comment ?
Je pense utiliser un Sysdate, afin d'obtenir la date du système et de l'utiliser comme date butoir puis à partir de ça, il faudrait que je puisse décrémenter chaque semaine depuis le 1er janvier 2009.
Au final, il faudrait que j'obtienne le résultat de ma requête entre le 1er janvier et le 4 janvier (1er semaine), puis du 5 janvier jusqu'au 11 janvier, puis du 12 janvier jusqu'au 18 et ainsi de suite...jusqu'à la date du système.
Enfin, je suis en possession d'une requête SQL qui me fournie un certain nombre de statistiques que j'aimerai incorporer dans un tableau Excel à l'aide d'une macro mais j'ai beaucoup de mal avec cette connexion (cependant...ce n'est peut être pas le bon endroit pour cette question...)
Voici mes premiers pas, peu concluant :
Merci d'avance pour votre préciseuse aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private Sub recupNumeroSemaine() 'Récupérer le numéro de la semaine actuelle Dim iNumeroSemaine As Integer iNumeroSemaine = DatePart("ww", Now()) End Sub Sub RemplirTableau() ' ' Macro1 Macro ' Macro enregistrée le 23/06/2009 par cman ' ' For i = 1 To iNumeroSemaine Step 1 Sheets("Semaine " & i - 1).Select Range("E6").Select With ActiveSheet.QueryTables.Add(Connection:= _ "FINDER;\\SSOPFIL01\GTC\Statistiques contractuelles\HEBDO\KBIS PERIODIQUES\Requete\Stats Kbis Périodiques New.sql" _ , Destination:=Range("E6")) _ End With Next End Sub
Cordialement,
Clément.
Partager