Test you double table query with real value instead of using request.vars.keyword... Pass the keyword you know are good directly to make sure if your query is correct first and then you try to figure out why it not working with request.
So instead of : query = ( ((db.talab.id == db.talab_comment.talab_id) & (db.talab.id == db.talab_**document.id <http://db.talab_document.id/>)) & ( (db.talab.body.contains(**request.vars.keyword)) | (db.talab.title.contains(**request.vars.keyword)) |(db.talab_comment.body.**contains(request.vars.keyword)**) | (db.talab_document.doc_title.**contains(request.vars.keyword)**) ) ) query = (((db.talab.id == db.talab_comment.talab_id) & (db.talab.id == db.talab_**document.id <http://db.talab_document.id/>)) & ((db.talab.body.contains('VALUEYOUKNOWTHATEXIST')) | (db.talab.title.contains('VALUEYOUKNOWTHATEXIST')) | (db.talab_comment.body. **contains('VALUEYOUKNOWTHATEXIST')**) | (db.talab_document.doc_title.**co ntains('VALUEYOUKNOWTHATEXIST')**))) Also, do you try to wrote the query in SQL then translate in into web2py query? Richard On Fri, Nov 2, 2012 at 9:55 AM, apps in tables <[email protected]>wrote: > > Hi Massimo, > > I replaced *request.vars.keyword with **request.vars.keyword or > ''* > > it did give me a blank page ( empty ) .... no error. > > you are getting closer. > > > > On Friday, November 2, 2012 4:32:43 PM UTC+3, Massimo Di Pierro wrote: >> >> Can you check the value of *request.vars.keyword* >> *You would get this error if request.vars.keyword is None. Perhaps you >> need to add* >> * >> * >> *request.vars.keyword = **request.vars.keyword or ''** >> * >> * >> * >> On Friday, 2 November 2012 04:16:29 UTC-5, apps in tables wrote: >>> >>> Hi, >>> >>> Let me rephrase the question. >>> >>> This query >>> >>> query = db.talab.body.contains(**request.vars.keyword) | >>> db.talab.title.contains(**request.vars.keyword) >>> >>> >>> is working fine. >>> >>> But, this query >>> >>> query = ( ((db.talab.id == db.talab_comment.talab_id) & (db.talab.id == >>> db.talab_**document.id <http://db.talab_document.id/>)) & >>> ( (db.talab.body.contains(**request.vars.keyword)) | >>> (db.talab.title.contains(**request.vars.keyword)) >>> |(db.talab_comment.body.**contains(request.vars.keyword)**) | >>> (db.talab_document.doc_title.**contains(request.vars.keyword)**) >>> ) >>> ) >>> >>> >>> is giving the error >>> >>> CONTAINS() takes exactly 3 arguments (2 given) >>> >>> >>> Any ideas? >>> >>> Regards, >>> >>> Ashraf >>> >> -- > > > > --

