编程论坛's Archiver

txg520wjl 发表于 2008-5-11 18:06

为什么总是出现操作符与操作数类型不符

——查询条件默认为“.T。”
seltj=".T."
——如果txt编号文本框中的值非空
if .on.empty(alltrim(thisform.txt编号.value))
seltj=seltj+"AND '"+alltrim(thisform.txt编号.value)+"'$编号"
ENDIF
——如果txt名称文本框中的值非空
if .on.empty(alltrim(thisform.txt名称.value))
seltj=seltj+"AND '"+alltrim(thisform.txt名称.value)+"'$名称"
ENDIF
——选择客户信息表所在工作区
select Client
——清除可能存在的过滤条件
set filter to
——设置过滤条件
set filter to &seltj
——刷新表单
thisform.refresh


[请各位高手帮帮忙啊!拜托了[color=Magenta][/color]]

baichuan 发表于 2008-5-12 08:27

你看一下提示的是哪一行的错误不就行了?

.on.empty(alltrim(thisform.txt编号.value))

为什么不用?alltrim(thisform.txt编号.value)=“”????

Tiger5392 发表于 2008-5-12 21:42

seltj=".T."
if .not.empty(thisform.txt编号.value)
  seltj=seltj+" AND '"+alltrim(thisform.txt编号.value)+"'$编号"
ENDIF
if .not.empty(thisform.txt名称.value)
  seltj=seltj+" AND '"+alltrim(thisform.txt名称.value)+"'$名称"
ENDIF
select Client
if seltj=='.T.'
  Set filter to
else
  set filter to &seltj
endif
go top
thisform.refresh
注意:(1)2个and的前面都加上了空格;(2)还得检查2个文本框及2个字段是否为字符型。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.