Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 自动递增文本字段访问2010表单_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Ms access 自动递增文本字段访问2010表单

Ms access 自动递增文本字段访问2010表单,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我有一个跟踪文档的表单。我需要根据创建的节和文档类型自动分配文档编号,然后每次创建相同的组合时自动增加该组合以添加1。 例如: DocType | Section | DocIdentifier 现场方法| QAQC | FMQA-01 现场方法| QAQC | FMQA-02 现场方法|标准| FMWQS-01 化学方法|标准| CMWQS-01 我尝试了很多不同的事情——这是我最近的一次尝试。我在表单中包含了一个隐藏字段(showDocNum)来连接DocType和Section,但是我

我有一个跟踪文档的表单。我需要根据创建的节和文档类型自动分配文档编号,然后每次创建相同的组合时自动增加该组合以添加1。 例如:

DocType | Section | DocIdentifier
  • 现场方法| QAQC | FMQA-01
  • 现场方法| QAQC | FMQA-02
  • 现场方法|标准| FMWQS-01
  • 化学方法|标准| CMWQS-01
我尝试了很多不同的事情——这是我最近的一次尝试。我在表单中包含了一个隐藏字段(showDocNum)来连接DocType和Section,但是我花了很长时间才弄明白如何添加数字

 Private Sub cboSection_Change()
 Dim strMax As String
     strMax = DMax("DocIdentifier", "tblDocuments")
     Me!Alpha = Me!cboDocType.Column(2) & Me.cboSection.Column(2) & "-" 
 Me!txtDocIdentifier = Me!Alpha &  Right(strMax, Len(strMax)) + 1
 End Sub  


我还尝试向表fldNumber中添加一个额外字段,并尝试将fldAlpha与fldNumber结合起来创建一个复合PK DocIdentifier。非常感谢团体的帮助

我只是给自己留下了深刻印象,我用

    Private Sub cboSection_Change()
       showDocNum = Me!cboDocType.Column(2) & Me.cboSection.Column(2) & "-"
    End Sub        

    Private Sub txtDocIdentifier_GotFocus()
       Me!txtSequence = Nz(DMax("[MyPKNumber]", "tblDocuments", "[ShowDocNum] ='" & Me.[showDocNum] & "'"), 0) + 1
       Me!txtDocIdentifier = "WQD" & [showDocNum] & Format([MyPKNumber], "00")
    End Sub
谢谢你愿意帮忙

您应该使用AfterUpdate事件:

如果你有一个文件编号,比如“FMQA-03”,你可以通过这种方式找到下一个:

NextDocNo = Split(DocNo, "-")(0) & Format(Val(Split(DocNo, "-")(1)) + 1, "\-00")

您是否正在尝试构建一个保存在表中的值?如果是,表中的字段名是什么?您是否将其绑定到表单?表单上的控件名是什么?“cboSection_更改”格式是否正确?是,它保存在DocIdentifier并已绑定。阿尔法部分完美地填充了我!Alpha字段,以及Me.txtDocIdentifier,我只是无法获得有效的编号谢谢,有没有办法分别增加每个前缀。这是将它们一起递增
Private Sub cboSection_AfterUpdate()

    Dim Prefix As String
    Dim Identifier As Integer

    Prefix = Me!cboDocType.Column(2) & Me.cboSection.Column(2) & "-"     
    Identifier = DMax("DocIdentifier", "tblDocuments", "DocIdentifier Like '" & Prefix & "*'") + 1
    Me!txtDocIdentifier.Value = Prefix & Format(Identifier, "00")

End Sub 
NextDocNo = Split(DocNo, "-")(0) & Format(Val(Split(DocNo, "-")(1)) + 1, "\-00")