I have created a database in access with multiple fields.
I have restricted to entering data a specific field with numbers only, but I would like to display a custom error message instead of the default access message. For example: "You can only enter a number in this field" and for another field; you must enter a name in this field if someone tries to ignore a specific field.
I have created a command button through the wizard that is basically: DoCmd.GoToRecord , , acNewRec
Well, it puts all this code in the event:
Private Sub NewVerification_Click() On Error GoTo Err_NewVerification_Click DoCmd.GoToRecord , , acNewRec InboundQuestions!Page1.SetFocus VerificationNo.SetFocus Exit_NewVerification_Click: Exit Sub Err_NewVerification_Click: MsgBox Err.Description Resume Exit_NewVerification_Click
End Sub
Well, my PK field is one users enter in manually (please don't ask why). What I need is something that checks to see if the number in that field is a duplicate key, so I can tell users via msgbox "Duplicate Number, try again". Right now, it's not that descriptive, it says "You can't go to the specified record". I guess all i need is an If statment, but I don't know the code that checks to see if [field1]'s value has already been used in my table. Any ideas?
Having set a table short text field to 'Indexed (No Duplicates)', I have a form which produces a '2105 runtime error' when the user attempts to submit a duplicate value. I would like to replace this default error message with a more user-friendly MsgBox.
My code for the SaveRecord button is:
Code:
Private Sub SaveRecord_Click() DoCmd.GoToRecord , , acNewRec MsgBox "Record successfully saved", vbOKOnly + vbInformation, "Record Saved" End Sub
My code to capture the 2105 runtime error is:
Code:
Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 2105 Then MsgBox ("This villa booking has already been logged.") Response = 0 End If End Sub
Unfortunately when the save button is clicked (when attempting to save a duplicate value), the 2105 error still runs. What are I doing wrong?
It is my understanding that a custom macro was built to pull text data from a file and import it into Access in the appropriate fields. This macro no longer works and will return the following error message:
"License information for this component not found. You do not have an appropriate license to use this functionality in design mode."
It only gives an option to click OK. When you do it shows a box called "Action Failed" that lists the macro name, condition, action name, and arguments with three button to click on the right of the box: "Step" "Halt" and "Continue". It appears that only the "Halt" button is available to be clicked.
Does this sound like an issue with the Access license or whatever license the macro might have? We're trying to decide if it's possible to restore the functionality of the macro.
I use the following code for an error message box to pop up. I need to know how bring up a custom form I have made instead of the standard message box but don't know how to code it into the function.
Function StartUp() On Error GoTo Err_ProcedureName
Set db = CurrentDb Set rs = db.OpenRecordset("tblEmployeeBenefits", dbOpenDynaset)
If rs.EOF = False Then rs.MoveLast If rs.Fields("FlagDate") = True Then MsgBox "You need Administrative access for this function to work.", vbOKOnly, "Serious Warning" DoCmd.Quit End If
Else
If rs.BOF = True Then y = 0
Do Until x = 1 x = rs.RecordCount
rs.AddNew rs.Fields("MeDate") = Date + y rs.Update y = y + 1 Loop End If End If UpdateTable
I have tried the code below, but I am not getting what I need. I have a table [Student Info] with a field [Student ID] as the primary key and many other fields. I added the Student ID field to my form, [Student Add]. When I input an ID that already exists I get an error code as expected but then my form still loads. I currently have a second form for updating student info [Student Update] for which I have a parameter form that asks for the Student ID. I would like to use just one form to add and update students if possible. So, if you add a new Student ID you can enter all pertinent data. However, if you enter a duplicate Student ID the form should populate with that student's information.
If I must have two forms (1 to add and 1 to update) and a duplicate Student ID is entered into the Add form, the user should get a message stating that the record already exists. Then, (Option 1) force the Add form to close without saving or (Option 2) give an option for opening the Update form. Either option is acceptable at this point because I am stuck.
When attempting to use the code below, I get a data mismatch error on the "Answer = DLookUp......" line.
Here's one I use on Social Security numbers for a pop up when a duplicate.... SS# is stored in table "tblApplicant"
Private Sub SocialSecurity_BeforeUpdate(Cancel As Integer) Dim Answer As Variant Answer = DLookup("[SocialSecurity]", "tblApplicant", "[SocialSecurity] = '" & Me.SocialSecurity & "'") If Not IsNull(Answer) Then MsgBox "Duplicate Social Security Number Found" & vbCrLf & "Please enter again.", vbCritical + vbOKOnly + vbDefaultButton1, "Duplicate"
My database has been set with the 'All records' locking option set to prevent two or more people editing files at once. This is working fine but I wondered if there is a way to make a more personal message appear instead of the default Access one, just to maintain a uniform look.
I would like to create a custom pop-up Message when one attempts to add a duplicate record.
Currently, I have a default pop-up message when you try to add a duplicate record. I set the field as Indexed= yes(No Duplicates) which generates a default pop-up message but it is technical and wordy. I would like to be able to simplify the wording to just let the user know not to add a duplicate record.
I have an access database in which there are tab controls to collect text written about a subject. My problem is that there are nine tabs all with the exact same code behind them, but obviously varying object names for the relevant text boxes. Four of them work as expected and five don't.
The following code has been used to display a popup if the user types too much text and it works for the Environ_Plan text box:
Private Sub txtENVIRON_PLAN_Change() Dim strMessage As String, varLen As Variant
varLen = Nz(Len(Me.txtENVIRON_PLAN.Text), 0) If varLen > 250 Then
strMessage = "You have exceeded the limit of this field by " & (varLen - 250) & " characters." & vbNewLine strMessage = strMessage & "The maximum allowable length is " & 250 & " characters." MsgBox strMessage, vbOKOnly + vbExclamation
End If End Sub
(note that if the user types 251 characters an error message appears on the screen to say they have exceeded the number of characters allowed for that box and they cannot type any more text.)
The following text is used for the exact same outcome in Health but it does not work:
Private Sub txtHEALTH_PLAN_Change() Dim strMessage As String, varLen As Variant
varLen = Nz(Len(Me.txtHEALTH_PLAN.Text), 0) If varLen > 250 Then
strMessage = "You have exceeded the limit of this field by " & (varLen - 250) & " characters." & vbNewLine strMessage = strMessage & "The maximum allowable length is " & 250 & " characters." MsgBox strMessage, vbOKOnly + vbExclamation
End If End Sub
(In this case the cursor stops and the user cannot type any more text but no message appears to say why the cursor has stopped.)
I have double checked the actual variables in the Access database and they are set to the exact same values.
I am using Access 2002 on Windows XP Professional.
I have created a custom message box form that suits my needs for this particular situation. It is called (opened) in the middle of a bunch of other VBA procedures. What I am having a problem with is how do I "pause" the rest of the code from running after the message box call?
For example, with a regular msgbox() function, once called, the code will wait for the user input or click of a button, then continue. My problem is that I am using the basic docmd.openform procedure, and it opens the message box form just fine, but then continues on with the rest of the code after the form is opened.
How would I "pause" the code after the call of opening my custom message box form, then continue it after the user clicks one of my closing buttons from that form?
Furthermore, although its not entirely needed in this situation, for future reference, how would I have that message box form return a value to the calling procedure?
Does anybody know what this error message refers to?
"Reserved Error (-1517); there is no message for this error."
It just started happening today, and I haven't even made any changes to the database. It occurs when I hit a button I have to run a macro.
the macro does the following: 1) Shows all records 2) Requery 3) ApplyFilter. The Where Condition for the filter is: Right([tblContracts].[JobNum],4)=Right([Forms]![FrmContProc].[txtFindJobNum],4)
The weird thing is that it only occurs if the Form window is taller than 1/2 of my viewable area. If the Form window is 1/2 the viewable area or shorter, it works OK. This was running fine earlier today, but about 4:00 pm (03/31/06) this started happening.
If anybody knows what this error means, or how to get rid of it (I really need to use this window in full-screen) then please let me know.
I haven't created classes in a while, and I don't see what is the problem
I'm modifying a function to get fractions from double. It worked well, but it returned a string.
I need it to be in parts, so I created this class
Code: Option Compare Database Public Entier As Integer Public nominateur As Integer Public denominateur As Integer Public Function getText() getText = Entier & " " & nominateur & "/" & denominateur End Function
I changed the function type and the assignation:
Code: Function GetFraction(ByVal Num As Double) As nombreEnFraction Set GetFraction = New nombreEnFraction If Num = 0# Then GetFraction = "None" Else Dim WholeNumber As Integer Dim DecimalNumber As Double
[Code] ....
For some reasons, when I get to the end of the function, I get a 91 error, like if it was nothing
But when I use a spy, I see values in the object until the end.
I have attached a screen print of an error message I recieved on my access database. I finally got it to come up, but only after a few pop up boxes with this error message.
I do know the shared drive it is housed on went on the fritz. So I copied it and pasted it to my desk top. Grrr...I thought this message was due to the flipping shared drive. But now, I recieved it on my desk top too.
Anywho...can someone look at it and tell me what it means.
Thanks alot.
PS, i know my desktop has to much stuff, so don't go there. ;)
Hi can anyone help i keep clicking on a qry and it comes up with this message "Syntax error (missing operator) in query expression 'tblSTSLimits.Max Short'. but Max Short is correct can anyone help
I have a table that keeps crashing. The only error message I get is "Invalid Argument". Each time, a single record will turn into "#Error". Each field says this in the row. When this happens, Access won't let me delete just that row,
I am trying to Right Join two queries which are basically from the same exact table, but when I do that I get the following error.
ODBC--called failed.
[Microsoft][ODBC SQL Server Driver][SQL Server] The column prefix 'MS1' does not match with a table name or alias name used in the query. (#107).
The following is a copy of my SQL
SELECT PqryExpiredPolicy.Policy_Number, PqryExpiredPolicy.Orig_Exp_Date, PqryExpiredPolicy.Insured_Key, PqryNewPolicy.Policy_Number, PqryExpiredPolicy.Name FROM PqryNewPolicy RIGHT JOIN PqryExpiredPolicy ON PqryNewPolicy.Insured_Key = PqryExpiredPolicy.Insured_Key;
I have looked for this MS1 and cannot find it. Any ideas where I should be looking or what this means?