我有一些代码可以从数据库中读取记录。当我读取时,recordset变量将表值修改为自己的格式。 对于Eg:
在数据库中
时间值是12345(不是日期和时间),但是当记录集读取它时,它 例如:2012年6月23日 十点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
任何人都可以让我知道如何将数据读取为String(就像在数据库中一样),这样就不会发生格式变化。
注意:由于其他要求,我无法转换Excel单元格格式,但我想将其视为表格中的字符串
答案 0 :(得分: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