访问VBA导出

时间:2013-05-31 10:14:24

标签: vba export ms-access-2007

我正在尝试将表格导出到.txt文件以加载到Fulfillment软件中。我用了

DoCmd.TransferText acExportDelim, "", "[Table Name]", "[Export Path Name]", False

并且效果很好。但是有一个小问题。该表有10个产品插槽,而Fulfillment软件只有5个。我想找到一种方法使用VBA导出5个产品的客户信息并检查他们是否有第6个然后如果是真的导出同样的客户信息,但这次是产品字段6-10

我找不到任何关于导出特定字段或检查某些字段的方法,但我知道可以这样做。

对不起,如果这看起来很模糊。我试着尽力解释。

提前感谢您对此事的任何帮助。

2 个答案:

答案 0 :(得分:0)

所以,如果我得到它,你的第一个目标是将表导出到.txt?

在这种情况下,我会使用这样的记录集:

Public Sub ExportToTxt(varTableYouWantToExport As String, pathFile As String)
    Dim filenumber
    Dim db As Database
    Dim rscurrent As Recordset
    Dim strSQL As String

    Open pathFile For Output As #filenumber
    strSQL = "SELECT * FROM " & varTableYouWantToExport & ";"
    Set db = CurrentDb
    Set rscurrent = db.OpenRecordSet()

    rscurrent.MoveFirst

    While Not rscurrent.EOF
        Print #filenumber, vbCrLf & _
            rscurrent("Product_Id") & ";" _
            rscurrent("Product_Price") ";" _
            ...
        rscurrent.MoveNext
    Wend

    rscurrent.Close
    db.Close

    Close #filenumber
End Sub

答案 1 :(得分:0)

我建议创建一个类似于以下内容的查询,然后使用DoCmd.TransferText导出它而不是导出表格:

    SELECT CustomerID, Product1, Product2, Product3, Product4, Product5
    FROM [Table Name]
UNION ALL
    SELECT CustomerID, Product6, Product7, Product8, Product9, Product10
    FROM [Table Name]
    WHERE NOT
        (
            (Product6 IS NULL) AND (Product7 IS NULL) AND (Product8 IS NULL)
                AND (Product9 IS NULL) AND (Product10 IS NULL)
        )