【问题标题】:Append to a related table附加到相关表
【发布时间】:2019-09-14 12:46:30
【问题描述】:

我有两个相关的表,我希望在附加到我的第二个表时出现此错误/消息。 "您不能添加或更改记录,因为表中需要记录"。

我已经将关系设置为强制参照完整性、级联更新相关字段和级联删除相关记录

这是我的代码

Private Sub cmdImport_Click()

On Error GoTo ErrHandler

Dim ImportExcelFile As String


ImportExcelFile = SelectFile
If ImportExcelFile = "" Then Exit Sub

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Temp-Member", ImportExcelFile, True

DoCmd.OpenQuery "AppendtoMember"

MsgBox "Import complete", vbInformation, "Import"

DoCmd.OpenQuery "DeleteTemp-Member"

ExitSubError:
    Exit Sub

ErrHandler:
MsgBox Err.Description & Err.Number, vbCritical, "Error"

End Sub

【问题讨论】:

  • 如果用户尝试在没有父记录的情况下在第二个表中输入记录,则访问应该已经生成该消息。
  • 谢谢,手动输入数据时有提示信息。但有时我有外部数据,当我尝试导入/追加时,没有消息。
  • 你是用什么方法导入的?
  • 我正在使用 Do.Cmd TransferSpreadsheet 导入临时表,然后追加到我的表中
  • 好的,用什么方法追加数据?编辑问题以发布您的代码。

标签: ms-access append


【解决方案1】:

要在追加操作失败时自定义消息,请使用 Execute 方法和错误处理程序。如果任何记录失败,则不会插入任何记录。

CurrentDb.Execute "AppendtoMember", dbFailOnError

【讨论】:

    【解决方案2】:

    我解决了,我在“MemberID”中添加了一个查找值字段,这是我的第二个表(第一个表的主键和第二个表的外键)并将“列表限制”设置为是

    我还将您的建议放在我的代码中使用-CurrentDb.Execute "AppendtoMember", dbFailOnError。

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-26
      • 1970-01-01
      • 2021-07-21
      • 2018-12-05
      • 2020-03-22
      • 2012-01-01
      • 1970-01-01
      相关资源
      最近更新 更多