Bonjour,
Me voici confronté a un épineux problème.
Je travaille en VB.NET et j'effectue des requêtes sql dans une base de données Access.
J'ai une requête qui fonctionne admirablement bien quand elle retourne quelque chose de concret. Par contre quand elle ne retourne rien j'ai un message d'erreur qui s'affiche lors de la compilation et qui arrête la compilation ce qui est fort dommageable puisque dans certain cas de figure dans mes reqûetes il n'y a rien a retourner. Merci d'avance.

En vb 6 il y avait une instruction conditionnelle qui informait l'utilisateur que la requête ne retournait rien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
If rst.EOF = True Then 
msgbox "pas de données" 
else 
While Not (rst.EOF) 
.... 
rst.MoveNext 
Wend 
end if
En vb.net je n'ai pas trouvé d'instruction équivalente. J'ai essayé des choses avec BOF et EOF mais sans succès. Je recherche avant le Do While une instruction conditionnelle ou autre qui me permettrait de ne pas rentrer dans la boucle s'il n'y a rien à retourner.
Quelqu'un aurait-il une idée ?

Voici la requête :
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
'connexion à la base de données 
Dim con As OleDb.OleDbConnection 
con = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source= C:\Users\jean-jacques\Desktop\EI\Delegue.mdb;") 
Dim cmd As New OleDb.OleDbCommand( _ 
"SELECT Min(FicRen_CompStadeComp.NumeroCompetitionStadeCompetition) AS var_min, Count([FicRen_CompStadeComp].[NumeroCompetitionStadeCompetition]) AS var_count " & _ 
"FROM CompetitionsStadeCompetition INNER JOIN FicRen_CompStadeComp ON CompetitionsStadeCompetition.NumeroCompetition_StadeCompetition = FicRen_CompStadeComp.NumeroCompetitionStadeCompetition " & _ 
"WHERE (CompetitionsStadeCompetition.Competition = ""Championnat"") AND (FicRen_CompStadeComp.Rencontre = ""Joué"");", con) 
con.Open() 
Dim dt As New DataTable 
Dim rs As New DataSet 
Dim data_reader As Data.IDataReader = cmd.ExecuteReader() 
If ??? then 
Do While data_reader.Read() 
variable_valeur_minimum = data_reader.GetValue(0) 
variable_valeur_count = data_reader.GetValue(1) 
Loop 
Else 
msgbox "la requête ne retourne aucune donnée" 
End if 
con.Close()