मेरे पास एक फॉर्म है जहां मैं या तो एसेट या लोकेशन भरना चाहता हूं और सुपरवाइजर या लीड या क्रू या वर्क ग्रुप या क्रू वर्क ग्रुप। मेरे पास कोड है और यह काम करता है लेकिन यह मुझे केवल इन क्षेत्रों में नंबर दर्ज करने की अनुमति देता है। मैं इन क्षेत्रों में संख्याओं और अक्षरों को दर्ज करने में सक्षम होना चाहता हूं।

 Private Sub Form_BeforeUpdate(Cancel As Integer)


 If IsNull(Form_frmAddPM.Asset Or Form_frmAddPM.Location) Then
    MsgBox "Please enter a value in an asset or location."
    Cancel = True
  End If


 If IsNull(Form_frmAddPM.Supervisor Or Form_frmAddPM.Lead Or 
    Form_frmAddPM.Crew Or Form_frmAddPM.Work_Group Or 
     Form_frmAddPM.Crew_Work_Group) Then
     MsgBox "Please enter value in Supervisor, Lead, Crew, Work Group, or 
     Crew 
        Work Group."
        Cancel = True

      End If

End Sub

मैंने पूर्णांक को विभिन्न प्रकारों में बदलने की कोशिश की है। उपरोक्त कोड के साथ जब मैं फॉर्म में अक्षरों को दर्ज करने का प्रयास करता हूं तो एक बेमेल प्रकार की त्रुटि पॉप अप हो जाती है।

मदद के लिए पहले ही धन्यवाद।

0
MFinck 21 सितंबर 2018, 16:48

1 उत्तर

सबसे बढ़िया उत्तर

आप बिटवाइज़ OR ऑपरेटर का उपयोग कर रहे हैं, जिसके लिए आपके द्वारा उपयोग किए जाने वाले दोनों मानों को पूर्णांक बनाना आवश्यक है (देखें दस्तावेज़, VB.Net लेकिन वही काम करता है वीबीए)

इसके बजाय, आपको प्रत्येक फ़ील्ड की जांच करनी चाहिए यदि यह अलग से शून्य है:

Private Sub Form_BeforeUpdate(Cancel As Integer)


 If IsNull(Form_frmAddPM.Asset) Or IsNull(Form_frmAddPM.Location) Then
    MsgBox "Please enter a value in an asset or location."
    Cancel = True
  End If


 If IsNull(Form_frmAddPM.Supervisor) Or IsNull(Form_frmAddPM.Lead) Or 
    IsNull(Form_frmAddPM.Crew) Or IsNull(Form_frmAddPM.Work_Group) Or 
     IsNull(Form_frmAddPM.Crew_Work_Group) Then
     MsgBox "Please enter value in Supervisor, Lead, Crew, Work Group, or 
     Crew 
        Work Group."
        Cancel = True

      End If

End Sub
2
Erik A 21 सितंबर 2018, 16:55