在 Access Form 的动态记录集上获取 CurrentRecord
Getting CurrentRecord on a dynamic recordset on Access Form
我有这段代码用于设置未绑定文本框控件的值,我称之为 txtCurrRec。它是在表单上显示"x of y records",而不是依赖于导航控件记录计数。问题是我根据切换按钮设置了表单的控制源。默认情况下(加载时)切换为真且过滤器打开。如果按下切换键,一个函数会确定 sql 是什么以及 txtCurrRec 应该是什么。它获得正确的总记录数(该语句的 y),但如果表单使用过滤后的 SQL(一个 int 字段 = -1),则 x 值显示基于 table 值的记录数,不是过滤后的集合。
这是public函数代码:
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.RecordSource = pSQL
您需要分配记录集源才能使用me.currentRecord
我有这段代码用于设置未绑定文本框控件的值,我称之为 txtCurrRec。它是在表单上显示"x of y records",而不是依赖于导航控件记录计数。问题是我根据切换按钮设置了表单的控制源。默认情况下(加载时)切换为真且过滤器打开。如果按下切换键,一个函数会确定 sql 是什么以及 txtCurrRec 应该是什么。它获得正确的总记录数(该语句的 y),但如果表单使用过滤后的 SQL(一个 int 字段 = -1),则 x 值显示基于 table 值的记录数,不是过滤后的集合。
这是public函数代码:
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.RecordSource = pSQL
您需要分配记录集源才能使用me.currentRecord