Voila j'ai un petit soucis avec un appli réaliser sous excel 97 avec une connection a une base access 97.
On me demande faire faire fonctionner cette appli sous excel 2003 et en utilisant toujours access 97.
dans cette appli j'ai des procédures qui font appel a la base de données forcément le code n 'est pas le meme.
Sous Vba 97 j ai le code suivant :
'Requete pour le CO
a = "select sum(" & Range("Parametre!E11") & ") from " & Range("Parametre!D7") & " where " & Range("Parametre!D11") & " like '" & Worksheets("COdispatcher").Cells(7, colCOd) & "';"
Sheets("COdispatcher").Select
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=MS Access 97 Database;DBQ=" & Range("Parametre!D6") & ";DefaultDir=N:\METHODES\_TRAVAIL;DriverId=281;FIL" _
), Array("=MS Access;MaxBufferSize=2048;PageTimeout=5;")), Destination:=Worksheets("COdispatcher").Cells(7, colCOd + 2)) 'emplacement du resultat
.Sql = a
.FieldNames = False 'Nom des champs de la BD
.RefreshStyle = xldeleteEntireRows ' Pour l insertion des nouvelles données
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = False 'surement a laisser
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = True
.SaveData = True
End With
J ai essayé de modifier ce code pour le rendre fonctionnel sous VB 6.3, ca donne ca :
'Déclaration des variables
Dim cnx As ADODB.connection
Dim rst As ADODB.Recordset
'Instanciation des variables
Set cnx = New ADODB.connection
Set rst = New ADODB.Recordset
'Requete pour le CO
'Connexion à la base de données
cnx.ConnectionString = "Provider=" & "Microsoft.Jet.Oledb.3.51" & ";DSN=" & "Ms Access 97 Database" & ";"
cnx.Open
'Exécution de la requête et récupération des données.
rst.Open "SELECT sum(" & Range("Parametre!E11") & ") from " & Range("Parametre!D7") & " where " & Range("Parametre!D11") & " like " & Worksheets("COdispatcher").Cells(7, colCOd).cnx
'rst.Fields ("") "et la je sais pas comment je fais pr recupérer les données!!!!!
ce que je voulais savoir c comment faire pour que mon resultat de la requete sql soit affecter a la feuille et a la cellulue correspondante (je sais pas si c compris ;))c'est a dire en faite ca en 97 : [Destination:=Worksheets("COdispatcher").Cells(7, colCOd + 2)) 'emplacement du resultat
]
merci pour votre aide je suis debutante en vba donc j ai essayé de faire ce que je peux mais bon je sais pas si c le bon chemin....