> SET EXCLUSIVE off > SET EXACT on > > > lcName1 = alltrim(thisform.text1.value) > lcName2 = alltrim(thisform.text2.value) > lcName3 = alltrim(thisform.text3.value) > lcName4 = alltrim(thisform.text4.value) > >IF lcName1=="" AND lcName2 =="" AND lcName3 =="" AND lcName4<>"" > if LEN(ALLTRIM(thisform.text4.value)) >= 3 > Select F4,F1,name4,name3,name2,name1 from x2 where name4=lcName4; > into cursor lcResultTable > > > ************************************************ > if LEN(ALLTRIM(thisform.text3.value)) >= 3 and LEN(ALLTRIM(thisform.text4.value)) >= 3 > > IF lcName1 =="" AND lcName2 =="" AND lcName3<>"" AND lcName4<>"" > > Select F4,F1,name4,name3,name2,name1 from x2 where name3=lcName3 AND name4=lcName4; > into cursor lcResultTable > > ******************************************** >if LEN(ALLTRIM(thisform.text3.value)) >= 3 and LEN(ALLTRIM(thisform.text4.value)) >= 3 and LEN(ALLTRIM(thisform.text2.value)) >= 3 > > IF lcName1 =="" AND lcName2 <>"" AND lcName3<>"" AND lcName4<>"" > > Select F4,F1,name4,name3,name2,name1 from x2 where name2=lcName2 and name3=lcName3 AND name4=lcName4; > into cursor lcResultTable > *********************************************** > if LEN(ALLTRIM(thisform.text3.value)) >= 3 and LEN(ALLTRIM(thisform.text4.value)) >= 3 and LEN(ALLTRIM(thisform.text2.value)) >= 3 AND LEN(ALLTRIM(thisform.text1.value)) >= 3 > > IF lcName1 <>"" AND lcName2 <>"" AND lcName3<>"" AND lcName4<>"" > > Select F4,F1,name4,name3,name2,name1 from x2 where name1=lcName1 AND name2=lcName2 and name3=lcName3 AND name4=lcName4; > into cursor lcResultTable NOFILTER > > > > ENDIF > ENDIF > ENDIF > ENDIF > ENDIF > ENDIF > ENDIF > ENDIF > > > >GO top > thisform.Grid1.RecordSource="lcResultTable" > thisform.grid1.Visible=.t. > > >>
>>>lcFromTable='x2' >>>lcResultTable='crsMyCursor' >>>For x=1 to 4 >>> lcName=Evaluate('lcName'+Transform(x)) >>> If !Empty(lcName) >>> Select * from (lcFromTable) where name1=lcName or name2=lcName or name3=lcName or name4=lcName into cursor (lcResultTable) READWRITE >>> lcFromTable=lcResultTable >>> EndIf >>>EndFor>>>NB! I tested it this time. :-)
>> Select * from (lcFromTable) where (m.lcName1=="" OR (name1=lcName1 or name2=lcName1 or name3=lcName1 or name4=lcName1) ) >>AND ((m.lcName2=="" OR (name1=lcName2 or name2=lcName2 or name3=lcName2 or name4=lcName2) ) >>AND ... >> >>>>into cursor (lcResultTable)