注册 登录
编程论坛 VB6论坛

调用access中一列数据进行计算 并将结果显示到MSHFlexGrid中

lucwd 发布于 2017-06-05 16:07, 2068 次点击
access中有一列数据是时间比如2017-6-5,怎么调用这列数据减去当前时间得到天数,显示在MSHFlexGrid中。
6 回复
#2
ZHRXJR2017-06-05 19:18
只有本站会员才能查看附件,请 登录

非常简单,关键代码如下,数据库连接略。
程序代码:

Dim db As New ADODB.Connection, cors As New ADODB.Recordset
'-------------------------------------------------------------
cors.Open "select * from 日期数据 ", db, 3, 2
AAA = cors.RecordCount
MSFlexGrid1.Clear
MSFlexGrid1.Visible = True
With MSFlexGrid1
    .Cols = 4
    .Rows = 1 + AAA
    .TextMatrix(0, 0) = "序号"
    .TextMatrix(0, 1) = "日期"
    .TextMatrix(0, 2) = "今日日期"
    .TextMatrix(0, 3) = "间隔天数"     '8295
    .ColWidth(0) = 800
    .ColWidth(1) = 1500
    .ColWidth(2) = 1500
    .ColWidth(3) = 1500
    For I = 1 To AAA
    .TextMatrix(I, 0) = I
    .TextMatrix(I, 1) = cors!日期
    .TextMatrix(I, 2) = Date
    .TextMatrix(I, 3) = DateDiff("d", cors!日期, Date)
    cors.MoveNext
    Next I
End With
#3
lucwd2017-06-05 20:27
回复 2楼 ZHRXJR
你好 我想再问下MSHFlexGrid可不可以对特定的行设置颜色 ,比如大于20天的显示红色 小于20天的显示蓝色
#4
wlrjgzs2017-06-06 11:01
以下是引用lucwd在2017-6-5 20:27:09的发言:

你好 我想再问下MSHFlexGrid可不可以对特定的行设置颜色 ,比如大于20天的显示红色 小于20天的显示蓝色

可以,自己绘制表格。
#5
xiangyue05102017-06-06 15:04
指定当前单元格之后可以,你这个可以逐行判断自后设置
With MSHFlexGrid1
    '修改Textmatrix(0,0)的背景色
    .Row = 0
    .Col = 0
    .CellBackColor = vbRed


    '修改Textmatrix(0,1)的背景色,字体
    .Row = 0
    .Col = 1
    .CellBackColor = vbYellow
    .CellFontSize = 12
    .Redraw = True
End With

#6
lucwd2017-06-06 18:45
谢谢大家 最后我是在access中建了个查询,直接 select * from 查询 wher '条件'  再根据版主们的代码 逐行显示并改变颜色。
#7
xzlxzlxzl2017-06-06 20:37
sql语句可以直接得到日期计算结果的
1