有没有办法改变VBA中DAO.Recordset字段的类型?如何更改DAO.Recordset字段类型
出于某种原因解释evalueted记录字段类型8(日期时间),但我需要这个字段设置为文本,因为它应该是
我尝试以下操作:
rs.Fields(0).Type = 10
,但是这给了我项目没有在这个集合中找到。错误。
有没有什么办法可以改变DAO.Recordset中特定字段的类型?
EDIT1: 这里是我得到目前为止
Private Sub doMagic()
Dim db as DAO.Database
Dim rs as DAO.Recordset
Dim sql as String: sql = "SELECT * FROM [Sheet1$] WHERE [Column1] IS NOT NULL"
Set db = OpenDatabase(ThisWorkbook.FullName, False, True, "Excel 8.0; HDR=Yes; IMEX=1;"
set rs = db.OpenRecordset(sql)
Dim updateSQL As String: updateSQL = "ALTER TABLE [Sheet1$] ALTER COLUMN [Column5] TEXT(100)"
' I tried following, non of them working:
' db.RunSql(updateSQL) - error: Metod or data member not found
' db.Execute(updateSQL) - fails with error: Operation is not supported for this type of object.
' DoCmd.RunSql(updateSQL)- error: Object required
End Sub
你需要起诉一个'ALTER'命令。你不能改变这种类型。 – PaulFrancis 2015-02-23 10:50:58
@PaulFrancis你能给我提供一个例子吗?我无法找到任何关于这个 – Kajiyama 2015-02-23 10:53:54
只是谷歌搜索的示例/文档:**更改表字段结构vba访问**。我得到这个:https://msdn.microsoft.com/en-us/library/office/ff822825.aspx – PaulFrancis 2015-02-23 10:55:36