一个ACCESS窗体,打开以后有三个BUTTON,在单击的时间过程里,三个BUTTON的代码如下
Option Compare DatabasePrivate Sub Command2_Click()
suncsv.RequeryEnd SubPrivate Sub Command3_Click()
On Error GoTo Err_Command3_Click
    DoCmd.CloseExit_Command3_Click:
    Exit SubErr_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 SubErr_Command4_Click:
    MsgBox Err.Description
    Resume Exit_Command4_Click
    
End Sub
command2是用requery方法更新显示数据,command3是关闭窗体,command4现在我想实现把每次查询出来的数据集合导出导出有几个要求:
1.标题栏不要导出
2.其中有几列不需要导出,所以是选择性导出
3.保存成CSV文件,而且文件名用我command4里面的那个已经取到的一个string字串来命名
4.不用EXCEL控件,直接导出
因为从来没有接触过ACCESS,看了一天也没有头绪,请各位指教下,如果能附上一小段代码讲解下更好,先谢谢啦

解决方案 »

  1.   

    csv文件就是用逗号分隔的数据文件。
    直接拼接再写入文本文件即可。
      

  2.   

    刚刚看到有 DoCmd.TransferText    DoCmd.OutputTo  这两种方法
    请问有人能详细讲解下吗?
      

  3.   

        '用循环取得
        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
      

  4.   

    更正
      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