我有一个要在加载时用记录号初始化的表格。 在数据库中的其他几种形式中,我成功使用了以下代码:
Private Sub Form_Load()
Dim rstforf As DAO.Recordset, i As Integer, j As Integer
Set rstforf = CurrentDb.OpenRecordset("TabForfatter", dbOpenDynaset)
With rstforf
' find index
.MoveFirst
j = .Fields(0)
Do Until .EOF
If .Fields(0) = j Then .MoveNext Else Exit Do
j = j + 1
Loop
' insert the index in TabForfatter
.AddNew
.Fields(0) = j
' Write it on the form
Me.ArtForfatter_id = j
' lock and disable the fiels
Me.ArtForfatter_id.Locked = True
Me.ArtForfatter_id.Enabled = False
End With
End Sub
当我在“问题表格”中尝试相同操作时,它将显示第一条记录及其关联的表,该表具有通过上述算法找到的记录号。当我查看关联的表时,记录将显示新的数字。
我想要的是一个空白表格,上面只有记录号,其余的要手动填写,就像上面的代码示例一样。
当我为问题表编写代码时,VBA没有给我锁定和禁用字段的选项。手册说只有文本框可以被锁定或禁用,但是在我的代码示例中,该字段是一个数字并且可以使用。
我尝试使用找到的记录号进行DoCmd.GotoRecord。它给我一个空白表格,但没有记录号。 .MoveLast和.MoveNext也不起作用。
有人可以帮忙吗?
BiørnVeirø