ms-access – 访问连续表单:添加控件而不修改基础表?

ms-access – 访问连续表单:添加控件而不修改基础表?,第1张

概述我正在制作一个简单的Access表单(连续视图).这在“详细信息”部分中有一个复选框,在页脚中有一个“命令”按钮. 这样,用户可以使用复选框“选择”多个记录,然后单击按钮上的命令按钮以运行更新所选记录的脚本.无需永久存储这些检查值. 通常,我会在底层表中添加一个布尔字段,并将该复选框与该字段相关联.但有没有办法在不修改表格的情况下做到这一点?即将复选框值存储在内存中? 您可以在表单中包含记录选择复 我正在制作一个简单的Access表单(连续视图).这在“详细信息”部分中有一个复选框,在页脚中有一个“命令”按钮.

这样,用户可以使用复选框“选择”多个记录,然后单击按钮上的命令按钮以运行更新所选记录的脚本.无需永久存储这些检查值.

通常,我会在底层表中添加一个布尔字段,并将该复选框与该字段相关联.但有没有办法在不修改表格的情况下做到这一点?即将复选框值存储在内存中?

解决方法 您可以在表单中包含记录选择复选框
断开连接的记录集.这是您在内存中创建的ADO记录集,不受任何数据源的约束.使用记录集中的主键,命令按钮的单击过程可以遍历记录集以检索“选定”记录的主键列表.如果这种方法听起来很有用,请参阅Danny Lesandrini在 Database Journal: Create In-Memory ADO Recordsets上的这篇文章

我根据该文章的代码创建了这个表单.主窗体包括一个基于断开连接的记录集的子窗体,该子窗体在子窗体的Form_Open期间加载.

请注意,您实际上不需要在表单中显示主键(ID);只要它包含在记录集中,您就可以在遍历记录集时检索它.

Private Sub Form_Open(Cancel As Integer)    Dim dbs As DAO.Database    Dim fld As ADODB.FIEld    Dim rstAdo As ADODB.Recordset    Dim rstDao As DAO.Recordset    Dim strsql As String    Set rstADO = New ADODB.Recordset    With rstAdo        .FIElds.Append "EmployeeID",adInteger,adFldKeyColumn        .FIElds.Append "Firstname",adVarChar,10,adFldMayBeNull        .FIElds.Append "Lastname",20,adFldMayBeNull        .FIElds.Append "Selected",adBoolean        .CursorType = adOpenKeyset        .CursorLocation = adUseClIEnt        .LockType = adLock@R_165_3270@        .Open    End With    Set dbs = CurrentDb    strsql = "SELECT EmployeeID,Firstname,Lastname " & _             "FROM Employees ORDER BY Lastname,Firstname"    Set rstDao = dbs.OpenRecordset(strsql,dbOpenSnapshot)    Do Until rstDao.EOF        rstAdo.AddNew        rstAdo!EmployeeID = rstDao!EmployeeID        rstAdo!Firstname = rstDao!Firstname        rstAdo!Lastname = rstDao!Lastname        rstAdo!Selected = False        rstAdo.Update        rstDao.MoveNext    Loop    Set Me.Recordset = rstAdo    rstDao.Close        Set rstDao = nothing    Set dbs = nothingEnd Sub

该代码示例使用ADO的早期绑定,这需要为Microsoft ActiveX数据对象的版本设置引用.但是,它可以适用于后期绑定的适当修改.

这种方法并不是轻量级的.但是,它允许您使用选择复选框,而不将它们绑定到实际数据表中的“是/否”字段.当用户可能覆盖共享表中的每个其他选择时,这将是多用户应用程序中的挑战.断开连接的记录集巧妙地避免了这种冲突.

总结

以上是内存溢出为你收集整理的ms-access – 访问连续表单:添加控件而不修改基础表?全部内容,希望文章能够帮你解决ms-access – 访问连续表单:添加控件而不修改基础表?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1064454.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存