ODBC接続を使用してシートにインポートされるいくつかのフィールドを再フォーマットする方法を探しています。特にフィールドは日付フィールドです。データベースのデータに "1850-01-01"または "0001-01-01"の日付が含まれることがあるので、これらをテキストまたはその他の形式でインポートする必要があります。 Excelにインポートすると、日付は####のように表示されます。Excel VBA ODBC接続のインポートされた列の書式設定
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
が問題の列です。ここで
カラムが日付を表示するだけの幅ではないと確信していますか?列の幅が十分でなく、日付が完全に表示されない場合は、「#####」 – Jordan