以下是引用FK1219在2017-10-6 16:52:01的发言:
那位大侠帮个忙呀,
set safety off
public mz
public lb
mz=
lb=
DATE1=CTOD(Thisform.TexT1.Value)
DATE2=CTOD(Thisform.TexT2.Value)
if empty(mz) and empty(lb)
select * from spm where between(日期,date1,date2) order by 日期 asc into table lsspm
endif
if empty(mz) and '直达'
select * from spm where between(日期,date1,date2) and 类别=='直达'
order by 日期 asc into table lsspm
endif
if empty(mz) and '下水'
select * from spm where between(日期,date1,date2) and 类别=='下水'
order by 日期 asc into table lsspm
endif
if empty(mz)==.F.
select * from spm where between(日期,date1,date2) and 用户名称==mz
order by 日期 asc into table lsspm
endif
report form spm.frx preview
&& 另外问一下combo1怎么赋值到变量
既然你使用==精确比较,那么变量(字段或内存)就要使用alltrim()函数压缩左右空格,除非你能保证你的变量的长度正好与常量的长度完全相同,否则即使有符合条件的记录,SELECT语句也查询不到符合条件的记录。比如说
select * from spm where between(日期,date1,date2) and 类别=='直达'
order by 日期 asc into table lsspm
就要改为:
select * from spm where between(日期,date1,date2) and
alltrim(类别)=='直达'
order by 日期 asc into table lsspm
[此贴子已经被作者于2017-10-9 17:15编辑过]