cs_Nana35
Messages postés18Date d'inscriptionmercredi 8 octobre 2008StatutMembreDernière intervention 2 février 2009
-
20 oct. 2008 à 17:22
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 2008
-
21 oct. 2008 à 19:11
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
_______________
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 20 oct. 2008 à 17:54
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 :::
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 20 oct. 2008 à 22:16
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 ?
cs_Nana35
Messages postés18Date d'inscriptionmercredi 8 octobre 2008StatutMembreDernière intervention 2 février 2009 21 oct. 2008 à 08:19
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.