4

データベースからレコードを読み取るコードがいくつかあります。を読み取ると、レコードセット変数がテーブルの値を独自の形式に変更します。例:

データベース内

時刻の値は 12345 (日付と時刻ではない) ですが、レコード セットがそれを読み取ると、次のようになります。例: 23-06-2012 10:15:23

実行後、レコードセット自体が独自の形式で値を格納することがわかりました。

Set rs = CmdSqlData.Execute()

では、レコードセットを として定義する方法はありますStringか?

これがコードです。

Dim rs As ADODB.RecordSet
Set rs = CmdSqlData.Execute()
Do While (rs.EOF = FALSE And rs.BOF = FALSE)
  p = rs.GetRows(1)
  cell(1,1) = p(0,0)
Loop

フォーマットが変更されないように、データを文字列として(データベースにあるように)読み取る方法を教えてください。

注:他の要件によりExcelセル形式を変換できませんが、テーブルから文字列としてすべてを読み取りたい

4

1 に答える 1

5

あなたが書くなら

CStr(p(0,0))

セルに対して、Excel はコンテンツに適した型に変換するため、p(0,0) が数値の場合、セルは数値になります。

ただし、書くと

ActiveSheet.Cells(1, 1) = "'" & p(0, 0)

セル A1 には表示する '2 が含まれますが、文字列として操作できます。これは、Excel の初期の頃から残っているもので、文字列を入力するには、先頭に一重引用符を付ける必要がありました。

A1
2   
=A1=2   FALSE
=A1="2" TRUE
于 2012-06-22T09:46:11.627 に答える