我不知所措就在這裏。我試圖通過ADO在VBA中使用SQL連接兩個CSV表。該功能將匹配特定日期和貨幣類型的外匯匯率。我使用由日期和貨幣代碼組成的字符串作爲KEY來嘗試匹配這些,因爲加入匹配的日期和貨幣代碼不起作用。加入使用SQL/ADO在VBA 2周的CSV - 無效數據
而不是給適當的FX率,下面的代碼,而不是返回1或0。
adoRS.Open "SELECT tmpFile.[KEY], fxFile.[KEY], tmpFile.[TRADE_DATE]," & _
"tmpFile.[CURR_CODE]," & _
"tmpFile.[VOLUME]," & _
"tmpFile.[TRADE_PRICE]," & _
"tmpFile.[CAD_VAL]," & _
"fxFile.[FX_PRICE]" & _
" FROM tempFile.csv tmpFile, " & _
" 2011FXRates.csv fxFile" & _
" WHERE tmpFile.[KEY]=fxFile.[KEY]", _
adoCxn, _
adOpenForwardOnly, _
adLockReadOnly, _
adCmdText
奇怪的是,密鑰匹配罰款。爲什麼FX_PRICE沒有按照我的預期進來?有任何想法嗎?
樣本數據
從tempFile.csv
KEY TRADE_DATE CURR_CODE VOLUME TRADE_PRICE CAD_VAL
40554-000 40554 0 600 1.5 900
40556-000 40556 0 800 0.75 600
40556-000 40556 0 1500 0.25 375
40556-000 40556 0 800 2.8 2240
40574-000 40574 0 300 1.3 390
從2011FXRates.csv
KEY TRADE_DATE CURR_CODE FX_PRICE
40554-000 40554 0 1.2605
40555-000 40555 0 1.1609
40556-000 40556 0 1.1494
40557-000 40557 0 1.1362
40560-000 40560 0 1.128
UPDATE 我只是發現了問題 - 它只是採取的第一個數字在FX_PRICE上,所以1.xxx變爲1,0.xxx變爲0.我如何x這個?
爲什麼不內部連接的日期和貨幣代碼?你能發佈一些樣本數據嗎? – Fionnuala 2012-01-16 11:07:28
我試着在日期和貨幣代碼上進行內部連接,但這也不起作用。會發布一些數據。感謝您的關注。 – variant 2012-01-16 18:36:13
是否有可能在數據中有額外的分隔符?如果有插圖中TRADE_DATE CURR_CODE一個額外的標籤,0或1在CURR_CODE可能是你所看到的,而不是什麼FX_PRICE。 – Vinnie 2012-01-16 19:04:37