【问题标题】:Getting CurrentRecord on a dynamic recordset on Access Form在访问表单上的动态记录集上获取 CurrentRecord
【发布时间】:2018-08-20 20:31:25
【问题描述】:

我有这段代码用于设置未绑定文本框控件的值,我称之为 txtCurrRec。它是在表单上显示“x of y 记录”,而不是依赖于导航控制记录数。问题是我根据切换按钮设置表单的控制源。默认情况下(加载时)切换为真并且过滤器打开。如果按下切换,一个函数会确定 sql 是什么以及 txtCurrRec 应该是什么。它获得正确的总记录(该语句的 y),但如果表单使用过滤的 SQL(int 字段 = -1),x 值显示基于表值的记录计数,而不是过滤集。

这是公共功能代码:

Private Function ABOnly()
Dim pSQL As String

If Me.tgABRec = True Then
    Me.tgABRec.Caption = "AB Recs Only"
    Me.tgABRec.BackColor = RGB(221, 217, 195)
    Me.tgABRec.HoverColor = RGB(221, 217, 195)
    pSQL = "SELECT * From tblAllRecs WHERE ABRecs = -1"
    Me.txtCurrRec = CStr(Me.CurrentRecord) & " of " & _
    DCount("ID", "tblAllRecs", "ABRecs = -1") & " Records"
Else
    Me.tgABRec.Caption = "ALL RECORDS SHOWING"
    Me.tgABRec.BackColor = RGB(221, 217, 195)
    Me.tgABRec.HoverColor = RGB(221, 217, 195)
    pSQL = "SELECT * From tblAllRecs"
    Me.txtCurrRec = CStr(Me.CurrentRecord) & " of " & _
    DCount("ID", "tblAllRecs") & " Records"
End If

End Function

CStr(Me.CurrentRecord) 似乎无法与动态 SQL 一起正常工作。有谁知道我怎样才能让它正常工作?

【问题讨论】:

  • Me.CurrentRecord 应该引用什么?也许是表格上的东西(如文本框)或其他东西?我问是因为一般来说,Microsoft Access 使用Me.CurrentRecord 来调用该属性并将其设置为一个整数值,该值表示表单上显示的当前记录号。
  • 应该是现在的形式
  • 好吧,如果你引用的记录直接在主窗体上,应该没有任何问题。但是,如果这是一个子表单,它可以解释您遇到的问题。对于任何子表单,您都需要以不同的方式引用 CurrentRecord

标签: vba ms-access record


【解决方案1】:

你忘记了主要部分。

Me.RecordSource = pSQL

您需要分配记录集源才能使用me.currentRecord

【讨论】:

  • 我以为我已经把它分配到了别处,但你是对的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-12
  • 1970-01-01
相关资源
最近更新 更多