Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Help with select statement
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 9
Divers
Thread ID:
01335002
Message ID:
01335009
Vues:
11
This message has been marked as the solution to the initial question of the thread.
You don't need macro substitution and LIKE will work just fine
WHERE Upper(Session) Like "%" +  Upper(Alltrim(lcValue)) + "%" ;
>I have a procedure that helps find certain events. I use a select statement to identify which events are to be searched. For example I need "Top Fuel" and it looks up anything with "Top Fuel" in the first part of the field.
>
>Problem is now the field could have any event buried inside it. So it may have "Torco Top Fuel" now instead. I am having some difficulty finding the string properly in a select statement. Here is what works for "easy" matches. I am trying to find out if SubStr() with an At() command or other VFP command can help me find the selection.
>
>
>
>
>Local yourselection, yourselectionwithlesscharacters, lcValue
>
>lcValue = 'Top Fuel'
>
>yourselection = '"' + Upper(Alltrim(lcValue)) +'%"'
>
>Select Dist Session,.F. As initialck ;
>	FROM icard ;
>	WHERE UPPER(Session) Like &yourselection ;
>	ORDER By Session Desc ;
>	INTO Cursor csrListSession Readwrite
>
>If _Tally > 0
>	** Call form method that checks or unchecks the list depending on which class is run
>	Thisform.check_qualifying_lists()
>Else
>	** WE DID NOT find any records so lets
>	** lower the character count to see if we get
>	** at hit on the first 11 characters
>	yourselectionwithlesscharacters = Left(Upper(Alltrim(lcValue)),11)
>	yourselection = '"' + yourselectionwithlesscharacters +'%"'
>	Select Dist Session,.F. As initialck ;
>		FROM icard ;
>		WHERE Upper(Session) Like &yourselection ;
>		ORDER By Session Desc ;
>		INTO Cursor csrListSession Readwrite
>	
>	If _Tally > 0
>		* Call form method that checks or unchecks the list depending on which class is run
>		Thisform.check_qualifying_lists()
>
>	Else
>
>
>		** Now one last attempt at 5 characters
>		** if this does not work then give up
>		yourselection = LEFT(Upper(Alltrim(lcValue)),5)
>
>                                         * this is where I need help with finding any records that Contain Top Fuel anywhere in the text.
>
>		Select Dist Session,.F. As initialck ;
>			FROM icard ;
>			WHERE SUBSTR(Upper(Session),AT(yourselection,Upper(Session)),LEN(yourselection)) = yourselection ;
>			ORDER By Session Desc ;
>			INTO Cursor csrListSession Readwrite
>		If _Tally > 0
>			BROWSE
>			* Call form method that checks or unchecks the list depending on which class is run
>			* Thisform.check_qualifying_lists()
>
>		Else
>
>			** nothing found let them know
>			MESSAGEBOX("Sorry, No Records Found for this Class",0,"NO Records Exist")
>
>		Endif
>	Endif
>Endif
>
>
>
>
>
>The last select is where I need the help. It returns way too many records because it is not constructed properly.
--sb--
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform