首页 > 解决方案 > 经典 ASP、Visual Basic 和 ADODB 记录集

问题描述

我最近继承了一个用 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

有什么建议么?

谢谢

基思

标签: ms-accessasp-classicadodbrecordset

解决方案


ssqlinsertupdt ="INSERT INTO " & "TST1UPDT" & " SELECT * FROM " & "[Excel 8.0; HDR=YES; DATABASE=" & cnnAccess & "]." & "[TASK$]"
DatabaseConnection.Execute ssqlinsertUpdt

上面的 sql 语句有效。


推荐阅读