首页 文章

MS Access:我希望启用数据输入的表单自动填充自动编号,此刻我得到的是(新)

提问于
浏览
0

我有一个弹出窗体填充4个字段,这些字段在我的表单中是不可见的 . 然后我单击一个按钮,这将打开一个带有自动编号字段的表单,在此之前,这是在数据输入表单上,当我浏览导航时,此自动编号字段已填充,但由于我只希望用户能够访问一个字段(我将有一个按钮,将保存和更新记录,而不是每次都创建一个新的记录)我不能有记录导航 .

根据我在访问中的小经验,我能想象解决这个问题的唯一三种方法(按照我宁愿做的顺序)是:

有一种方法可以让表单在没有数据输入模式的情况下启动新记录 .

有一种方法可以在数据输入模式下生成表单上的自动编号 .

有一种方法可以让初始弹出窗体上的按钮自动将自动编号增加1并将自动编号设置为该值 .

我的更新查询是:

UPDATE AdvisorInput SET AdvisorInput.PSTNVolume = (([Forms]![frmInput]![txtPSTN])+([Forms]![frmInput]![txtPSTN2])), AdvisorInput.BBVolume = (([Forms]![frmInput]![txtBB])+([Forms]![frmInput]![txtBB2])), AdvisorInput.TVVolume = (([Forms]![frmInput]![txtTV])+([Forms]![frmInput]![txtTV2])), AdvisorInput.FibreVolume = (([Forms]![frmInput]![txtFibre])+([Forms]![frmInput]![txtFibre2])), AdvisorInput.C2FUVolume = (([Forms]![frmInput]![txtC2FU])+([Forms]![frmInput]![txtC2FU2])), AdvisorInput.PSTNCease = (([Forms]![frmInput]![txtPSTNCease])+([Forms]![frmInput]![txtPSTNCease2])), AdvisorInput.BBCease = (([Forms]![frmInput]![txtBBCease])+([Forms]![frmInput]![txtBBCease2])), AdvisorInput.TVCease = (([Forms]![frmInput]![txtTVCease])+([Forms]![frmInput]![txtTVCease2]))
WHERE (((AdvisorInput.AdvisorEIN)=[Forms]![frmInput]![txtEIN]) And ((AdvisorInput.CSS_WEEK)=[Forms]![frmInput]![txtCSSWeek]) And ((AdvisorInput.WeekdayName)=[Forms]![frmInput]![cboWeekday]));

非常感谢你花时间陪伴 .

1 回答

  • 0

    autonumber 字段仅在至少输入一个字段时获取值 . 您可以使用隐藏字段并使用代码输入值 .

    BTW一旦自动编号字段使用了一个数字,下一次它将使用下一个数字,即使删除了前一个记录 . 压缩数据库会将种子编号重置为当前数据库中的最大值,因此使用 INSERT 语句并显式插入自动编号字段的值 .

    使用新记录直接打开包含现有记录的表单:

    Private Sub Form_Open(Cancel As Integer)
        DoCmd.GoToRecord , , acNewRec
    End Sub
    

相关问题