473,480 Members | 1,805 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Trapping/disabling runtime error 30014

Hello all -

This is driving me crazy. I have a table called tblClients - very
simple, has the following fields:

taxID (PK)
ClientName
SalesName

The main form of my application allows a user to select a client and
shows sales transactions on a subform. I wanted to include a button
the user could click which would allow them to edit the client
information. So, I created a form called frmEditClient which is loaded
when the button is clicked. Code on the OnClick event for the code
button:

Private Sub cmdEditClient_Click()
Dim LinkCriteria As String
LinkCriteria = "[ClientName]= '" & Me.txtSelectedCLient & "'"
DoCmd.OpenForm "frmEditClient", , , LinkCriteria
End Sub

Pretty simple, just opens the EditClient form using the current client
in the recordsource - this opens the form and the user can edit
details and save the form. The recordsource of frmEditClient is a
query called vwEditClient that selects all from tblClients (tried
using tblClients as record source - same problem)

Only problem is if the user wants to edit the ClientName field - since
frmEditClient is using the ClientName field as a filter, I get a
runtime error 30014 - the data has been added but cannot be displayed
because it no longer meets the criteria of the underlying
recordsource.

I know *why* I'm getting the error, I just want to stop it. I've tried
to trap the damn thing, but can't seem to get it to trap - the error
is generated on the "me.dirty=false" line, and this stops any code
after from running. I have tried to put On Error Goto 0 at the
beginning of the sub, etc..., but nothing seems to trigger.

Here is the code for the Save button, without any error handling:

Private Sub cmdSave_Click()
If Me.Dirty Then
Me.Dirty = False
Else
MsgBox ("No changes were detected - please make your changes, or
hit Cancel to return to the previous screen")
Exit Sub
End If
DoCmd.Close acForm, "frmEditClient"
End Sub

All I want is:

1) A way to load the frmEditClient so the form displays the client
that was selected on the main form
2) A way to suppress or hide the runtime error that occurs when the
user edits the clientname.

Can someone assist with a way to trap this error or prevent it from
happening?

Thanks
Jun 27 '08 #1
3 5145
On May 5, 3:38*pm, Jim Armstrong <armstron...@hotmail.comwrote:
Hello all -

This is driving me crazy. I have a table called tblClients - very
simple, has the following fields:

taxID (PK)
ClientName
SalesName

The main form of my application allows a user to select a client and
shows sales transactions on a subform. I wanted to include a button
the user could click which would allow them to edit the client
information. So, I created a form called frmEditClient which is loaded
when the button is clicked. Code on the OnClick event for the code
button:

Private Sub cmdEditClient_Click()
Dim LinkCriteria As String
LinkCriteria = "[ClientName]= '" & Me.txtSelectedCLient & "'"
DoCmd.OpenForm "frmEditClient", , , LinkCriteria
End Sub

Pretty simple, just opens the EditClient form using the current client
in the recordsource - this opens the form and the user can edit
details and save the form. The recordsource of frmEditClient is a
query called vwEditClient that selects all from tblClients (tried
using tblClients as record source - same problem)

Only problem is if the user wants to edit the ClientName field - since
frmEditClient is using the ClientName field as a filter, I get a
runtime error 30014 - the data has been added but cannot be displayed
because it no longer meets the criteria of the underlying
recordsource.

I know *why* I'm getting the error, I just want to stop it. I've tried
to trap the damn thing, but can't seem to get it to trap - the error
is generated on the "me.dirty=false" line, and this stops any code
after from running. I have tried to put On Error Goto 0 at the
beginning of the sub, etc..., but nothing seems to trigger.

Here is the code for the Save button, without any error handling:

Private Sub cmdSave_Click()
If Me.Dirty Then
* * Me.Dirty = False
Else
* * MsgBox ("No changes were detected - please make your changes, or
hit Cancel to return to the previous screen")
* * Exit Sub
End If
DoCmd.Close acForm, "frmEditClient"
End Sub

All I want is:

1) A way to load the frmEditClient so the form displays the client
that was selected on the main form
2) A way to suppress or hide the runtime error that occurs when the
user edits the clientname.

Can someone assist with a way to trap this error or prevent it from
happening?

