Excel VBA ODBC连接导入列格式

时间:2017-01-25 16:10:28

标签: mysql excel vba excel-vba odbc

我正在寻找一种方法来重新格式化使用ODBC连接导入到工作表的某些字段。特别是字段是日期字段。我需要将它们作为文本或其他格式导入,因为数据库中的数据有时会有“1850-01-01”或“0001-01-01”的日期。导入到Excel时,日期显示为#### signs。

以下是我正在使用的已编辑的查询:

Public Sub REFRESH_DATA()

Dim cnDB As New ADODB.Connection    'Declare the connection object.
Dim rsRecords As New ADODB.Recordset 'Declare a Recordset object.

'Open the connection

cnDB.Open "DSN=DB;Database=DB;Servername=server.net;UID=username;Password=password;Port=0000;ReadOnly=0;SQLBitOneZero=0;LegacySQLTables=0;NumericAsChar=0;ShowSystemTables=0;LoginTimeout=0;QueryTimeout=0;DateFormat=1;SecurityLevel=onlySecured;CaCertFile="

rsRecords.Open "SELECT REGION_CD, CUST_NO, EFF_DATE FROM DATABASE.TABLE", cnDB

'Print the records in the correct table
.Range("A2").CopyFromRecordset rsRecords

'Close everything
rsRecords.Close
Set rsRecords = Nothing
cnDB.Close
Set cnDB = Nothing

End Sub

EFF_DATE是相关列。

1 个答案:

答案 0 :(得分:1)

为未来的后代发布我自己的问题的答案:

我的SELECT语句为EFF_DATE,我将其更改为CAST(EFF_DATE as varchar(30)),然后保留数据库本身的格式。