Goupe d'option saisie texte

Signaler
Messages postés
18
Date d'inscription
mercredi 8 octobre 2008
Statut
Membre
Dernière intervention
2 février 2009
-
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
-
Bonjour,
Désolée je sèche vraiment. j'ai un soucis avec mon groupe d'option permettant de rechercher un usager en saisissant le nom exacte ou le début ou le contenant.
Seule la saisie exacte fonctionne et je ne comprend pas pourquoi.
Merci de jeter un coup d'oeil sur mon programme pour m'aider à résoudre mon problème.
______________
Function ConditionSaisieTexte(Condition As String, ValeurOption As String, NomChamp As String, ValeurChamp As Variant)
Dim ConditionTemp As String
Select Case ValeurOption
 Case 1
 ConditionTemp = NomChamp & " Like " & Chr(39) & ValeurChamp & Chr(39)
 Case 2
 ConditionTemp = NomChamp & " Like " & Chr(39) & ValeurChamp & Chr(42) & Chr(39)
 Case 3
 ConditionTemp = NomChamp & " Like " & Chr(39) & Chr(42) & ValeurChamp & Chr(42) & Chr(39)
End Select
 If Len(Condition) <> 0 Then
   ConditionSaisieTexte = Condition & "AND" & ConditionTemp
   Else
   ConditionSaisieTexte = "WHERE" & ConditionTemp
   End If
 End Function
______________
Private Sub Recherche_Click()



    Dim strSql As String
    Dim X As Variant
    Dim MaCondition As String




   

             If fPasNull(Me.txtsearchUsager) Then
                MaCondition = ConditionSaisieTexte(MaCondition, CadreOption_saisie, "Unom", txtsearchUsager)
            End If
    'Définition du jeu d'enregistrements strSql
    strSql = "SELECT Uusa, Uciv, Unom, Uprenom "
    strSql = strSql & "FROM USAGER "
    strSql = strSql & "WHERE (((Unom)=Formulaires!SF_Detenir!txtsearchUsager))"
    strSql = strSql & "ORDER BY Unom ;"
    Me.LST_Dispo_Usager.RowSource = strSql
End Sub
_______________

4 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
25
Bonjour,

1) je ne crois pas que tu nous montres là un cide VB.Net !!!!
2) je comprends encore moins ce que tu compte faire de ceci :

Private Sub Recherche_Click()    Dim strSql As String
    Dim X As Variant
    Dim MaCondition As String

   
             If fPasNull(Me.txtsearchUsager) Then
                MaCondition = ConditionSaisieTexte(MaCondition, CadreOption_saisie, "Unom", txtsearchUsager)
            End If
    'Définition du jeu d'enregistrements strSql
    strSql = "SELECT Uusa, Uciv, Unom, Uprenom "
    strSql = strSql & "FROM USAGER "
    strSql = strSql & "WHERE (((Unom)=Formulaires!SF_Detenir!txtsearchUsager))"
    strSql = strSql & "ORDER BY Unom ;"
    Me.LST_Dispo_Usager.RowSource = strSql
End Sub

- où Macondition est une chaine vide
- où tu dis que Macondition serait  le résultat retourné par une fonction à laquelle tu passes des paramètres non définis !
- où tu n'utlises de toutes manières pas le résultat (Macondition) qui "serait retourné" (je vois mal comment) par la fonction :::

C'est totalement incompréhensible, ainsi ...
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
ValeurOption est déclaré comme une string et tu le compares à des Integer ds ton Select Case !!!
Et pourquoi mettre des chr(39) et des chr(42) dans la construction de tes like ??? Utilises directement les caractères correspondants !! Non ?
Messages postés
18
Date d'inscription
mercredi 8 octobre 2008
Statut
Membre
Dernière intervention
2 février 2009

Coucou,


Il est très très bien mon programme.
Il suffisait de remplacer la clause WHERE de l'instruction StrSql ("strSql = strSql & "WHERE (((Unom)=Formulaires!SF_Detenir!txtsearchUsager))")
. En effet le texte partiellement saisie ne pouvait pas être égal à Unom.
Pour que ça fonctionne sur n'importe quelle saisie il fallait remplacer cette ligne par "strSql = strSql & MaCondition".
Résultat retourné par la fonction ConditionSaisieTexte
.
Merci, j'y vois tout de même plus clair.
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
Il n'en reste pas moins qu'ON NE DOIT PAS comparer un string à des integer comme ca !!