Bonjour,
Je ne suis pas expert en VB.Net et j'ai quelques problèmes pour me connecter à une base Access via une fonction.
Et l'appel de la fonction, il remplie un champ de DataGridView avec la chaine de caractère retournée
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 Imports System Imports System.Data.OleDb Public Class Classe_Fonctions Public Shared Function Fonction_requete_sql_myreader() Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Form_parametre.TextBox_chemin_bdd.Text & "Donnees.mdb") Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand() Mycommand.CommandText = "SELECT Tolerance_emboitement FROM Resume_PMS WHERE LCN_Racine = '600' AND Flotte = '2408'" MyConnexion.Open() Dim myReader As OleDbDataReader = Mycommand.ExecuteReader() myReader.Read() If (myReader IsNot DBNull.Value) Then Return myReader.GetString(0) End If myReader.Close() MyConnexion.Close() End Function End Class
Ce code fonctionne très bien si il est placé directement dans le formulaire (sans la déclaration de la fonction donc de Dim MyConnexion As .... à .... MyConnexion.Close() )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DataGridView1.Item(26, ligne).Value = Classe_Fonctions.Fonction_requete_sql_myreader()
Par contre dès que ce code se trouve dans une fonction (dans la même classe ou dans une classe séparée) une erreur non spécifiée se produit lors de l'ouverture de la connexion.
Au début je travaillais avec des arguments mais pour vérifier que tout était bon je suis revenu avec des chaines de caractères.
Partager