Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to use the SELECT-command with empty values
Message
De
22/10/1998 13:05:01
Cetin Basoz
Engineerica Inc.
Izmir, Turquie
 
 
À
22/10/1998 12:32:46
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00149479
Message ID:
00149497
Vues:
19
>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
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform