[英]MS Access VBA import csv into new table by using SQL and Schema.ini - Force column names of table
在文件夾C:\\Excel
,我具有以下文件:
Schema.ini
包含:
[test.csv]
Format=Delimited(;)
ColNameHeader=True
MaxScanRows=2
CharacterSet=ANSI
DecimalSymbol=,
Col1=Lot Char
Col2=dateResa1 Date
Col3=PRIXLOG_IMMO Double
Col4=MONTANT_CA_ESTIME Double
在MS Access中,我有一個導出例程,可將csv文件數據加載到創建的表中:TEST
Private Sub importCSV_Click()
Dim strSQL As String
On Error Resume Next: DoCmd.DeleteObject acTable, "TEST": On Error GoTo 0
strSQL = " SELECT CStr(t.lot), CDate(t.dateResa1), CDbl(t.PRIXLOG_IMMO), CDbl(t.MONTANT_CA_ESTIME) " & _
" INTO TEST " & _
" FROM [Text;FMT=Delimited;HDR=YES;CharacterSet=ANSI;DATABASE=C:\Excel].[test.csv] t"
CurrentDb.Execute strSQL
End Sub
它很好用,但是表MS-Access TEST的列名被命名為:
有沒有一種方法可以僅使用SQL和Schema.ini
來強制列表TEST的名稱?
解:
因為我使用CStr,CDate ...強制轉換了字段,所以必須使用別名和蛋糕上的糖霜重新定義字段名稱,別名可以與字段名稱相同。 我測試了
為了避免在Access SQL中強制轉換字段,在Schema.ini中為每個列聲明類型就足夠了,並允許在Access查詢中使用*!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.