Bonjour,
J'ai un problème de sortie avec un ADO Data Control (adodc).
Ne pas confondre avec adodb
Dans une Form, je remplis un datagrid à l'aide d'une connexion à un fichier Excel avec un controle Adodc et tout va bien.
Ma connexion se fait de la façon suivante.
Je quitte ma Form pour en ouvrir une autre en faisant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Me.AdodcR1.Enabled = True Me.DataGridR1.Enabled = True AdodcR1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = C:\Dossier8\" & FmChoix.NomClient & ".xls;;Extended Properties=Excel 8.0;Persist Security Info=False" AdodcR1.CommandType = adCmdText AdodcR1.RecordSource = "SELECT * FROM [Decl_C$B11:D25] " AdodcR1.Refresh
Sur mon autre Form, je veux ouvrir mon fichier Excel pour entre autre faire un Printout comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Me.AdodcR1.Recordset.Update Me.AdodcR1.Recordset.Close
J'obtiens un message d'erreur <Impossible d'accéder à tititoto.xls>
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 Private Sub Command1_Click() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlRang As Excel.Range Dim xlSheet As Excel.Worksheet Dim Fichier As String Fichier = "C:\Dossier8\" & FmChoix.NomClient & ".xls" Set xlApp = New Excel.Application ' Création de l'objet EXCEL 8.0 With xlApp ' Ouverture du document XLS Set xlBook = .Workbooks.Open(FileName:=Fichier, ReadOnly:=False, Editable:=True) Set xlSheet = xlBook.Worksheets("Decl_C") End With xlApp.Visible = False xlSheet.PrintOut
Si je ferme mon application et je colle mon code sur une Form d'une autre application, ça fonctionne très bien.
Vous avez compris que "tititoto", c'est le NomClient puisque l'utilisateur fait le choix du fichier à ouvrir.
Avec tous les test que j'ai fais, le problème dépend de la connexion de Adodc qui reste vivante.
Adodc.recordset.Close existe, mais Adodc.Connection.Close n'exixte pas. Comment peut-on libérer cette connexion.
Merci
Partager