Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
IN question
Message
De
02/09/2005 13:22:48
 
 
À
02/09/2005 06:08:19
Cetin Basoz
Engineerica Inc.
Izmir, Turquie
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Database:
Visual FoxPro
Divers
Thread ID:
01046060
Message ID:
01046320
Vues:
13
>>Hi All:
>>
>>I have a table - Test - that contains 4 records, as follows:
>>
>>
>>Code    Desc
>>111     Dog
>>222     Cat
>>333     Elephant
>>444     Fish
>>
>>
>>I want to give the user the ability to query on a variable number of code or 'ALL' the codes.
>>
>>In the following example, she has picked '111' and '222', so I constructed an array in the calling program with a length of 2. If she would have requested '111', '222', and '444', I would have had to construct an array of 3 members and some figured out how to accommodate
>>the third member in my SQL syntax. If she requests all, then I need to set one of the members to ‘’ and since everything is equal to ‘’, all for records will be returned.
>>
>>Isn’t there a more elegant way to do this?
>>
>>
>>
>>LPARAMETERS taCodeList
>>* taCodeList[1] = '111'
>>* taCodeList[2] = '222'
>>
>>SELECT Test.code, Test.Desc ;
>> FROM Test ;
>>   WHERE Test.code IN(taCodeList[1],taCodeList[2]) ;
>>   INTO CURSOR result
>>
>>
>>Thanx,
>>
>>Yossi
>
>Use a cursor.
>
>lparameters taCodeList
>create cursor crsItems (itemcode c(10))
>dimension taCodeList[alen(taCodeList),1]
>insert into crsItems from array taCodeList
>
>SELECT Test.code, Test.Desc ;
> FROM Test ;
>   inner join crsItems itm on test.code == itm.itemcode ;
>   INTO CURSOR result
>use in 'crsItems'
>
Cetin

Thanks, Cetin. So if the user requests 'ALL', you would just create a 4-record cursor from the entire table.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform