Bonjour,

Je dialogue avec une base de donnée Access depuis un petit programme en VB Express 2008.

A partir d'une référence, je recherche le N° de produit dans ma base.
Quand la référence existe, pas de soucis, mais quand celle-ci n'existe pas j'ai une erreur
IndexOutOfRangeException n'a pas été gérée
Voici mon bout de 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
 
        'Recherche dans la base de donnée le n° IdArticle
        Dim con As New OleDb.OleDbConnection
        con.ConnectionString = "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source =" & My.Application.Info.DirectoryPath & "\Stock_17.accdb"
        con.Open()
 
        Dim ds As New DataSet
        Dim da As OleDb.OleDbDataAdapter
        Dim sql As String
        sql = "SELECT * FROM T_Article WHERE Reference = '" & CodeBarre & "'"
        da = New OleDb.OleDbDataAdapter(sql, con)
        da.Fill(ds, "Liste_Article")
 
 
        If Not ds Is Nothing AndAlso ds.Tables.Count > 0 Then
            IdArticleBase = ds.Tables("Liste_Article").Rows(0).Item(0) '##Erreur ici
            ReferenceBase = ds.Tables("Liste_Article").Rows(0).Item(1)
            MsgBox("Id: " & IdArticleBase & " Reference: " & ReferenceBase)
        Else
            MsgBox("Article Inconnu")
        End If
        con.Close()
Mon ds.tables.count m'indique toujours 1, que ma référence existe ou pas.

Merci