1

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

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

效果很好。不过有一个小问题。该表有 10 个产品插槽,而 Fulfillment 软件只有 5 个。我想找到一种方法来使用VBA5 个产品导出客户信息并检查它们是否有第 6 个,然后如果真的再次导出相同的客户信息但这次是产品领域6-10

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

抱歉,如果这看起来含糊不清。我尽力解释。

提前感谢您在此问题上的任何帮助。

4

2 回答 2

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
于 2013-05-31T10:47:40.117 回答
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)
        )
于 2013-05-31T11:09:02.147 回答