[VBExpress08] Erreur IndexOutOfRangeException
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
Citation:
IndexOutOfRangeException n'a pas été gérée
Voici mon bout de code:
Code:
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