F
fodjio
Guest
Bonjour à tous,
j'utilise une connection ADODB pour importer une base de données contenue dans une feuille Excel.
Tout marche sauf que le programme (sur certains poste), m'ouvre les classeurs où sont situées les données (alors qu'ils doivent normalement rester fermés )
Vàci le code de connection ->
***************************************************
Const NomPlage As String = "BdD"
Dim i As Byte
Dim NomFichier As String
Dim RequeteSQL As String
Dim Reponse As Long
Dim ConnectionADODB As New ADODB.Connection
Dim RecordsetADODB As ADODB.Recordset
Dim CommandADODB As New ADODB.Command
RequeteSQL = "SELECT * FROM [" & NomPlage & "] " _
& "WHERE Tournée IS NOT NULL " _
& "ORDER BY Jour, Tournée, Produit, Référence, Teinte, Côté"
'Connection à la base de données
With ConnectionADODB
.Mode = adModeRead
On Error GoTo MauvaiseConnection
.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & FichierSource(i) & ";" & _
"Extended Properties=""Excel 8.0;HDR=yes;IMEX=1;"""
On Error GoTo 0
End With
With CommandADODB
.CommandType = adCmdText
.CommandText = RequeteSQL
.ActiveConnection = ConnectionADODB
End With
Set RecordsetADODB = CommandADODB.Execute
TabBase(i).Range("A2").CopyFromRecordset RecordsetADODB
RecordsetADODB.Close
ConnectionADODB.Close
*******************************************************
valà, merci de me donner une explication ou encore mieux une solution...
En esperant, d'avance merci beaucoup...
j'utilise une connection ADODB pour importer une base de données contenue dans une feuille Excel.
Tout marche sauf que le programme (sur certains poste), m'ouvre les classeurs où sont situées les données (alors qu'ils doivent normalement rester fermés )
Vàci le code de connection ->
***************************************************
Const NomPlage As String = "BdD"
Dim i As Byte
Dim NomFichier As String
Dim RequeteSQL As String
Dim Reponse As Long
Dim ConnectionADODB As New ADODB.Connection
Dim RecordsetADODB As ADODB.Recordset
Dim CommandADODB As New ADODB.Command
RequeteSQL = "SELECT * FROM [" & NomPlage & "] " _
& "WHERE Tournée IS NOT NULL " _
& "ORDER BY Jour, Tournée, Produit, Référence, Teinte, Côté"
'Connection à la base de données
With ConnectionADODB
.Mode = adModeRead
On Error GoTo MauvaiseConnection
.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & FichierSource(i) & ";" & _
"Extended Properties=""Excel 8.0;HDR=yes;IMEX=1;"""
On Error GoTo 0
End With
With CommandADODB
.CommandType = adCmdText
.CommandText = RequeteSQL
.ActiveConnection = ConnectionADODB
End With
Set RecordsetADODB = CommandADODB.Execute
TabBase(i).Range("A2").CopyFromRecordset RecordsetADODB
RecordsetADODB.Close
ConnectionADODB.Close
*******************************************************
valà, merci de me donner une explication ou encore mieux une solution...
En esperant, d'avance merci beaucoup...