注册 登录
编程论坛 VFP论坛

这个查询代码该怎么写!

degidt023023 发布于 2022-01-19 20:50, 2636 次点击
由于很久没用vfp了,本来功力也一般,现在做一个小软件,遇到以下问题,
表单里面有两个文本框和一个查询按钮,文本框的init代码是:this.value=date()
请教这个查询代码该怎么写,感谢!
我只想查询两个日期之间的记录,使用逻辑删除,并隐藏不相关的数据,这样就达到了查询的目的,(数据不多,所以就不做查询功能了,就这样简单的处理一下,一样能达到查询的目的)
例如:文本框1:  2022-01-01   文本框2:  2022-01-19  
表名:chuku  字段:出库日期  类型:日期型
我只想留下这两个日期之间的记录,其他记录都隐藏,感谢!
DELETE ALL FOR chuku.出库日期<>{^2022-01-19}这个是报错,实在想不起格式了,度娘查了一下,也没查到
13 回复
#2
degidt0230232022-01-19 20:57
实在不行,来个完整的查询代码也行,感谢了
#3
sdta2022-01-19 21:54
上传相关数据看看
#4
degidt0230232022-01-19 21:59
只有本站会员才能查看附件,请 登录
#5
degidt0230232022-01-19 22:00
回复 3楼 sdta
麻烦看看,有点急
#6
degidt0230232022-01-19 22:10
我就想两个日期之外的记录而已,大神帮帮忙,感谢!
#7
sdta2022-01-19 22:49
browse for between(出库日期,thisform.text1.value,thisform.text2.value)
或者
browse for between(出库日期,date(2022,1,1),date(2022,1,19))
#8
degidt0230232022-01-20 00:00
回复 7楼 sdta
SET MARK TO "-"
SET CENTURY ON
SET DATE YMD

SELECT chuku
browse for between(出库日期,date(2022-01-01),date(2022-01-18))报错参数太少

browse for between(出库日期,date(2022,01,01),date(2022,01,18))操作符/操作数据类型不匹配

browse for between(出库日期,thisform.pageframe1.page1.text3.Value,thisform.pageframe1.page1.text12.Value)操作符/操作数据类型不匹配

我用了sql数据库,忘记说了,我想应该关系不大吧!这是本地操作啊!跟sql没关系啊!
sqlexec(nHandle,"select * from chuku","chuku")

text3的init为this.value=date()
我测试了,thisform.pageframe1.page1.text3.Value的类型,返回为D,是日期型啊!
本人水平有限,麻烦在看看,谢谢!



#9
degidt0230232022-01-20 00:23
另外能不能不用,browse,这样弹一个窗口出来太丑了,能不能生成一个新的表,我直接修改grid的值,直接引用这样比较好看!谢谢!
#10
laowan0012022-01-20 08:38
chuku表中的字段"出库日期"的类型应该不是日期型

browse for between(出库日期,date(2022-01-01),date(2022-01-18))报错参数太少    && 这里的date括号中的格式应该是date(2022,01,18)

browse for between(出库日期,date(2022,01,01),date(2022,01,18))操作符/操作数据类型不匹配  && 出库日期不是日期型

browse for between(出库日期,thisform.pageframe1.page1.text3.Value,thisform.pageframe1.page1.text12.Value)操作符/操作数据类型不匹配
问题出第2个报错
#11
laowan0012022-01-20 08:40
SELECT * FROM chuku WHERE NOT BETWEEN(出库日期,thisform.pageframe1.page1.text3.Value,thisform.pageframe1.page1.text12.Value)

如果“出库日期”是C型,试试下面这句
SELECT * FROM chuku WHERE NOT BETWEEN(ctod(出库日期),thisform.pageframe1.page1.text3.Value,thisform.pageframe1.page1.text12.Value)
 
#12
laowan0012022-01-20 08:43
以下是引用degidt023023在2022-1-20 00:23:06的发言:

另外能不能不用,browse,这样弹一个窗口出来太丑了,能不能生成一个新的表,我直接修改grid的值,直接引用这样比较好看!谢谢!


回帖中使用browse主要是为了说明条件如何设定,如果想用查询的话,改成select 就行
#13
wengjl2022-01-20 16:11
SELECT * from xsmx where rq>={^2021-12-7} and rq<={^2021-12-11}
#14
sam_jiang2022-02-02 10:56
用set filter to 设置筛选条件为指定日期范围,就可以了。

---怎么删除这个回帖,理解错意思了。

[此贴子已经被作者于2022-2-2 11:01编辑过]

1