我正在寻找一种方法来重新格式化一些使用 ODBC 连接导入到我的工作表中的字段。这些字段尤其是日期字段。我需要将这些作为文本或其他格式导入,因为数据库中的数据有时会有“1850-01-01”或“0001-01-01”的日期。导入 excel 时,日期仅显示为 #### 符号。
这是我当前正在使用的已编辑查询:
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
是有问题的列。
最佳答案
为后代发布我自己的问题的答案:
我的 SELECT
语句是 EFF_DATE
,我将其更改为读取 CAST(EFF_DATE as varchar(30))
然后保持格式来自数据库本身。
关于mysql - Excel VBA ODBC 连接导入的列格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41856335/