Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to use the SELECT-command with empty values
Message
From
22/10/1998 16:12:37
 
 
To
22/10/1998 16:07:40
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00149479
Message ID:
00149561
Views:
20
>>>Hello,
>>>
>>>I am using Visual FoxPro 6.0 and I am making a search-form. On the form there are 8 textboxes, 1 button and a grid. If I fill in the textboxes and push the search-button a select-command is being executed and the results are put in a cursor with the following command:
>>>
>>>SELECT <...> FROM <...> INTO CURSOR cursorname WHERE <...>
>>>
>>>The grid is then using the cursor to show the results.
>>>
>>>I am using one select-command to search in the tables for the values in all the textboxes. The problem is that if I leave a textbox empty, the select-command is searching for empty fields. Is it possible not to search for empty textboxes with one select-command?
>>>
>>>Thank you for your time.
>>A simple way of doing that is building a generic SQL. It would be fast too if fields are indexed. Build your SQL like this :
* nMinVal and nMaxVal could be hardcoded, ref'd etc
>>cSQL = "select ... from "+;
>>"FROM <...> INTO CURSOR cursorname "+;
>>"WHERE myVal1 = trim(thisform.textbox1.value) "+;
>>" and myVal2 between "+;
>>"iif(empty(thisform.textbox2.value),nMinVal,thisform.textbox2.value) "+;
>>"and iif(empty(thisform.textbox2.value),nMaxVal,thisform.textbox2.value) "+;
>>" and myVal3 between "+;
>>"iif(empty(thisform.textbox3.value),{},thisform.textbox3.value) "+;
>>"and iif(empty(thisform.textbox3.value),date(),thisform.textbox3.value) "+;
>>....
>>thisform.searchgrid.recordsource = cSQL
>>thisform.searchgrid.recordsourcetype = SQL
>>*Button.click
>>thisform.searchgrid.refresh
Cetin
>
>Thank you very much for your answer. I have tried it, but the grid stays empty. The cSQL statement seems good. I have no errors, only the grid stays empty! Is there something I might be doing wrong?

Afier, could you check cursor contents? I mean just adding:
Select mycursor
Browse
At least, after this you will be aware what is wrong SELECT or Grid. If it's grid, you can always add few more lines:
Grid.Recordsource=""
Grid.Recordsource="mycursor"
Grid.Refresh
Edward Pikman
Independent Consultant
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform