Requette paramétré entre excel et acces et autres opération...

Signaler
Messages postés
2
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
23 novembre 2004
-
Messages postés
2
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
23 novembre 2004
-
Bonjour les Codeurs fous ;-)

Alors autant vous le dire tout de suite je sais bien programé en php ou C++ mais pas du tout du tout en VB !!!

Et la on me demande de faire une chose que je penssait simple come tout mais ...

Voila j'ai un base Access (9 tables, relier par 2 "tables des faits")
Je doit coder des macro pour une boite.
outil : Office XP pro
Il veulent en fait remplir leur base acces par l'intermédiaire d'excel. Et aussi intéroger Access via excel.
Je précise quand même qu'il veullent ça sous forme de macro et pas un prog en vb (allez savoir pourkoi !).

Comme je ne sait pas coder en vb , je galére. Pour l'instant j'arive a intéroger la base sans probléme comme ce ci :

Sub test()
'
' test a mort
' Macro enregistrée le 23/11/2004 par Benoît
'

ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add _
(Connection:=Array(Array( _
"ODBC;DBQ=C:\Documents and Settings\Benoît\Mes documents\ECD\Projet_Mamo\Bdd\Premisse\MamoTest.mdb;" _
), Array( _
"DefaultDir=C:\Documents and Settings\Benoît\Mes documents\ECD\Projet_Mamo\Bdd\Premisse;" _
), Array( _
"Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;" _
), Array( _
"MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;" _
), Array( _
"SafeTransactions=0;Threads=3;UserCommitSync=Yes;")), _
Destination:=Range("A1"))

'******************** Déclaration et saisie de la requéte :**************************
.CommandText = Array( _
"SELECT ETUDE.IdEtude, ETUDE.Designation, ETUDE.Date, CENTRE.Designation" _
, _
" FROM CENTRE INNER JOIN ETUDE ON CENTRE.IdCentre=ETUDE.IdCentre" _
, _
" WHERE (ETUDE.IdEtude=1);" _
)
.Name = "test"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
ActiveWorkbook.Save
End Sub

Ici c'est juste un parti des données que je doit extraire . Pour etre précis il s'agit ici que de l'entête du tableaux que cela doit générer.

Pour l'instant j'aimerai que dans ma clause where (WHERE (ETUDE.IdEtude=1)) il y est un parametre a la place du 1 et la valeur de ce parametre doit etre présente dans un célule de ma feuille excel( par exemple Cells (A,1)).

ça doit etre facile mais encore une fois je n'y connais rien en vb :(

Je suis au début de ce projet et je compte sur vous pour progresser a la vitesse du son en macro vba Excel !!!!

Par la suite j'aurai besoin d'aide pour généré une feuille excel qui nous fait un beau tableau multidimensionnel a partir de la base
et aussi une macro qui genére ce même tableaux mais vid, on rmpli ce tableux et boum une macro rempli la base !!

En gros y'a du boulot ça me fait peur !!!!

Si kelkun pouvai déja m'aider pour la paramétre ce serai cool :big)

Et sinon si vous avez des liens a me filer qui pourrais m'aider a réaliser ces macros assez vite je suis méga preneur.

Merci d'avance a touts ceux qui vont prendre de leur temps précieux a m'aider ;) ;) ;) ;) ;) ;) ;) ;) ;) ;)

1 réponse

Messages postés
2
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
23 novembre 2004

Re,

ok j'ai fait ça :

Dim idetu As String
Range("A1").Select
idetu = ActiveCell.FormulaR1C1

et dans ma requete :

WHERE (ETUDE.IdEtude=" + idetu + ")

ça fait l'affaire pour le param

Mais je réitére ma question pour avoir des soures svp.
En plus mon code est vraiment "a taton" , je suis sur que kelkun pourrai me proposer une maniere bien plus efficace ;-)
Des source pour des opération entre excelle et access svp !!!!
Ou pour faire un tableeux multidimentionel (genre tableaux croisé dinamyque selon les resultat de la requette)

Merci les gars et filles !!! ;)