Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Parameterized View
Message
De
06/11/1997 16:30:31
 
 
À
06/11/1997 16:22:01
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00058732
Message ID:
00058735
Vues:
30
>With the view parameters set as follows:
>
>vp_Active = .T.
>vp_idnum = '*'
>vp_last = 'A%'
>vp_first = '*'
>vp_middle = '*'
>
>shouldn't the following view definition return only records that have
>lastname beginning with 'A' and empty(disdate)?   It doesn't - it returns
>records that have lastname beginning with 'A' regardless of disdate.
>Am I missing something simple?
>
>SELECT Clients.cidnum, Clients.clastname, Clients.cfirstname,;
>  Clients.cmiddlename, Clients.cadmdate, Clients.disdate;
>FROM cms!clients;
>WHERE Clients.cidnum LIKE ?vp_idnum;
>   OR (UPPER(Clients.clastname) LIKE UPPER(?vp_last));
>   OR (UPPER(Clients.cfirstname) LIKE UPPER(?vp_first));
>   OR (UPPER(Clients.cmiddlename) LIKE UPPER(?vp_middle);
>   AND EMPTY(Clients.disdate) = ?vp_active)

It looks monstrous anyway, but I would try first adding parenthesis:
SELECT Clients.cidnum, Clients.clastname, Clients.cfirstname,;
  Clients.cmiddlename, Clients.cadmdate, Clients.disdate;
FROM cms!clients;
WHERE (Clients.cidnum LIKE ?vp_idnum;
   OR (UPPER(Clients.clastname) LIKE UPPER(?vp_last));
   OR (UPPER(Clients.cfirstname) LIKE UPPER(?vp_first));
   OR (UPPER(Clients.cmiddlename) LIKE UPPER(?vp_middle));
   AND EMPTY(Clients.disdate) = ?vp_active)
Edward Pikman
Independent Consultant
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform