当前位置:编程学习 > VB >>

求助:vb+access,关于选择时间段进行加减运算的问题,见附件

比如:我选择所有条目的数据在2007-11-3到2007-11-5的和,减去其对应的2007-11-4+2007-11-1日的和,然后列出所有差值中最大值的3个。

碰到的问题   1:日期list点击列不出来

             2:sql语言和减法怎么选择时间不会,看了2天了还是不会
             3:(这个估计很麻烦,也不会用到,就是问问),能不能加个什么text的然后我把要怎么操作,比如不是加减,  而是乘除,或者一个公式写到里面,按照这个然后运算,可行不可行呀,不太清楚,就是想想


哪位大大能帮我解决前2个问题呀

Private Sub Combo1_Click()
Dim ado As ADODB.Recordset
sql = "select * from [TX] where [id]='" & Combo1.Text & "' order by timer"
Debug.Print sql
Set ado = DBCnn.Execute(sql)
Set Grid1.DataSource = ado
End Sub

Private Sub Combo2_Change(Index As Integer)
Dim ado As ADODB.Recordset    '就是想在这里选择日期,可以使一天也可以是几天,我用了一个Combo2_Change的数组,想在下拉选择日期
sql = "select timer from [TX] where [timer]='" & Combo2.Text & "' order by timer"
Debug.Print sql
Set ado = DBCnn.Execute(sql)
Set Grid1.DataSource = ado
End Sub

Private Sub Command1_Click()
sql = "select ID,Num,timer from GP1 order by id"
Set ado = DBCnn.Execute(sql)
Set Grid1.DataSource = ado
End Sub

Private Sub Command2_Click()
sql = "select timer from [TX]-。。。。。。。。。。。。。。。不会了"
然后在这里对上面选择的日期范围内的数据进行提取,然后运算数据,然后输出到Grid1中

End Sub

Private Sub Form_Load()
Call ConnectDB
Dim ado As ADODB.Recordset
sql = "select ID from TX"
Set ado = DBCnn.Execute(sql)
Do Until ado.EOF
Combo1.AddItem ado(0)
ado.MoveNext
Loop
End Sub

Public sql As String
'定义全局ADO对象连接,用于连接数据库
Public DBCnn As New ADODB.Connection
Public Sub ConnectDB()
   Set DBCnn = New ADODB.Connection
   With DBCnn
        .Provider = "SQLOLEDB"
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\MS.mdb;Persist Security Info=False;Jet OLEDB:Database Password=22474816@%%^@&%("
        .Open
   End With
End

!! 1.跟Combo1_Click一样,要在click事件里写个
2.不太明白LZ表述的意思
最大的3个,用 select top 3 timer from [TX] order by id desc(降序排列,取最前3条记录) 
数量之和用聚合函数: sum(字段名) ; 
时间段:时间字段 between 时间1 to 时间2 或者用条件语句: 时间字段>时间1 and 时间字段<时间2 ;
写个简单例子给你,具体的SQL语法规则还是需要你自己去找资料学习
e.g.
select sum(Field1)-sum(Field2) from Table1 where time1>='2010-11-29 12:00:00' and time1<'2010-11-30'

3.工程--->部件 (Ctrl+T) 勾选 Microsoft Script control ,用这个控件的eval方法 建议使用DTPicker控件 谢谢,我在试着弄弄 工程--->部件 (Ctrl+T) 勾选 Microsoft Script control没有这个,有一个taxonomycontrol的,引用后系统报错
引用 5 楼 zhangweili 的回复:
工程--->部件 (Ctrl+T) 勾选 Microsoft Script control没有这个,有一个taxonomycontrol的,引用后系统报错

这个也没有。。。装的是精简版的吧 装的是飘过版
不明白楼主的需求。
不明白,等需求清楚了再看
另外建议vb装个完整版的 建议使用DTPicker控件 1:access里面有数据,数据是不同日期的,是以天记的日期
2:现在在execl里面,但是数据量很大,用execl打开就要1分钟
3:现在用execl就是把最后两列想减,在按大小排一下序
需求就是用vb读取access,然后把access里面的数据最近两天(或者指定两天,我用的是combo。text里面选择日期)想减,然后按大小排序。

不知道清楚没有

我的可能是简装版,刚才下了一个染上毒了,单位的电脑不敢再用了,晚上回家再下 搞不定 日期前后加上#试一试 比较复杂的话就加我QQ
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,