【问题标题】:The Microsoft Access database engine cannot find a record in the table 'Vlasnik' with key matching field(s) 'Narudzba.ID_VUMicrosoft Access 数据库引擎在表“Vlasnik”中找不到键匹配字段“Narudzba.ID_VU”的记录
【发布时间】:2017-06-25 03:18:04
【问题描述】:

我有表格“Nova narudzba”,我在其中输入有关客户和购买的物品的数据。问题是当我打开该表单并尝试在不从组合框中选择客户的情况下关闭它[该组合框的控制源是 Narudzba.ID_VU 并且如果我没有从中选择任何其他客户则为 0] 然后我得到以下弹出窗口"Microsoft Access 数据库引擎在表 'Vlasnik' 中找不到键匹配字段为 'Narudzba.ID_VU" 的记录。

所以关闭表单的问题是该组合框的值为 0,并且没有值为 0 的 Vlasnik.ID_VU。

我想解决方案是在不保存数据的情况下关闭表单,但我不知道该怎么做。

我试过这个,但它不工作(我收到运行时错误“2465”的弹出窗口 - MS Access 找不到您的表达式中提到的字段“|1”:

If [Narudzba.ID_VU].Value = 0 Then
[Nova narudzba].Close savechanges:=False

Else
[Nova narudzba].Close
End If


End Sub

【问题讨论】:

  • 我假设您的表中有默认值“0”?你能从 Narudzba 中删除这个默认值吗?
  • 是的,我可以,不,我不能。

标签: ms-access vba ms-access-2010


【解决方案1】:

当我点击 Command81(退出按钮)时,如果 Narudzba.ID_VU 为 0,则退出而不保存且不发出警告,如果不是 0,则表单正在保存输入的数据。

  Private Sub Command81_Click()

    If [Narudzba.ID_VU].Value = 0 Then
    DoCmd.Close acForm, "Nova narudzba", acSaveNo

    Else
    DoCmd.Close acForm, "Nova narudzba", acSaveYes
    End If


    End Sub

【讨论】:

  • 描述您的答案,而不仅仅是使用代码。否则你的答案可能会被删除!
猜你喜欢
  • 2021-12-24
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多