Я очень новичок в VBA, и я не могу решить эту проблему. Кажется, это должно быть легко исправить, я просто не знаю как.
Итак, что делает код: В основной форме есть запись. Эта запись будет скопирована в другую таблицу, нажав кнопку на форме. Перед началом копирования код сначала проверяет, был ли заполнен «OMnummer» в подчиненной форме. Если нет, появится сообщение о том, что пользователь должен заполнить подчиненную форму, и код перестанет работать.
Во-вторых, код проверяет, присутствует ли запись в другой таблице. Если это так, появится окно сообщения, и запись не будет скопирована. Если нет, запись будет скопирована в другую таблицу.
Обе части кода работают нормально по отдельности. Однако, когда я пытаюсь включить обе части в один и тот же частный саб, работает только первый. Это может быть что-то с кодом «Exit Sub» или я не использую «если» - тогда правильно.
Надеюсь, вы можете помочь мне! Monika
Private Sub KnopProjectVersturen_Click()
On Error GoTo ErrProc
If IsNull(Me!Subform_OMnummers.Form!Omnr) Then
If MsgBox("Vul het OMnummer in. Je kan het project niet exporteren zonder OMnummer.") Then
Exit Sub
DoCmd.OpenQuery "Qry_Depo_ControleAanwezig"
If DCount("Deponering.projectnummer", "Qry_Depo_ControleAanwezig") = 0 Then
DoCmd.SetWarnings False
DoCmd.OpenQuery "Qry_projectnaarDepot"
DoCmd.OpenQuery "Qry_ToevoegProjectDepot"
DoCmd.OpenForm "Depot_uitvoer", , , "[Projectnummer] = '" & Me![Projectnummer] & "' And [subID]=[subID]"
Me.Status = 8
DoCmd.Close acQuery, ("Qry_Depo_ControleAanwezig")
DoCmd.SetWarnings True
Else
MsgBox "Dit project bestaat al in de Depot_Uitvoer, verander de status in het projectformulier", vbInformation, "Example"
DoCmd.Close acQuery, ("Qry_Depo_ControleAanwezig")
End If
End If
End If
'Als er fouten zijn laat deze code een messagebox zien met het nummer en de melding.
ExitProc:
Exit Sub
ErrProc:
Select Case Err.Number
Case Else
MsgBox Err.Number & "--" & Err.Description
Resume ExitProc
End Select
End Sub