Requette Sql avec Excel [Résolu]

Signaler
Messages postés
230
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
5 juin 2007
-
Messages postés
230
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
5 juin 2007
-
Bonjour....

Je vous explique ce que je voudrai faire :
J'ai recuperer des tables d'une BDD que j'ai mis dans différentes feuilles excel. Non content des resultats du "rechercheV", qui me sort la première occurence de ce que je cherche et pas les suivantes, je voudrais savoir s'il est possible de manière simple de créer des requettes SQL toutes betes d'affichage de données selon un voire deux critères.

Je ne dispose que d'excel (2000) et pas d'access..... sinon !!!

Merci d'avance....

Nag

2 réponses

Messages postés
132
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
11 mai 2010

Bonjour,



Tu peux t'inspirer du code suivant, il insère dans une feuille Excel des éléments joints

de plusieurs tables selon la résultat d'une saisie dans un userform (date).




' ***** DEMANDE L'ACTIVATION DU COMPOSANT MICROSOFT ACTIVEX DATA OBJECT 2.7 LIBRARY

' ***** DEPUIS MENU "OUTILS" - "RÉFÉRENCES"



Dim Cnx As New ADODB.Connection

Dim Rst As New ADODB.Recordset

Dim Année As String * 4

Dim Mois As String * 2

Dim Jour As String * 2

Dim AMJ As String * 8

Dim Req1 As String

Dim Req2 As String

Année = TextBox1

Mois = TextBox2

Jour = TextBox3

AMJ = Année & Mois & Jour



' ***** INSTRUCTIONS DE SÉLECTION DES CHAMPS ET DE JOINTURE *****

Req1 = "select d.inputdate, cu.inv_name, c.sit_name, c.sit_town, a.ct_name, a.ct_town, d.dwgbbsnum, "

Req1 = Req1 & "d.esrc_file, d.rc_num, r.ps_code, r.fabweight, d.delivstart, r.cust_ref from dwgbbs as d "

Req1 Req1 & "join ref_ps as r on r.esrc_file
d.esrc_file and r.rc_num d.rc_num and r.ps_title d.dwgbbsnum "

Req1 Req1 & "join contract as c on c.esrc_file d.esrc_file and c.rc_num = d.rc_num "

Req1 = Req1 & "left join contradr as a on
a.esrc_file d.esrc_file and a.es_num d.es_num and a.seq_num =
r.addr_num "

Req1 Req1 & "join customer as cu on cu.cust_code c.cust_code"



' ***** SÉLECTION SELON DATE SAISIE DANS LE FORMULAIRE *****

Req2 "where d.esrc_file 'cht05' and d.rc_num <> 5 and d.inputdate = " & AMJ

Req1 = Req1 & " " & Req2



' ***** OUVERTURE DE LA BASE *****

Cnx.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=Favre;Data Source=Serveur-corc"



' ***** RECHERCHE DE LA DERNIÈRE CELLULE NON VIDE *****

Range("A10000").Select

Selection.End(xlUp).Select



' ***** OUVERTURE DU RECORDSET *****

Rst.Open Req1, Cnx, adOpenKeyset



' ***** COPIE DU RECORDSET DEPUIS LA LIGNE SUIVANTE *****

ActiveCell.Offset(1, 0).CopyFromRecordset Rst



' ***** FERMETURE ET VIDAGE *****

Rst.Close: Set Rst = Nothing

Cnx.Close: Set Cnx = Nothing

Unload UserForm1





Bon(nes) courage, développement, salutations...
(choisissez ce qui vous convient) dp
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
230
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
5 juin 2007

Ok super....

Merci beaucoup... Ca marche tres bien.....

Encore merci !!!

Nag