VB实现从SQL导出数据到EXCEL无数据!

myrenhe 2007-04-14 10:58:55
DTPicker1用于选择日期,程序如下:
With Adodc1
.ConnectionString = "dsn=jczx"
.UserName = "jczx2"
.Password = ""
.RecordSource = "select 铅品号, 批号,生产单位, 标准编号,生产日期,化验日期,化验员,判定,银Ag,铜Cu,锑Sb,锡Sn,砷As,铋Bi,铁Fe,锌Zn,总和,铅Pb,审核人,批量 from djqsr where 生产日期 between (" & Year(DTPicker1.Value) & "/" & Month(DTPicker1.Value) & "/" & Day(DTPicker1.Value) & ") and (" & Year(DTPicker2.Value) & "/" & Month(DTPicker2.Value) & "/" & Day(DTPicker2.Value) & ") order by 生产日期 desc, 批号 "
.Refresh
End With
Set oexcel = CreateObject("Excel.Application")
Set obook = oexcel.Workbooks.Add
Set osheet = obook.Worksheets(1)
osheet.range("A1").Value = "铅品号"
osheet.range("B1").Value = "批号"
osheet.range("C1").Value = "生产单位"
osheet.range("D1").Value = "标准编号"
osheet.range("E1").Value = "生产日期"
osheet.range("F1").Value = "化验日期"
osheet.range("G1").Value = "化验员"
osheet.range("H1").Value = "判定"
osheet.range("I1").Value = "银Ag"
osheet.range("J1").Value = "铜Cu"
osheet.range("K1").Value = "锑Sb"
osheet.range("L1").Value = "锡Sn"
osheet.range("M1").Value = "砷As "
osheet.range("N1").Value = "铋Bi"
osheet.range("O1").Value = "铁Fe"
osheet.range("P1").Value = "锌Zn"
osheet.range("Q1").Value = "总和"
osheet.range("R1").Value = "铅Pb"
osheet.range("S1").Value = "审核人"
osheet.range("T1").Value = "批量"
osheet.range("A2").CopyFromRecordset Adodc1.Recordset
obook.SaveAs "d:\report\电解铅 从 " & DTPicker1.Value & " 到 " & DTPicker2.Value & ".xls"
oexcel.Quit
Set osheet = Nothing
Set obook = Nothing
Set oexcel = Nothing
MsgBox "电解铅报表生成成功"
程序运行后,每列有列名。但是列名下面没数据!
请大侠们赐教呀!
多谢谢了!
...全文
298 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
myrenhe 2007-04-14
  • 打赏
  • 举报
回复
多谢IAMTSFW的关注。
问题解决了!
谢谢两个大侠的关注!接分
myrenhe 2007-04-14
  • 打赏
  • 举报
回复
多谢skysyan()的关注。
两个建议试验后还是不行,问题依旧。
请大侠们多想想呀 !
iamtsfw 2007-04-14
  • 打赏
  • 举报
回复
楼上说的对,我也这么想的
关键是造出一个类似"...between '2007-04-02' and '2007-04-02'"的字符串来。

where 生产日期 between (" & Year(DTPicker1.Value) & "/" & Month(DTPicker1.Value) & "/" & Day(DTPicker1.Value) & ") and (" & Year(DTPicker2.Value) & "/" & Month(DTPicker2.Value) & "/" & Day(DTPicker2.Value) & ") order by 生产日期 desc, 批号 "
改为
"where 生产日期 between ('" & Year(DTPicker1.Value) & "/" & Month(DTPicker1.Value) & "/" & Day(DTPicker1.Value) & "') and ('" & Year(DTPicker2.Value) & "/" & Month(DTPicker2.Value) & "/" & Day(DTPicker2.Value) & "') order by 生产日期 desc, 批号 "
试试
skysyan 2007-04-14
  • 打赏
  • 举报
回复
要格式化日期的话可以这样写:
.RecordSource = "select 铅品号, 批号,生产单位, 标准编号,生产日期,化验日期,化验员,判定,银Ag,铜Cu,锑Sb,锡Sn,砷As,铋Bi,铁Fe,锌Zn,总和,铅Pb,审核人,批量 from djqsr where 生产日期 between " & Format(DTPicker1.Value,"YYYY/MM/DD") & " and " & format(DTPicker2.Value,"YYYY/MM/DD") & "
order by 生产日期 desc, 批号 "
skysyan 2007-04-14
  • 打赏
  • 举报
回复
好象是select 语句有点问题,DTpicker的用法有问题,这句改改:
.RecordSource = "select 铅品号, 批号,生产单位, 标准编号,生产日期,化验日期,化验员,判定,银Ag,铜Cu,锑Sb,锡Sn,砷As,铋Bi,铁Fe,锌Zn,总和,铅Pb,审核人,批量 from djqsr where 生产日期 between '" & DTPicker1.Value & "' and '" & Year(DTPicker2.Value) & "'
order by 生产日期 desc, 批号 "

1,217

社区成员

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

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