VBA 代码提供创建附加记录的选项

问题描述 投票:0回答:1

我有一个数据库,它通过表单“Abgabe_Unterlagen”将输入收集到表“Abgabe_Unterlagen”中。附加了结构和表单。 这个想法是将记录添加到表“Abgabe_Unterlagen”中,以便秘书始终可以识别哪个专家检查了哪些记录。

由于记录类型不同,客户可能会提交多份不同的记录。 我使用下面代码中的选项,如果该客户的记录已存在于该表中,则消息框会相应通知并让用户创建附加记录。

我正在寻找一个解决方案 A。使用组合框“Mandantensuche”中已描述的客户名称值,并将其复制到表单中的“Mandant_Name”字段中。

b.如果 MsgBox 中可以有一个“是/否”选项来显示并覆盖现有记录或为该客户创建一条新记录,那就太好了。

    Private Sub MandantenSuche_AfterUpdate()
   ' Den mit dem Steuerelement übereinstimmenden Datensatz suchen.     
     Me.Recordset.FindFirst "Mandant_Nummer_F = " & MandantenSuche
       If Me.Recordset.NoMatch Then
          MsgBox "Nichts gefunden. Bitte neu eingeben.", vbInformation
          DoCmd.GoToRecord , , acNewRec
          DoCmd.GoToControl "Mandant_Name"
     Else: MsgBox "Mandant gefunden, zusätzliche Akte eingeben...", vbInformation
          DoCmd.GoToRecord , , acNewRec
          DoCmd.GoToControl "Mandant_Name"
          'MandantName = MandantenSuche.Value
          'Mandant_Name.Value = MandantName
       End If
End Sub

Private Sub MandantenSuche_Enter()
    Me.MandantenSuche = Me.Mandant_Nummer
    'DoCmd.GoToRecord , "", acFirst
    End Sub

有人可以帮助我走上正轨吗?

v/r 榕树

vba ms-access
1个回答
0
投票

你可以尝试这样的事情:

Private Sub MandantenSuche_AfterUpdate()

    ' Den mit dem Steuerelement übereinstimmenden Datensatz suchen.
    Me.Recordset.FindFirst "Mandant_Nummer_F = " & MandantenSuche
    '
    If Me.Recordset.NoMatch Then
        MsgBox "Nichts gefunden. Bitte neu eingeben.", vbInformation
        DoCmd.GoToRecord , , acNewRec
        DoCmd.GoToControl "Mandant_Name"
    Else
        If vbYes = MsgBox("Neu eingebe ?", vbYesNo) Then
        
            DoCmd.GoToRecord , , acNewRec
            DoCmd.GoToControl "Mandant_Name"
            'MandantName = MandantenSuche.Value
            'Mandant_Name.Value = MandantName
        
        Else
            '
            'Do something else...
            '
        End If
    End If
    
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.