注册 登录
编程论坛 VB6论坛

求助,VB6 用日期来查询资料库里面的价钱

alexbenhk 发布于 2016-11-24 15:53, 1670 次点击
各位大大好

我打算以起始日和终结日把database 里面的金额加在一起放在Text1.text,例如:20161101 至 20161115,最好日期是可以选的,我怕会打错日期,谢谢各位大大
5 回复
#2
xiangyue05102016-11-24 16:56
首先你要求的日期这个,可以用日历控件。如果没有,在部件添加Microsoft Calendar Control 8.0(也可能是其他的版本号)
如果实在找不到,可以用textbox配合isdate函数避免问题,也很简单。
if IsDate(Text1.Text)=ture then


其次你要求的时间区间的统计,直接用SQL查询语句就可以实现的
SELECT SUM([交易额]) FROM [交易记录] where [交易日期]>=20161101 and [交易日期]<=20161115

这个示例语句根据你自己的数据库结构改一下表名和列名, 另外 where后面的条件也需要根据你这一列的数据类型修改下
#3
alexbenhk2016-11-25 13:36
以下是引用xiangyue0510在2016-11-24 16:56:28的发言:

首先你要求的日期这个,可以用日历控件。如果没有,在部件添加Microsoft Calendar Control 8.0(也可能是其他的版本号)
如果实在找不到,可以用textbox配合isdate函数避免问题,也很简单。 if IsDate(Text1.Text)=ture then

其次你要求的时间区间的统计,直接用SQL查询语句就可以实现的
SELECT SUM([交易额]) FROM [交易记录] where [交易日期]>=20161101 and [交易日期]<=20161115
这个示例语句根据你自己的数据库结构改一下表名和列名, 另外 where后面的条件也需要根据你这一列的数据类型修改下


多谢大大回答,我想在Text2.text 里面搜寻,之后在Datagrid 显示,我在网上找了很多资料,只找到这个,Adodc1.Recordset.Filter "A_Date=" Val (Text2.Text)
但不能执行,按了键后Datagrid 里面就没有资料了,请问应该怎样写?谢谢大大

P.s. 我的资料库里面有很多同日期,可能会超过十个,我试过用Fine,但网上说Fine 是找不到超过一个数据,所以我才用Filter. 例如:2016-11-24的第一个至最后一个

[此贴子已经被作者于2016-11-25 13:50编辑过]

#4
xiangyue05102016-11-28 08:46
不好意思,没看到你还有问题。不过也没太看明白你要说什么。
实现条件查询直接用sql语句,不用这么复杂。你把SQL的select 好好看一下,条件、排序基本都可以实现的
比如你说的“2016-11-24的第一个至最后一个” 可以用 SELECT * FROM [交易记录] [交易日期]= 20161124 来实现
给你一个建议,要学习VB的数据库编程,不能不学习基本的数据库知识。
#5
alexbenhk2016-12-19 14:32
thank you 版主
#6
alexbenhk2016-12-19 14:50
回复 4楼 xiangyue0510
版主, 不好意思可能我说得不清楚, 我现在做了两个DTpicker1 & DTPicker2, 我的资料库叫Database, 里面有一个(日期= A_Date) 和( 价钱=Price), 请问怎样控制DTpicker1 & DTPicker2从而出一个MSGBOX , 把指定日期内的价钱相加, 显示在MASBOX呢? 谢谢版主
1