ACCESS中查询出结果集并导出为CSV文件(不调用EXCEL)

xuexinghen 2010-05-24 02:54:45
一个ACCESS窗体,打开以后有三个BUTTON,在单击的时间过程里,三个BUTTON的代码如下
Option Compare Database

Private Sub Command2_Click()
suncsv.Requery

End Sub

Private Sub Command3_Click()
On Error GoTo Err_Command3_Click


DoCmd.Close

Exit_Command3_Click:
Exit Sub

Err_Command3_Click:
MsgBox Err.Description
Resume Exit_Command3_Click

End Sub
Private Sub Command4_Click()
On Error GoTo Err_Command4_Click

Dim strname As String

strname = [Forms]![窗体EBook报关清单CSV]![流水号]
strname = "M10-" & strname


Exit_Command4_Click:
Exit Sub

Err_Command4_Click:
MsgBox Err.Description
Resume Exit_Command4_Click

End Sub


command2是用requery方法更新显示数据,command3是关闭窗体,

command4现在我想实现把每次查询出来的数据集合导出

导出有几个要求:
1.标题栏不要导出
2.其中有几列不需要导出,所以是选择性导出
3.保存成CSV文件,而且文件名用我command4里面的那个已经取到的一个string字串来命名
4.不用EXCEL控件,直接导出


因为从来没有接触过ACCESS,看了一天也没有头绪,请各位指教下,如果能附上一小段代码讲解下更好,先谢谢啦
...全文
438 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
孤独剑_LPZ 2010-05-25
  • 打赏
  • 举报
回复
更正
Dim rs As New ADODB.Recordset
sSql = "select tm1,tm2,tm3 from zy_wj"
Set rs = GetRs(sSql)
For i = 0 To rs.Fields.Count-1
s1= rs!tm1
s2= rs!tm2
s3= rs!tm3
s=s1 & "," & s2 & "," & s3
t= t + s + vbcrlf
rs.MoveNext
Next
open "d:\aa.csv" for output as #1
print #1,t
close #1
孤独剑_LPZ 2010-05-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xuexinghen 的回复:]
那请问我怎么取到每一个的数据? 用哪个函数或者表达式可以取到具体某一格的值呢?
[/Quote]
'用循环取得
Dim rs As New ADODB.Recordset
sSql = "select tm1,tm2,tm3 from zy_wj"
Set rs = GetRs(sSql)
For i = 0 To rs.Fields.Count-1
debug.print rs.Fields(i).Name
Next
xuexinghen 2010-05-24
  • 打赏
  • 举报
回复
刚刚看到有 DoCmd.TransferText DoCmd.OutputTo 这两种方法
请问有人能详细讲解下吗?
xuexinghen 2010-05-24
  • 打赏
  • 举报
回复
那请问我怎么取到每一个的数据? 用哪个函数或者表达式可以取到具体某一格的值呢?
threenewbee 2010-05-24
  • 打赏
  • 举报
回复
csv文件就是用逗号分隔的数据文件。
直接拼接再写入文本文件即可。

1,216

社区成员

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

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