jaisonshereen
asked on
How to put a messagebox in vb
i need to put a message box on the for the error 3021
how to do that?
how to do that?
Public Sub CheckForNullSearch()
On Error GoTo Err_CheckForNullSearch
'Checks general search form for any nulls
'Dirty = False
If IsNull(Me.Combo_Year) Or Me.Combo_Year = "0" Or Me.Combo_Year = "" Then Me.Combo_Year = "Year"
If IsNull(Me.Combo_TempPromoID) Or Me.Combo_TempPromoID = "" Then Me.Combo_TempPromoID = "0"
If IsNull(Me.Combo_EnteredBy) Or Me.Combo_EnteredBy = "0" Or Me.Combo_EnteredBy = "" Then Me.Combo_EnteredBy = "Log on"
If IsNull(Me.Combo_PromoPeriod) Or Me.Combo_PromoPeriod = "0" Or Me.Combo_PromoPeriod = "" Then Me.Combo_PromoPeriod = "Period"
If IsNull(Me.Combo_Location) Or Me.Combo_Location = "" Or Me.Combo_Location = "" Then Me.Combo_Location = "Location"
If IsNull(Me.Combo_CategoryMan) Or Me.Combo_CategoryMan = "0" Or Me.Combo_CategoryMan = "" Then Me.Combo_CategoryMan = "Category Manager"
If IsNull(Me.Combo_CatID) Or Me.Combo_CatID = "" Then Me.Combo_CatID = "0"
If IsNull(Me.Combo_StartDate) Or Me.Combo_StartDate = "" Or Me.Combo_StartDate = "0" Then Me.Combo_StartDate = "Start Date"
If IsNull(Me.Combo_Status) Or Me.Combo_Status = "" Or Me.Combo_Status = "0" Then Me.Combo_Status = "Status"
If IsNull(Me.Combo_article) Or Me.Combo_article = "" Or Me.Combo_article = "0" Then Me.Combo_article = "0"
'Dirty = False
Exit_CheckForNullSearch:
Exit Sub
Err_CheckForNullSearch:
'Entered an item not in the list
If Err.Number = 2237 Then Resume Next
'If a Null value after the dirty=false then error will occur
If Err.Number = 3058 Then Resume Next
'No current record
If Err.Number = 3021 Then Resume Next
ApplicationError Err.Number, Err.Description, "T_F900_GeneralSearch\CheckForNullSearch"
Resume Exit_CheckForNullSearch
End Sub
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
nope its not works..3021 error message box comming instead
which suggested answer does not work?
AW
AW
ASKER
nothing works !
try this, and tell me what the Message Box shows:
Err_CheckForNullSearch:
Dim ans as Integer
ans = -1
'Entered an item not in the list
If Err.Number = 2237 Then
Err.Clear
ans = MsgBox("'Entered an item not in the list" & vbCrlF & "Do you wish to continue?", vbYesNo)
If ans = vbYes then
Resume Next
End If
End If
'If a Null value after the dirty=false then error will occur
If Err.Number = 3058 Then
Err.Clear
ans = MsgBox("Null value after the dirty=false " & vbCrlF & "Do you wish to continue?", vbYesNo)
If ans = vbYes then
Resume Next
End If
End If
'No current record
If Err.Number = 3021 Then
Err.Clear
ans = MsgBox("No current record" & vbCrlF & "Do you wish to continue?", vbYesNo)
If ans = vbYes then
Resume Next
End If
End If
MsgBox "Err.Number = " & err.Number, vbOkOnly
If ans = -1 then
ApplicationError Err.Number, Err.Description, "T_F900_GeneralSearch\CheckForNullSearch"
End If
Resume Exit_CheckForNullSearch
ASKER
no hope
still the same 3021 error msgbox :-(
still the same 3021 error msgbox :-(
Ok, I know what is going on. It seems that there are a broad range of Run-Time errors that are NOT 'Trappable' - that is, when they occur, they do NOT trigger the On Error Goto .... error handler mechanism.
If you open the VB6 IDE, and click on Help, then select Index, and enter "Trapping Errors", you will get the 'official' list of Trappable run-time errors. Non of the errors you are attemting to handle are listed as Trappable Run-Time errors.
What routine is calling your CheckForNullSearch procedure? The error is probably occuring there.
AW
If you open the VB6 IDE, and click on Help, then select Index, and enter "Trapping Errors", you will get the 'official' list of Trappable run-time errors. Non of the errors you are attemting to handle are listed as Trappable Run-Time errors.
What routine is calling your CheckForNullSearch procedure? The error is probably occuring there.
AW
In addition, there is NOTHING in your procedure CheckForNullSearch which is in ant way related to the 3021 - No Crrent Record condition. The code in your procedure does not make use of a recordset, or attempting to access data from a recordset. Thast should be an additional indication that the error you are getting is not being triggered in the procedure where you seem to think it is occurring.
AW
AW
Glad to be of assistance. How did you resolve this issue?
AW
AW
ASKER
i gone for debugging by cntr+break
where i see n the cursor position i put the message box with the case:3021
still
err.clear resolved the issue!
Thanks all support !
where i see n the cursor position i put the message box with the case:3021
still
err.clear resolved the issue!
Thanks all support !
ASKER
Open in new window