Bonjour à tous,

Je poste aujourd'hui car je suis face à une erreur depuis plusieurs semaines maintenant, et je n'ai strictement aucune idée de ce qui peut bien la provoquer.
Je vous explique d'abord en quoi consiste ma fonction : je récupère via des requêtes SQL plusieurs données concernant un cycle, que je mets ensuite en forme dans un datagridview pour lui donner un peu l'apparence d'un emploi du temps.

Voici l'erreur que cette fonction me génère :
"Impossible d'effectuer un cast d'un objet de type 'System.Reflection.RuntimeMethodInfo' en type 'System.Windows.Forms.IWin32Window'

Et voici l'endroit de mon code ou cette erreur est générée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
vReq = "SELECT CYCLE_REFERENCE.CODE_CYCLE_REF, ASSOC_TYPE_CYCLE_PLAGE.NOM_PLAGE_TRAVAIL,"
vReq &= " ASSOC_TYPE_CYCLE_PLAGE.NUM_ORDRE_TRAVAIL,"
[...]
 
dr=ad.FournirDR(vReq) 'zone de l'erreur
 If dr.HasRows Then
While dr.Read
 
'Suite de la fonction
Connaissant un petit peu l'utilité de ces deux objets, je ne vois pas du tout et je ne trouve rien sur le merveilleux monde de l'internet

Voici aussi la fonction fournirDR qui me permet de récupérer un datareader et m'évite de refaire à chaque fois mes ouvertures et fermetures de connexion :
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
 
Function FournirDR(ByVal SQL As String) As OleDbDataReader
 
Dim dr As OleDbDataReader = Nothing
Try
'ouvrir la connexion
Dim cmd As New OleDbCommand
 
With cmd
.Connection = Me._cn
.CommandType=CommandType.Text
.CommandText=SQL
End With
 
'obtention des enregistrements
dr=cmd.ExecuteReader(CommandBehavior.CloseConnection)
Return dr
 
Catch ex As Exception
Me.FermerConnexion()
Throw New ApplicationException("La commande fournir DR a échoué" & ex.Message)
End Try
 
End Function
Une dernière chose étrange, ma fonction lit la ligne "if dr.hasrows", me génère l'erreur, puis relit cette même ligne (je l'ai remarqué en mettant une MessageBox qui apparait avant ET après le message d'erreur...). Ensuite, la fonction continue et mon affichage se fait...

Bref, si quelqu'un a déjà eu ce souci et en sait un peu plus que moi sur le sujet, je suis preneuse J'espère avoir bien expliqué mon problème

Merci d'avance !