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 回答