将VBA函数转换为字段名

将VBA函数转换为字段名,vba,ms-access,ms-access-2010,Vba,Ms Access,Ms Access 2010,我有许多形式的函数的相同副本,它们做完全相同的工作。更改的是字段名。所以我将其保留为本地的原因是我不知道如何在引用的表单中按名称引用特定字段。这就是功能: Private Function getNewXNo(ByRef theForm As Form, ByVal strCode As String) As String Dim rs As DAO.Recordset Dim maxNo As Long Dim aNo As Long Set rs = theF

我有许多形式的函数的相同副本,它们做完全相同的工作。更改的是字段名。所以我将其保留为本地的原因是我不知道如何在引用的表单中按名称引用特定字段。这就是功能:

Private Function getNewXNo(ByRef theForm As Form, ByVal strCode As String) As String
    Dim rs As DAO.Recordset
    Dim maxNo As Long
    Dim aNo As Long
    Set rs = theForm.RecordsetClone

    maxNo = 0
    If rs.RecordCount <> 0 Then
        rs.MoveFirst
        Do While Not rs.EOF
            aNo = CLng(Right(Nz(rs!applicationNo, strCode & "0000"), 4))
            If aNo > maxNo Then
                maxNo = aNo
            End If
            rs.MoveNext
        Loop
    End If
    getNewXNo = strCode & Format(maxNo + 1, "
    Set rs = Nothing
End Function

谢谢

您可以访问记录集中的字段,如下所示:

rs("fieldname")

因此,您可以将字段名作为函数的参数。

这将是
aNo=CLng(右(Nz(rs(varThatContainsAFieldName),strCode&“0000”),4))
rs("fieldname")