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.
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
Je quitte ma Form pour en ouvrir une autre en faisant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    Me.AdodcR1.Recordset.Update
    Me.AdodcR1.Recordset.Close
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
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
J'obtiens un message d'erreur <Impossible d'accéder à tititoto.xls>

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