编程论坛
注册
登录
编程论坛
→
VB6论坛
调用access中一列数据进行计算 并将结果显示到MSHFlexGrid中
lucwd
发布于 2017-06-05 16:07, 2068 次点击
access中有一列数据是时间比如2017-6-5,怎么调用这列数据减去当前时间得到天数,显示在MSHFlexGrid中。
6 回复
#2
ZHRXJR
2017-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
lucwd
2017-06-05 20:27
回复 2楼 ZHRXJR
你好 我想再问下MSHFlexGrid可不可以对特定的行设置颜色 ,比如大于20天的显示红色 小于20天的显示蓝色
#4
wlrjgzs
2017-06-06 11:01
以下是引用
lucwd
在2017-6-5 20:27:09的发言:
你好 我想再问下MSHFlexGrid可不可以对特定的行设置颜色 ,比如大于20天的显示红色 小于20天的显示蓝色
可以,自己绘制表格。
#5
xiangyue0510
2017-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
lucwd
2017-06-06 18:45
谢谢大家 最后我是在access中建了个查询,直接 select * from 查询 wher '条件' 再根据版主们的代码 逐行显示并改变颜色。
#7
xzlxzlxzl
2017-06-06 20:37
sql语句可以直接得到日期计算结果的
1