Bonjour,

Je souhaiterais récupérer des enregistrements dans des bases access mais j'ai un problème sur mon datareader que je n'arrive pas à identifier.
Voici mon code:

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
Dim monStreamReader As New StreamReader(Environment.GetFolderPath(System.Environment.SpecialFolder.Personal) & "\liste.txt") 'Stream pour la lecture
            Dim ligne As String ' Variable contenant le texte de la ligne
            Dim strRequete
            Dim j As Integer = 1
            strRequete = "SELECT * FROM DClient WHERE 'Date creation' > #" & DateDebut.Text & "# AND 'Date creation' < #" & DateFin.Text & "#"
            'ouvrir Excel
            Dim ex As New Excel.Application
            'Dim WB As New Excel.Workbook
            Dim NomExcel, MyDocumentFolder As String
            Dim WS As Excel.Worksheet
            MyDocumentFolder = Environment.GetFolderPath(System.Environment.SpecialFolder.Personal)
            NomExcel = MyDocumentFolder & "\CA-" & Date.Today & ".xls"
            NomExcel = Replace(NomExcel, "/", "-")
            Dim WB = ex.Workbooks.Open(NomExcel)
            WS = WB.Worksheets(1)
            ex.Visible = True
            Do
                ligne = monStreamReader.ReadLine
                'ouverture base access
                Dim MyConnexion As OleDb.OleDbConnection
                MyConnexion = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & ligne)
                Dim oCommand As New OleDb.OleDbCommand(strRequete, MyConnexion)
                MyConnexion.Open()
                'requete sur la base access
                Dim oReader As OleDb.OleDbDataReader = oCommand.ExecuteReader()
                Dim i As Integer = oReader.FieldCount
                While oReader.Read()
                    'Mettre Dans Excel
                    For k = 1 To i
                        WS.Cells(j, k) = oReader.GetString(k - 1)
                    Next k
                    j = j + 1
                End While
                oReader.Close()
                MyConnexion.Close()
            Loop Until ligne Is Nothing
            monStreamReader.Close()
Je ne rentre jamais dans le for alors que sur le deuxieme passage je suis sur que ma base et la requete contiennent un enregistrement.

Quelqu'un pour m'aider?

Merci.