0

我有一个表单,用于创建具有不同顺序字段的条目。我目前正在使用 DLookup 来执行此操作,但我遇到了一些问题。

 Me.txtProgramID.Value = DLookup("ProgramID", "tblMain", "Program = Forms!Form2!Combo.Value") + 1
 Me.txtProgramNumber.Value = DLookup("Number", "tblMain", "Program = Forms!Form2!Combo.Value") + 1
 Me.txtSequence2.Value = DLookup("Sequence2", "tblMain", "Program = Forms!Form2!Combo.Value") + 1
 Me.txtSequence1.Value = DLookup("Sequence1", "tblMain", "Program = Forms!Form2!Combo.Value") + 1

有四个不同的值:ProgramID、ProgramNumber、Sequence1 和 Sequence2。每次添加新记录时,根据 Combo 的内容,新字段的内容应该是前一个字段 + 1。

假设 Combo 的内容是 A,并且 ProgramID、ProgramNumber、Sequence 1 和 Sequence 2 的值都是 1。A 的新记录应该将它们都作为 2。我遇到的问题是,而不是 DLookup找到最近的条目,它正在捕获原始条目,这意味着我没有 1、2、3、4 等,而是有 1、2、2、2。

我真正需要知道的是如何让 DLookup 获取有关各自配置文件的最新记录。

4

1 回答 1

1

您也许可以摆脱 DMax,但一旦您拥有多个用户,所有赌注都将被取消:

Me.txtProgramID.Value = DMax("ProgramID", "tblMain", _
     "Program = Forms!Form2!Combo.Value") + 1

ProgramID 应该是一个自动编号,所以不需要获取下一个编号,它会自动处理。但是,不能保证自动编号是前一个数字 +1。我不确定你为什么会有一个 programID 和一个程序编号。

正确的序号是一个但更复杂的:Access VBA: Find max number in column and add 1

于 2013-02-04T19:01:49.863 回答