Bonjour, je vous présente mon programme en .net :

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 Public Sub Import_PortObl()
        Dim Rset As Integer
        Dim nada As String
 
        Rset = 0
 
        MyConnexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0        ;Data Source=H:\Antoine\CVaR\CreditVaR_PR.mdb"
        MyCommand = MyConnexion.CreateCommand()
        MyCommand1 = MyConnexion.CreateCommand() ' 
 
 
        'Nettoyage de la table INPUTS
        MyCommand.CommandText = "DELETE INPUTS.* FROM INPUTS;"
        MyAdapter = New OleDbDataAdapter(MyCommand)
        MyConnexion.Open()
        MyReader = MyCommand.ExecuteReader()
        MyReader.Close()
        MyConnexion.Close()
 
        ''Récupération des data non retraitées pour Mise à Jour de la table INPUTS
        MyCommand1.CommandText = " ma requête SQL"
 
 
        MyAdapter = New OleDbDataAdapter(MyCommand1)
        MyConnexion.Open()
        MyReader = MyCommand1.ExecuteReader()
 
        If MyReader.HasRows = False Then
            MsgBox("Requête Vide", MsgBoxStyle.Exclamation)
            Exit Sub
        End If
 
        Do While MyReader.Read()
            nada = MyReader.GetString(1)
            Rset = Rset + 1
        Loop
 
 
        Nb_Obligors = Rset
 
        ''Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
        MyAdapter.Fill(MyDataSet, "INPUTS") 'PROBLEME ICI A VOIR
 
        'On met alors dans un Objet DataTable une table du DataSet
        MyDataTab = MyDataSet.Tables("INPUTS")
        MyDataRow = MyDataSet.Tables("INPUTS").NewRow()
 
 
        'On crée alors une nouvelle ligne pour chaque point de la distribution
        For Rset = 1 To Nb_Obligors
        ...
        Next Rset
 
        Dim MyCommandBuilder1 As New OleDbCommandBuilder(MyAdapter)
        'Mise à jour de la table INPUTS
        MyAdapter.Update(MyDataSet, "INPUTS")
        'On vide le dataset
        MyDataSet.Clear()
        MyConnexion.Close()
 
        End Sub
Le problème est que, quand je fais le déboggage, une fenêtre apparaît sur la ligne où est écrite MyAdapter.Fill(MaDataSet, "INPUTS") et me dit le message suivant : "L'exception InvalidOperatorException n'a pas été gérée" "Un DataReader associé à cette commande est déjà ouvert. Il doit d'abord être fermé."

je ne vois pas l'erreur, est-ce que quelqu'un peut m'aider ??? Merci d'avance