【发布时间】:2020-10-24 18:16:52
【问题描述】:
我最近继承了一个用 Visual Basic 和 Java Script 编写的经典 ASP 应用程序。我不是程序员,但在 VBA 中使用 Excel 和 Access 编写了一些应用程序。
我正在寻找添加脚本以使用 ADODB 记录集将 excel (.xlsx) 工作表复制到访问 (.accdb) 表中。我在 VBA 中使用过这种方法,但 asp classic 中的 Visual Basic 代码无法识别记录集对象的 Locktype 或 Options 属性。如果我删除 .Options 和 .Locktype 脚本将运行,但只能在只读模式下运行,我无法添加新记录。
adPath = Server.Mappath("OutageData/QHT.accdb")
Set cnnAccess = Server.CreateObject("ADODB.Connection")
with cnnAccess
.Provider="Microsoft.ACE.OLEDB.12.0"
.Open adpath
end with
Set rstAccess = Server.CreateObject("ADODB.Recordset")
with rstAccess
.ActiveConnection=cnnAccess
.CursorType=adOpenDynamic
.Options=adCmdTable
.LockType=adLockOptimistic
.cursorlocation=aduseclient
.Open "TST1UPDT"
end with
有什么建议吗?
谢谢
基思
【问题讨论】:
-
回答与使用Named Constants in Classic ASP相关。
-
我一直发现使用标准 SQL 插入查询比处理可编辑记录集容易得多,例如
cnnAccess.Execute("insert into YourTableName(Field1, Field2) values('"&value1&"','"&value2&"')") -
我认为您知道您可以将 Excel 电子表格直接导入 Access 数据库。
标签: ms-access asp-classic adodb recordset