用VB制作 ACCESS数据库 TeeChart画图小软件,求大神指教

ohye1188 2016-12-14 02:56:37
数据库内容如图一,想要画的图为图二,统计每天加班人数
有两个问题
第一个问题: 怎么将TeeChart横轴定义成日期,每一格代表1天
第二个问题:怎么统计每天加班的人数,就是当我用if来判断“是否加班”为“是”的时候,怎么对应到每个日期上

数据库连接代码如下:
Public strconn As String
Public rs1 As New ADODB.Recordset
Dim strsql1 As String
Dim strconn As String
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库.mdb;Persist Security Info=False"
conn.CursorLocation = adUseClient
conn.Open strconn
strsql1 = " select * from 表 where 是否加班= "是" "
rs1.Open strsql1, conn, adOpenStatic, adLockBatchOptimistic

之后该怎么写才能画出图上的效果啊?是不是要定义数组来画图?

怎么得到每个日期对应的行数(既:每个日期对应的加班数),然后再分别给坐标轴赋值?

...全文
694 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38399079 2017-05-01
  • 打赏
  • 举报
回复
我想知道怎么调取数据库数据画图
Tiger_Zhao 2016-12-15
  • 打赏
  • 举报
回复
自己按统计的范围改 WHERE 条件啊,不用忘了先在日历表中填满日期。
编程成单行,贴到 strsql1 = "" 的双引号内。
ohye1188 2016-12-14
  • 打赏
  • 举报
回复
引用 1 楼 Tiger_Zhao 的回复:
添加表:日历(日期) 每天一条记录。 比如查询10天的SQL如下,你的两个问题都能解决了。
    SELECT T2.日期, 
           IIf(IsNull(T1.人数),0,T1.人数) AS 人数
      FROM 日历 AS T2
 LEFT JOIN (
                SELECT 日期, Count(*) AS 人数
                 FROM 表 
                WHERE 是否加班 = True
             GROUP BY 日期
           ) AS T1
        ON T2.日期 = T1.日期
     WHERE T2.日期 BETWEEN #2015-1-1# AND #2015-1-10#
  ORDER BY T2.日期
我是想无限往下做的,比如后面日期累计增加,这个能一直往下统计,这个怎么实现啊?还有上面这个sql要怎么套入VB啊... 我还是个小白,能再详细说说么?
Tiger_Zhao 2016-12-14
  • 打赏
  • 举报
回复
添加表:日历(日期)
每天一条记录。
比如查询10天的SQL如下,你的两个问题都能解决了。
    SELECT T2.日期, 
IIf(IsNull(T1.人数),0,T1.人数) AS 人数
FROM 日历 AS T2
LEFT JOIN (
SELECT 日期, Count(*) AS 人数
FROM 表
WHERE 是否加班 = True
GROUP BY 日期
) AS T1
ON T2.日期 = T1.日期
WHERE T2.日期 BETWEEN #2015-1-1# AND #2015-1-10#
ORDER BY T2.日期

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