Bonsoir à tous
J'ai un problème pour lequel je n'entrevois pas de solution.
dans une requête via oledbConnexion, je voudrais extraire d'une table access tous les enregistrements dont le nom contient une valeur passée en paramètre. Cela fonctionne très bien pour les paramètres integer et boolean, mais pas pour les varchar avec caractère générique.
voici le code
Je n'ai pas de message d'erreur mais V_Resultat_V est vide. Par contre, cela fonctionne si l'on enlève les * et que l'on recherche un nom équivalent au paramètre et non pas contenant. J'ai essayé avec un seul guillemet, avec des ', en intégrant les * directement dans le paramètre.
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 Dim Od_Connexion_Od As OleDb.OleDbConnection = New OleDb.OleDbConnection(Cl_Constantes_Cl.V_Connexion_V) Dim V_paramString1_V As OleDb.OleDbParameter = Nothing Dim V_commande_V As OleDb.OleDbCommand = Nothing V_paramString1_V = New OleDb.OleDbParameter("@param1", OleDb.OleDbType.VarChar) V_Requete_V = "SELECT P.Ref, P.Nom, P.MF FROM(P) WHERE(((P.nom) like ""*@param1*"")) ORDER BY P.Nom;" 'Ouverture de la connexion Try Od_Connexion_Od.Open() V_commande_V = New OleDb.OleDbCommand(V_Requete_V, Od_Connexion_Od) 'Paramètre V_Param1_V passé en arguments à la fonction V_paramString1_V.Value = V_Param1_V V_commande_V.Parameters.Add(V_paramString1_V) 'Lecture des résultats Dim V_resultat_V As OleDb.OleDbDataReader = V_commande_V.ExecuteReader() Try While (V_resultat_V.Read())
Merci à tous de votre aide, bonne soirée et à demain.
Partager