Thanks
Well, I still have not been able to trap the error, but I was able to
get around it using the resync property. Basically, I added the
following line in the Save button's On Click code:

Me.ResyncCommand = "SELECT * FROM vwEditClient WHERE TaxID=?"

Seems to work so far - but I'm still all ears if anyone has some
trapping code I could try or a reason the 30014 runtime was not picked
up by my attempts...

Thanks!
Jun 27 '08 #2
Jim Armstrong wrote:
On May 5, 3:38 pm, Jim Armstrong <armstron...@hotmail.comwrote:
>>Hello all -

This is driving me crazy. I have a table called tblClients - very
simple, has the following fields:

taxID (PK)
ClientName
SalesName

The main form of my application allows a user to select a client and
shows sales transactions on a subform. I wanted to include a button
the user could click which would allow them to edit the client
information. So, I created a form called frmEditClient which is loaded
when the button is clicked. Code on the OnClick event for the code
button:

Private Sub cmdEditClient_Click()
Dim LinkCriteria As String
LinkCriteria = "[ClientName]= '" & Me.txtSelectedCLient & "'"
DoCmd.OpenForm "frmEditClient", , , LinkCriteria
End Sub

Pretty simple, just opens the EditClient form using the current client
in the recordsource - this opens the form and the user can edit
details and save the form. The recordsource of frmEditClient is a
query called vwEditClient that selects all from tblClients (tried
using tblClients as record source - same problem)

Only problem is if the user wants to edit the ClientName field - since
frmEditClient is using the ClientName field as a filter, I get a
runtime error 30014 - the data has been added but cannot be displayed
because it no longer meets the criteria of the underlying
recordsource.

I know *why* I'm getting the error, I just want to stop it. I've tried
to trap the damn thing, but can't seem to get it to trap - the error
is generated on the "me.dirty=false" line, and this stops any code
after from running. I have tried to put On Error Goto 0 at the
beginning of the sub, etc..., but nothing seems to trigger.

Here is the code for the Save button, without any error handling:

Private Sub cmdSave_Click()
If Me.Dirty Then
Me.Dirty = False
Else
MsgBox ("No changes were detected - please make your changes, or
hit Cancel to return to the previous screen")
Exit Sub
End If
DoCmd.Close acForm, "frmEditClient"
End Sub

All I want is:

1) A way to load the frmEditClient so the form displays the client
that was selected on the main form
2) A way to suppress or hide the runtime error that occurs when the
user edits the clientname.

Can someone assist with a way to trap this error or prevent it from
happening?

Thanks


Well, I still have not been able to trap the error, but I was able to
get around it using the resync property. Basically, I added the
following line in the Save button's On Click code:

Me.ResyncCommand = "SELECT * FROM vwEditClient WHERE TaxID=?"

Seems to work so far - but I'm still all ears if anyone has some
trapping code I could try or a reason the 30014 runtime was not picked
up by my attempts...

Thanks!
There's on OnError event for the form. It's not a runtime VBA error. So
perhaps that's where that error is being generated. If so, in the error
routine try entering
If DataErr = 30014 then response = acdataerrcontinue

Amore
http://www.youtube.com/watch?v=9FtuV3xMrN0
Jun 27 '08 #3
Jim Armstrong <ar*********@hotmail.comwrote in news:0c3890c4-9c48-4d54-
96***************@b64g2000hsa.googlegroups.com:
On May 5, 3:38*pm, Jim Armstrong <armstron...@hotmail.comwrote:
>Hello all -

This is driving me crazy. I have a table called tblClients - very
simple, has the following fields:

taxID (PK)
ClientName
SalesName

The main form of my application allows a user to select a client and
shows sales transactions on a subform. I wanted to include a button
the user could click which would allow them to edit the client
information. So, I created a form called frmEditClient which is loaded
when the button is clicked. Code on the OnClick event for the code
button:

Private Sub cmdEditClient_Click()
Dim LinkCriteria As String
LinkCriteria = "[ClientName]= '" & Me.txtSelectedCLient & "'"
DoCmd.OpenForm "frmEditClient", , , LinkCriteria
End Sub

Pretty simple, just opens the EditClient form using the current client
in the recordsource - this opens the form and the user can edit
details and save the form. The recordsource of frmEditClient is a
query called vwEditClient that selects all from tblClients (tried
using tblClients as record source - same problem)

