Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Comparison != What have I missed?
Message
 
À
14/12/2012 11:05:14
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Divers
Thread ID:
01559575
Message ID:
01559671
Vues:
57
>It's almost working, but 4 always equals 3 and I cannot see why.
>Here's the latest code (attempt):
>
>		SCAN
>			m.TheWord3 = ALLTRIM(LOWER(indicator)) && Symptom
>			IF m.TheWord3 $ lcTEXT AND ! m.TheWord3 == m.TheWord1 OR ! m.TheWord3 == m.TheWord2
>				REPLACE hits WITH indicator.hits + 1 && Gather simple stats
>				m.sidenote3 = action && Recommendation
>				SELECT MASTER
>				REPLACE indicator3 WITH m.sidenote3
>			ENDIF
>			SELECT indicators
>		ENDSCAN
>		SCAN
>			m.TheWord4 = ALLTRIM(LOWER(indicator)) && Symptom
>			IF m.TheWord4 $ lcTEXT AND ! m.TheWord4 == m.TheWord1 OR ! m.TheWord4 == m.TheWord2 OR ! m.TheWord4 == m.TheWord3
>				REPLACE hits WITH indicator.hits + 1 && Gather simple stats
>				m.sidenote4 = action && Recommendation
>				SELECT MASTER
>				REPLACE indicator4 WITH m.sidenote4
>			ENDIF
>			SELECT indicators
>		ENDSCAN
>
>
>
>
>>Are you sure m.TheWord2 is in lcText? If the first condition fails, VFP won't do the second. Perhaps you want an OR instead of AND?
>>
>>If the IF logic is correct, create a small dataset with two records, one that you know will pass and one that won't. Step through the code with the debugger. Check values of the variables before going into the IF statement. Also, check the value of SET("EXACT") at that same point.
>>
>>
>>>Thanks Craig and all who are helping. I've been using SET EXACT all along, but this little nipper is a PITA that has all indications of being one of those insignificant "I could have had a V8' moments. (something simple, but overlooked) I noticed that I misspelled 'sidenote' as 'sidenotes' also, but have replaced that portion below. Still no luck with this problem, but it's keeping my elderly brain working. :-)



When you work with ANDs and ORs in one condition you must have brackets ALWAYS.



m.TheWord3 $ lcTEXT AND ! (m.TheWord3 == m.TheWord1 OR m.TheWord3 == m.TheWord2)
...
m.TheWord4 $ lcTEXT AND ! (m.TheWord4 == m.TheWord1 OR m.TheWord4 == m.TheWord2 OR m.TheWord4 == m.TheWord3)

Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform