Vba 未从一个表单复制到另一个表单的格式化自动编号文本

Vba 未从一个表单复制到另一个表单的格式化自动编号文本,vba,ms-access,Vba,Ms Access,我编写了一个宏,将数据从form1中的一个文本框复制到form2中的一个文本框 form1中的文本框从DB中的字段中获取值,该字段自动编号并使用格式“FHMY”0000000 我的代码可以工作,但它不复制格式化文本(编号),而是复制序列号: 假设表中与form1关联的第13个条目是FHMY000013,但当我使用宏时,它复制13个条目,而不是文本FHMY000013 发生这种情况的原因是列作业的表中存储的值是13、14、15等数字,而不是FHMY0000013、FHMY000014、FHMY0

我编写了一个宏,将数据从form1中的一个文本框复制到form2中的一个文本框

form1中的文本框从DB中的字段中获取值,该字段自动编号并使用格式“FHMY”0000000

我的代码可以工作,但它不复制格式化文本(编号),而是复制序列号:

假设表中与form1关联的第13个条目是FHMY000013,但当我使用宏时,它复制13个条目,而不是文本FHMY000013


发生这种情况的原因是
列作业的表中存储的值是
13、14、15等数字,而不是
FHMY0000013、FHMY000014、FHMY000015

正如您在该列的定义中所看到的,Format属性设置为
“FHMY”0000000
,这仅在演示时有效
因此,在表单和表格中,当存储的实际值为
13
时,您会看到
FHMY000013
如果要在form2的文本框中查看已格式化的复制值,还必须将此文本框的格式更改为:
“FHMY”0000000

另一种情况是,在form2的基础表中,文本框表示的列被定义为数据类型
TEXT


将其更改为
Number

我已经尝试过了,但它仍然显示13,即使将文本框格式更改为“fhmy”0000000,那么您就做错了。如果您将格式更改为
“FHMY”0000000
您将看到正确的值,如
FHMY0000013
我在问题中添加了快照(form2格式),请检查。我可能做错了什么,但我不知道是什么。@NewAtSQL
format
控制字段的显示方式。它不影响其基本价值。FWIW您应该避免使用PK/ID(autonumber)列来实现此目的-PK对于数据库引擎以外的任何东西都没有任何意义。谢谢大家,这很有效(将form2表的数据类型更改为number而不是text):)
Option Compare Database

Private Sub Command119_Click()

DoCmd.OpenForm "PrinterFhamylabel"

Forms![PrinterFhamyLabel].JOB = Me.JOBNum

Me.JOBNum.SetFocus

End Sub