如何根据另一个文本框的数量替换最后一个字符
How to replace the last characters depending on the count of another textbox
我正在尝试为注册表创建自定义自动编号。
在我的表单中,我有一个获取当前记录编号的未绑定文本框 (txtposition
)。这个数字是实际的记录数。如果我有 10 条记录并且我在最后一条记录,它将显示为 10。
我有另一个文本框 (txtref
),默认值为 0000
。我需要得到的是 txtposition
的计数(如果 10 表示 2,100 表示 3)并将 txtref
从 0000
替换为 0010
或 0100
,具体取决于数 txtposition
。
我已经有另一个未绑定的文本框,如果需要,它将连接结果。我正在尝试通过以下查询完成此操作:
spacepos: InStr([Forms]![Jobsheet]![Text516],"0000")
FN: Left([Forms]![Jobsheet]![Text516],[spacepos])
我知道这需要 INSTR
、LEN
、RIGHT
或 LEFT
的组合,当然还有 REPLACE
功能。
我的编码知识太基础了,但我能跟上。
用于获取txtposition
的当前记录号的代码:
Private Sub Form_Current()
On Error GoTo err_form_current
Dim rst As Recordset
Set rst = Me.RecordsetClone
rst.Bookmark = Me.Bookmark
Me.txtPosition = rst.AbsolutePosition + 1
exit_form_current:
Set rst = Nothing
Exit Sub
err_form_current:
If Err = 3021 Then 'no current record
Me.txtPosition = rst.RecordCount + 1
Else
MsgBox Error$, 16, "Error in Form_Current()"
End If
Resume exit_form_current
End Sub
只需保存一个普通数字,然后使用格式显示前导零。 Format(10,"0000")
将显示为字符串 0010。不需要 VBA。甚至可以使用 Format 属性 或 Format 函数格式化自动编号字段。但是,如果不能在顺序上留空,那么自动编号可能不符合您的要求。
我正在尝试为注册表创建自定义自动编号。
在我的表单中,我有一个获取当前记录编号的未绑定文本框 (txtposition
)。这个数字是实际的记录数。如果我有 10 条记录并且我在最后一条记录,它将显示为 10。
我有另一个文本框 (txtref
),默认值为 0000
。我需要得到的是 txtposition
的计数(如果 10 表示 2,100 表示 3)并将 txtref
从 0000
替换为 0010
或 0100
,具体取决于数 txtposition
。
我已经有另一个未绑定的文本框,如果需要,它将连接结果。我正在尝试通过以下查询完成此操作:
spacepos: InStr([Forms]![Jobsheet]![Text516],"0000")
FN: Left([Forms]![Jobsheet]![Text516],[spacepos])
我知道这需要 INSTR
、LEN
、RIGHT
或 LEFT
的组合,当然还有 REPLACE
功能。
我的编码知识太基础了,但我能跟上。
用于获取txtposition
的当前记录号的代码:
Private Sub Form_Current()
On Error GoTo err_form_current
Dim rst As Recordset
Set rst = Me.RecordsetClone
rst.Bookmark = Me.Bookmark
Me.txtPosition = rst.AbsolutePosition + 1
exit_form_current:
Set rst = Nothing
Exit Sub
err_form_current:
If Err = 3021 Then 'no current record
Me.txtPosition = rst.RecordCount + 1
Else
MsgBox Error$, 16, "Error in Form_Current()"
End If
Resume exit_form_current
End Sub
只需保存一个普通数字,然后使用格式显示前导零。 Format(10,"0000")
将显示为字符串 0010。不需要 VBA。甚至可以使用 Format 属性 或 Format 函数格式化自动编号字段。但是,如果不能在顺序上留空,那么自动编号可能不符合您的要求。