2017-06-17 48 views
0

下午好, 我有一個包含我的所有客戶列表的訪問查詢允許呼叫CUS 我有了訂單傳遞字符串結果查詢,然後導出爲CSV

我會的清單另一查詢喜歡寫一些VBS循環遍歷客戶列表並輸出包含屬於該客戶的所有訂單的csv文件。

然後,vba將轉到列表中的下一個客戶並執行相同的操作。

任何幫助將是偉大的。

以下

代碼片斷幾乎沒有不能得到WHERE條件工作也持續顯示一個彈出對我來說,但是填充相同的字符串在喂MSGBOX這裏很好低於謂一個片段是內環路

strcustcode = rs!OCUSTCODE 
ordercount = rs!orders 
TIMEFILE = Format$(Time, "HHMM") 
MsgBox ([strcustcode] & " has " & [ordercount] & " orders") 
StrSQL = "Select * From [24-ND_Cus] where [24-ND_Cus].[OCUSTCODE] = strcustcode " 
Set qd = db.CreateQueryDef("tmpExport", StrSQL) 
DoCmd.TransferText acExportDelim, , "tmpExport", "c:file.csv" db.QueryDefs.Delete "tmpExport" – 
+0

嗨Leon歡迎來到Stack ... – HA560

+2

你可以添加你嘗試過的..這將是偉大的。 – HA560

+0

幾乎沒有不能得到WHERE條件的工作就一直顯示一個彈出我來填充然而相同的字符串在喂MSGBOX精細 這裏是低於謂一個片段是內環路 strcustcode = RS!OCUSTCODE 定單計數= RS!訂單 TIMEFILE =格式$(Time,「HHMM」) MsgBox([strcustcode]&「has」&[ordercount]&「orders」) StrSQL =「Select * From [24-ND_Cus] where [24-ND_Cus ] [OCUSTCODE] = strcustcode 「 集QD = db.CreateQueryDef(」 tmpExport」,STRSQL) DoCmd.TransferText acExportDelim, 「tmpExport」, 「C:FILE.CSV」 db.QueryDefs.Delete 「tmpExport」 –

回答

0

不要在VBA變量周圍使用[]。當你只是想給用戶一條消息時,不要爲MsgBox使用parens。 parens使它成爲一個函數,需要用戶設置變量的響應。

MsgBox strcustcode & " has " & ordercount & " orders"

串聯變量到SQL語句。如果OCUSTCODE是文本類型字段,請使用參數的撇號分隔符。

StrSQL = "Select * From [24-ND_Cus] Where [OCUSTCODE] = '" & strcustcode & "'"

我不建議代碼,經常修改設計和更改查詢的SQL語句正在改變設計。如果唯一的變化是過濾條件,並且動態參數化查詢不起作用,那麼我建議'temp'表格是永久性的,數據是暫時的。刪除表格並將記錄寫入表格並導出表格。