Hi, I have defined the following table
CREATE TABLE names ( nameid int, name text, fake int ); INSERT INTO names values ( 1, 'Alfons', 0 ); INSERT INTO names values ( 2, 'Alberto', 0 ); INSERT INTO names values ( 3, 'Adam', 0 ); INSERT INTO names values ( 4, 'Anibal', 0 ); INSERT INTO names values ( 5, 'Bert', 0 ); INSERT INTO names values ( 6, 'Caesar', 0 ); INSERT INTO names values ( 7, 'Dagobert', 1 ); INSERT INTO names values ( 8, 'Kuno', 1 ); GRANT SELECT ON names TO zope ; The following SQL-Method should extract all names where fake = 0 except if there are further parameters like name or nameid that should restrict the result set if they are given: <params>name nameid </params> SELECT * FROM names WHERE fake = 0 <dtml-if name> AND <dtml-sqltest name op=like type=nb> </dtml-if> <dtml-if nameid> AND <dtml-sqltest nameid op=eq type=int> </dtml-if> This works in the ZMI test tab as expected. The original problem is that I want to design a Form where you can specify only first letters like 'Al' and the query looks for "name like 'Al%'". I tried to do this using: <dtml-var standard_html_header> <dtml-if "REQUEST.form.has_key('nameid')"> <dtml-let nameid="REQUEST.form['nameid']"> Selected nameid= <dtml-var nameid><br /> <dtml-var print_cases> </dtml-let> <dtml-else> <dtml-if "REQUEST.form.has_key('namepart')"> <dtml-let namepart="REQUEST.form['namepart']"> Namepart = <dtml-var namepart><br /> <dtml-let name="namepart + '%'"> Seek for name = '<dtml-var name>'. <dtml-var print_cases> </dtml-let> </dtml-let> <dtml-else> <form action="index_html" name="test" method="POST"> <input name="namepart" type="text" size="10" /> </form> </dtml-if> </dtml-if> <dtml-var standard_html_footer> where namepart is constructed as name+'%' to enable the like query. Unfortunately <dtml-let namepart="namepart + '%'"> does not seem to work transparently in the SQL-Method, because this does not work and just prints every single name. If somebody wants to try this code here is the print_cases method: <table> <dtml-in GetCases> <tr><td> <a href="<dtml-var URL0>?nameid=<dtml-var nameid>"><dtml-var name></a> </td></tr> </dtml-in> </table> Any idea why the variable namepart is not known in the SQL-Method while nameid is and works perfectly to select one name from the list? Many thanks Andreas. -- http://fam-tille.de _______________________________________________ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db