Function 访问表单-当前记录计数

Function 访问表单-当前记录计数,function,ms-access,compiler-errors,vba,record,Function,Ms Access,Compiler Errors,Vba,Record,我创建了一个公共函数,以便在Access窗体上调用它,并在textbox控件中显示结果。这是公共职能: Public Function CurrRecs(xRecName As String, frmName As Form, tblCount As String) If Forms(frmName).NewRecord Then frmName.txtCurrRec = "New " & xRecName & " Record" Else f

我创建了一个公共函数,以便在Access窗体上调用它,并在textbox控件中显示结果。这是公共职能:

Public Function CurrRecs(xRecName As String, frmName As Form, tblCount As String)
    If Forms(frmName).NewRecord Then
     frmName.txtCurrRec = "New " & xRecName & " Record"
    Else
     frmName.txtCurrRec = CStr(frmName.CurrentRecord) & " of " & _
     DCount("ID", tblCount) & " " & xRecName & "s"
    End If
End Function
这是我在表格上看到的

CurrRecsRecordType、frmCurrentForm、tblGetCountFromHere

我得到一个编译错误:应为:


有人知道我做错了什么吗?

错误是因为您将frmName声明为表单,但在一个位置将其作为字符串使用,在另一个位置将其作为表单使用

此外,如果需要表计数,请使用Form.RecordSet.RecordCount,而不是复杂的数据计数

重写:

公共函数CurrRecsxRecName作为字符串,frmName作为字符串 作为形式的Dim frm 设置frm=FormsfrmName 如果frm NewRecord那么 frm.txtcurrec=新&xRecName&Record 其他的 frm.txtcurrec=CStrfrm.CurrentRecord&of&_ frm.RecordSet.RecordCount&&xRecName&s 如果结束 端函数
我意识到我需要将表单列为表单!frmCurrentForm,但仍然得到错误。谢谢!我刚刚得到了与我在进行故障排除、研究声明和设置表单时相同的答案。你的解决方案和我的完全一样,除了每个地方都写着frmName ie frmName.txtcurrec,现在需要写frm.txtcurrec。谢谢