【发布时间】:2020-07-13 22:04:59
【问题描述】:
我想使用 ADO 记录集基于现有表创建新表。然后我想将新表设置为我的表单的记录源。我知道我可以创建一个查询并将查询设置为我的表单的记录源但是如果我不想使用这种方法有可能吗?我希望表单的记录源仅在表单加载时才存在。这是我所做的,但仍然无法将表单的记录源设置为我的记录集。
Private Sub Form_Load()
Dim cnn As ADODB.Connection
Set cnn = CurrentProject.Connection
Dim rst As New ADODB.Recordset
rst.ActiveConnection = cnn
Dim mySql As String
'create tblfrmQryOnHold based on tblOnHold
mySql = "SELECT tblDisposition.ID, tblDisposition.DateRecorded, tblDisposition.OrderNo, tblDisposition.ArticleNo, "
mySql = mySql & "tblDisposition.Description, tblDisposition.Process, tblDisposition.Defects, tblDisposition.RefNo, "
mySql = mySql & "tblDisposition.PostedBy, tblDisposition.Status, tblDisposition.Attachment, tblDisposition.Engineer, "
mySql = mySql & "tblDisposition.Remarks, tblDisposition.ReviewClose, tblDisposition.ScrapNo, tblDisposition.HoldbackNo, "
mySql = mySql & "tblDisposition.ProductionRemarks, tblDisposition.HoldbackQuantity, tblDisposition.HoldbackNum INTO "
mySql = mySql & "frmQryOnHold FROM tblDisposition;"
rst.Open mySql
'set form frmOnHold record source to form frmQryOnHold
Forms![frmOnHold].RecordSource = frmQryOnHold
End Sub
我收到此错误“对象关闭时不允许操作”,此错误指的是哪个对象?
【问题讨论】:
-
为什么选择 ADO? DAO 更适合 MS Access。
标签: ms-access vba ms-access-2007