मैं VBA में बहुत नया हूं और मैं इस समस्या का समाधान नहीं कर सकता। ऐसा लगता है कि इसे ठीक करने के लिए एक आसान समस्या होनी चाहिए, मुझे नहीं पता कि कैसे।
तो कोड क्या करता है: मुख्य रूप में एक रिकॉर्ड है। यह रिकॉर्ड प्रपत्र पर एक बटन दबाने वाली दूसरी तालिका bij में कॉपी किया जाएगा। प्रतिलिपि शुरू होने से पहले, कोड पहले जांचता है कि क्या उप-प्रपत्र में um OMnummer ’भरा गया है। यदि नहीं, तो एक संदेश बॉक्स यह कहते हुए दिखाई देता है कि उपयोगकर्ता को सबफॉर्म में भरना चाहिए और कोड चलना बंद हो जाएगा।
दूसरी बात यह है कि यदि कोड पहले से ही दूसरी तालिका में मौजूद है तो कोड जांचता है। यदि ऐसा है, तो एक संदेश बॉक्स प्रकट होता है और रिकॉर्ड की प्रतिलिपि नहीं बनाई जाएगी। यदि नहीं, तो रिकॉर्ड को अन्य तालिका में कॉपी किया जाएगा।
कोड के दोनों टुकड़े ठीक से काम करते हैं। हालांकि, जब मैं एक ही निजी उप में दोनों टुकड़ों को शामिल करने की कोशिश करता हूं, तो केवल पहला काम करता है। यह 'एक्जिट सब' कोड के साथ कुछ हो सकता है या मैं इफ - फिर सही का उपयोग नहीं कर रहा हूं।
क्या आपसे मुझे मदद मिल सकती है! मोनिका
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