Bonsoir,

Je suis en train de maintenir et d'optimiser une fonction qui récupère des enregistrements d'une table en fonction du début d'un des champs, de la façon suivante :
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
 
Function RecupParPattern(ByVal strPattern As String) As Dictionary(Of String, String)
        Dim strSql As String
 
        Dim tmpDico As New Dictionary(Of String, String)
 
        strSql = "SELECT nomParam, paramValeur FROM parametres WHERE nomParam LIKE '" & strPattern & "*' AND rubrique='PortailExterne'"
 
        'La connexion est globale (ouais, je sais...)
        Dim cmd As New OleDb.OleDbCommand(strSql, Connexion)
 
        Dim db_reader As OleDb.OleDbDataReader = _
            cmd.ExecuteReader()
 
        ' Display the results.
        If db_reader.HasRows Then
            While db_reader.Read()
                tmpDico.Add(Trim(db_reader("nomParam")), Trim(db_reader("paramValeur")))
            End While
        End If
 
        RecupParPattern = tmpDico
    End Function
Ce qui m'embête, c'est que la fonction tourne bien sans la condition LIKE de la requête mais les résultats sont faussés. La requête complète renvoie pourtant les enregistrements voulus une fois exécutée sous Access... Ce que je ne comprends pas, c'est que la requête complète ne renvoie rien de manière systématique dans cette fonction. Est-ce que quelqu'un aurait une idée ?