Only problem is if the user wants to edit the ClientName field - since
frmEditClient is using the ClientName field as a filter, I get a
runtime error 30014 - the data has been added but cannot be displayed
because it no longer meets the criteria of the underlying
recordsource.

I know *why* I'm getting the error, I just want to stop it. I've tried
to trap the damn thing, but can't seem to get it to trap - the error
is generated on the "me.dirty=false" line, and this stops any code
after from running. I have tried to put On Error Goto 0 at the
beginning of the sub, etc..., but nothing seems to trigger.

Here is the code for the Save button, without any error handling:

Private Sub cmdSave_Click()
If Me.Dirty Then
* * Me.Dirty = False
Else
* * MsgBox ("No changes were detected - please make your changes, or
hit Cancel to return to the previous screen")
* * Exit Sub
End If
DoCmd.Close acForm, "frmEditClient"
End Sub

All I want is:

1) A way to load the frmEditClient so the form displays the client
that was selected on the main form
2) A way to suppress or hide the runtime error that occurs when the
user edits the clientname.

Can someone assist with a way to trap this error or prevent it from
happening?

Thanks

Well, I still have not been able to trap the error, but I was able to
get around it using the resync property. Basically, I added the
following line in the Save button's On Click code:

Me.ResyncCommand = "SELECT * FROM vwEditClient WHERE TaxID=?"

Seems to work so far - but I'm still all ears if anyone has some
trapping code I could try or a reason the 30014 runtime was not picked
up by my attempts...

Thanks!
Try using On Error Resume Next just prior to the Me.Dirty = False
statement. That should let you then examine the Err.Number (if 13004,
resume, if anything else do something).

Do you have Error Handling set to Break on Unhandled Errors?

You can't trap an error AS it is happening, you can only respond to it
after the fact.

The reason you're having so much trouble is that it is the equivalent of
sawing off the branch while standing on it. As soon as you change the
ClientName, the record *should* vanish (since it is not within the filter
criteria. Access detects this as a logical impossibility and throws the
error.

Instead, you might try declaring a Public string variable in the module
area of the original form. Store the original value of ClientName. Open
frmEditClient as a dialog (acDialog) and when you close frmEditClient,
store the new value into the Public variable. Then compare the ClientName
textbox value with the Public variable. If different, replace ClientName
with the new value.

Jun 27 '08 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
3353
by: Pete | last post by:
I'm trying to improve my code so that when I open a recordset object, I can absolutely guarantee it is closed and is set = Nothing. I have read some old threads and they all say to use the...
3
4590
by: Paul | last post by:
I have an Access 2000 database with a form that is giving me some major headaches. When you open the form, it displays all records and allows editing, but has AllowAdditions set to False so that...
3
6856
by: Nathan Bloomfield | last post by:
Hi there, I am having difficulty with a piece of code which would work wonders for my application if only the error trapping worked properly. Basically, it works as follows: - adds records...
13
4429
by: Thelma Lubkin | last post by:
I use code extensively; I probably overuse it. But I've been using error trapping very sparingly, and now I've been trapped by that. A form that works for me on the system I'm using, apparently...
4
2080
by: Bill | last post by:
Despite our best efforts occasionally in an aspx file, something like <%=x%> where x is not defined sqeaks by and I get the ugly asp error message. I want to be able to identify this particular...
12
2230
by: Nalaka | last post by:
Hi, I suddenly started getting a lot of errors from html validation (some CSS) so I followed the following instructions to disable it. If you'd rather not have these types of HTML validation...
2
3857
by: Captain Nemo | last post by:
I'm still using Office 2000 myself, but some of my clients have Office 2003. I've recently added a piece of code to create an instance of Word, open a document, fill in the blanks and become...
9
2093
by: 47computers | last post by:
Pretty new to PHP, I recently started learning about error trapping. As of right now, I include the following into a page in my website: -------BEGIN PASTE-------- error_reporting(E_ERROR |...
0
1754
by: ajb123 | last post by:
I am encountering an R6025 ("No object has been instantiated to handle the pure virtual function call") error in a complex application. The error is intermittent and it is time consuming to...
0
7039
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7037
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7080
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
6735
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
6895
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
4476
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
2992
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
1296
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
176
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.