Access module does not continue past the Filter Method

G

Guest

I have a subroutine in an Access Module that creates and applies a filter.
When I call the subroutine, it does apply the filter, giving no error
messages. But, the program stops after the filter is applied. It does not
continue to process subsequent commands. Please provide any insight into why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
NOTE: RequestType is a field on the "Technical Form" Form.
 
A

Allen Browne

Decompile a copy of the database by entering something like this at the
command prompt while Access is not running. It is all one line, and include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property. Additionally, it may not
work as expected if the form is dirty with a record that cannot be saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)
 
G

Guest

Allen,

Thank you for your reply. I tried both of your suggestions, but neither
fixed my problem. I did verify that the "decompile" switch did decompile my
program. I also added the "Dirty" code, but this problem appears even when
the record is not "Dirty".

Nonetheless, I had not thought of either of your suggestions, and I
appreciate your help. Please let me know if you have any other suggestions.

Allen Browne said:
Decompile a copy of the database by entering something like this at the
command prompt while Access is not running. It is all one line, and include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property. Additionally, it may not
work as expected if the form is dirty with a record that cannot be saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

dalbin said:
I have a subroutine in an Access Module that creates and applies a filter.
When I call the subroutine, it does apply the filter, giving no error
messages. But, the program stops after the filter is applied. It does
not
continue to process subsequent commands. Please provide any insight into
why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
NOTE: RequestType is a field on the "Technical Form" Form.
 
A

Allen Browne

Add a Debug.Print to the top of the routine to ensure that is in fact
executing.

Then put a break point on the top Debug.Print line (by pressing F9.) When it
breaks, press F8 to single-step through the code, so you can see where it is
going.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

dalbin said:
Allen,

Thank you for your reply. I tried both of your suggestions, but neither
fixed my problem. I did verify that the "decompile" switch did decompile
my
program. I also added the "Dirty" code, but this problem appears even
when
the record is not "Dirty".

Nonetheless, I had not thought of either of your suggestions, and I
appreciate your help. Please let me know if you have any other
suggestions.

Allen Browne said:
Decompile a copy of the database by entering something like this at the
command prompt while Access is not running. It is all one line, and
include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property. Additionally, it may not
work as expected if the form is dirty with a record that cannot be saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

dalbin said:
I have a subroutine in an Access Module that creates and applies a
filter.
When I call the subroutine, it does apply the filter, giving no error
messages. But, the program stops after the filter is applied. It does
not
continue to process subsequent commands. Please provide any insight
into
why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
NOTE: RequestType is a field on the "Technical Form" Form.
 
G

Guest

I have added a Debug.Print to the top of the routine and it does execute.

I successfully put a breakpoint on the top Debug.Print line, but when I run
the program it does not suspend execution at the breakpoint. It proceeds
right past the breakpoint, as if it were not there.

One thing I did notice: After I click the "Reset" Button (that looks like a
stop button), the subroutine executes perfectly. I take this to mean that
something needs to be reset. But, the "Reset" Button seems to reset global
variables, which I do need. So, that is not really an option.

Thanks again for your help.

Allen Browne said:
Add a Debug.Print to the top of the routine to ensure that is in fact
executing.

Then put a break point on the top Debug.Print line (by pressing F9.) When it
breaks, press F8 to single-step through the code, so you can see where it is
going.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

dalbin said:
Allen,

Thank you for your reply. I tried both of your suggestions, but neither
fixed my problem. I did verify that the "decompile" switch did decompile
my
program. I also added the "Dirty" code, but this problem appears even
when
the record is not "Dirty".

Nonetheless, I had not thought of either of your suggestions, and I
appreciate your help. Please let me know if you have any other
suggestions.

Allen Browne said:
Decompile a copy of the database by entering something like this at the
command prompt while Access is not running. It is all one line, and
include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property. Additionally, it may not
work as expected if the form is dirty with a record that cannot be saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

I have a subroutine in an Access Module that creates and applies a
filter.
When I call the subroutine, it does apply the filter, giving no error
messages. But, the program stops after the filter is applied. It does
not
continue to process subsequent commands. Please provide any insight
into
why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
NOTE: RequestType is a field on the "Technical Form" Form.
 
G

Guest

I have begun to consider whether AllowBreakIntoCode is enabled, but I am
having trouble accessing it. The program that I wrote is:

Sub SetStartupProperties()
Dim dbs As DAO.Database
Dim prpNew As DAO.Property
Set dbs = CurrentDb
Set prpNew = dbs.CreateProperty("AllowBreakIntoCode", dbBoolean, True)
Debug.Print "Before the Append Statement"
dbs.Properties.Append prpNew
Debug.Print "After the Append Statement"
End Sub

The program makes it to "Before the Append Statement", but does not make it
to the "After the Append Statement".

I have another program that loops through all of the properties, printing
them to the debug window. "AllowBreakIntoCode" is not one of the properties.
Any ideas?


dalbin said:
I have added a Debug.Print to the top of the routine and it does execute.

I successfully put a breakpoint on the top Debug.Print line, but when I run
the program it does not suspend execution at the breakpoint. It proceeds
right past the breakpoint, as if it were not there.

One thing I did notice: After I click the "Reset" Button (that looks like a
stop button), the subroutine executes perfectly. I take this to mean that
something needs to be reset. But, the "Reset" Button seems to reset global
variables, which I do need. So, that is not really an option.

Thanks again for your help.

Allen Browne said:
Add a Debug.Print to the top of the routine to ensure that is in fact
executing.

Then put a break point on the top Debug.Print line (by pressing F9.) When it
breaks, press F8 to single-step through the code, so you can see where it is
going.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

dalbin said:
Allen,

Thank you for your reply. I tried both of your suggestions, but neither
fixed my problem. I did verify that the "decompile" switch did decompile
my
program. I also added the "Dirty" code, but this problem appears even
when
the record is not "Dirty".

Nonetheless, I had not thought of either of your suggestions, and I
appreciate your help. Please let me know if you have any other
suggestions.

:

Decompile a copy of the database by entering something like this at the
command prompt while Access is not running. It is all one line, and
include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property. Additionally, it may not
work as expected if the form is dirty with a record that cannot be saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

I have a subroutine in an Access Module that creates and applies a
filter.
When I call the subroutine, it does apply the filter, giving no error
messages. But, the program stops after the filter is applied. It does
not
continue to process subsequent commands. Please provide any insight
into
why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
NOTE: RequestType is a field on the "Technical Form" Form.
 
G

Guest

I figured out the "AllowBreakIntoCode" Problem. AllowBreakIntoCode is set to
"True". But, I still receive no messages from access. Why?

dalbin said:
I have begun to consider whether AllowBreakIntoCode is enabled, but I am
having trouble accessing it. The program that I wrote is:

Sub SetStartupProperties()
Dim dbs As DAO.Database
Dim prpNew As DAO.Property
Set dbs = CurrentDb
Set prpNew = dbs.CreateProperty("AllowBreakIntoCode", dbBoolean, True)
Debug.Print "Before the Append Statement"
dbs.Properties.Append prpNew
Debug.Print "After the Append Statement"
End Sub

The program makes it to "Before the Append Statement", but does not make it
to the "After the Append Statement".

I have another program that loops through all of the properties, printing
them to the debug window. "AllowBreakIntoCode" is not one of the properties.
Any ideas?


dalbin said:
I have added a Debug.Print to the top of the routine and it does execute.

I successfully put a breakpoint on the top Debug.Print line, but when I run
the program it does not suspend execution at the breakpoint. It proceeds
right past the breakpoint, as if it were not there.

One thing I did notice: After I click the "Reset" Button (that looks like a
stop button), the subroutine executes perfectly. I take this to mean that
something needs to be reset. But, the "Reset" Button seems to reset global
variables, which I do need. So, that is not really an option.

Thanks again for your help.

Allen Browne said:
Add a Debug.Print to the top of the routine to ensure that is in fact
executing.

Then put a break point on the top Debug.Print line (by pressing F9.) When it
breaks, press F8 to single-step through the code, so you can see where it is
going.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

Allen,

Thank you for your reply. I tried both of your suggestions, but neither
fixed my problem. I did verify that the "decompile" switch did decompile
my
program. I also added the "Dirty" code, but this problem appears even
when
the record is not "Dirty".

Nonetheless, I had not thought of either of your suggestions, and I
appreciate your help. Please let me know if you have any other
suggestions.

:

Decompile a copy of the database by entering something like this at the
command prompt while Access is not running. It is all one line, and
include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property. Additionally, it may not
work as expected if the form is dirty with a record that cannot be saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

I have a subroutine in an Access Module that creates and applies a
filter.
When I call the subroutine, it does apply the filter, giving no error
messages. But, the program stops after the filter is applied. It does
not
continue to process subsequent commands. Please provide any insight
into
why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
NOTE: RequestType is a field on the "Technical Form" Form.
 
A

Allen Browne

What setting do you have under:
Tools | Options | General | Error Trapping
(from the code window)?

How is this procedure being called? Is it called from another procedure that
has error trapping enabled? If so, comment out the On Error Goto in the
upper level procedure(s).

If that still fails, it might be time to copy all the code out of the module
to a text file. Then delete the module (or, if it is the module of a form,
set the form's HasModule property to No.) Compact the database. Create a new
module (or open the code window from the form). Paste the text back in.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

dalbin said:
I figured out the "AllowBreakIntoCode" Problem. AllowBreakIntoCode is set
to
"True". But, I still receive no messages from access. Why?

dalbin said:
I have begun to consider whether AllowBreakIntoCode is enabled, but I am
having trouble accessing it. The program that I wrote is:

Sub SetStartupProperties()
Dim dbs As DAO.Database
Dim prpNew As DAO.Property
Set dbs = CurrentDb
Set prpNew = dbs.CreateProperty("AllowBreakIntoCode", dbBoolean,
True)
Debug.Print "Before the Append Statement"
dbs.Properties.Append prpNew
Debug.Print "After the Append Statement"
End Sub

The program makes it to "Before the Append Statement", but does not make
it
to the "After the Append Statement".

I have another program that loops through all of the properties, printing
them to the debug window. "AllowBreakIntoCode" is not one of the
properties.
Any ideas?


dalbin said:
I have added a Debug.Print to the top of the routine and it does
execute.

I successfully put a breakpoint on the top Debug.Print line, but when I
run
the program it does not suspend execution at the breakpoint. It
proceeds
right past the breakpoint, as if it were not there.

One thing I did notice: After I click the "Reset" Button (that looks
like a
stop button), the subroutine executes perfectly. I take this to mean
that
something needs to be reset. But, the "Reset" Button seems to reset
global
variables, which I do need. So, that is not really an option.

Thanks again for your help.

:

Add a Debug.Print to the top of the routine to ensure that is in fact
executing.

Then put a break point on the top Debug.Print line (by pressing F9.)
When it
breaks, press F8 to single-step through the code, so you can see
where it is
going.

Allen,

Thank you for your reply. I tried both of your suggestions, but
neither
fixed my problem. I did verify that the "decompile" switch did
decompile
my
program. I also added the "Dirty" code, but this problem appears
even
when
the record is not "Dirty".

Nonetheless, I had not thought of either of your suggestions, and I
appreciate your help. Please let me know if you have any other
suggestions.

:

Decompile a copy of the database by entering something like this
at the
command prompt while Access is not running. It is all one line,
and
include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe"
/decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property. Additionally, it
may not
work as expected if the form is dirty with a record that cannot be
saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)

I have a subroutine in an Access Module that creates and applies
a
filter.
When I call the subroutine, it does apply the filter, giving no
error
messages. But, the program stops after the filter is applied.
It does
not
continue to process subsequent commands. Please provide any
insight
into
why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
NOTE: RequestType is a field on the "Technical Form" Form.
 
G

Guest

My Error Trapping is set to Break on Unhandled Errors.

The procedure is being called from the AfterUpdate Action of a combo box on
a form. I do nothing with error handling on that form. The entire event
procedure is:
"Call Apply_Tech_Filter".

In response to your posting, I added error handling to the
"Apply_Tech_Filter" Subroutine. The subroutine now looks like this:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
On Error GoTo Apply_Tech_Filter_Err
Request_Type = 1
Forms![Technical Form].FilterOn = False
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Everything is OK to this point"
Forms![Technical Form].FilterOn = True
Debug.Print "Past the Filter"
Apply_Tech_Filter_Exit:
Exit Sub
Apply_Tech_Filter_Err:
MsgBox Err.Description
Resume Apply_Tech_Filter_Exit
End Sub

I followed your procedure exactly for copying the code out of the module,
deleting the module, setting the form's HasModule property to No, Compacting
the database, creating a new module, and pasting the text back in. I did
this for every form and module that could possibly be running.
Unfortunately, this did not fix the problem.

Still, no error messages are displayed and the program does not print "Past
the Filter". Nonetheless, thank you for your help. Please let me know if
you have any other ideas, because I don't know what to do.

Allen Browne said:
What setting do you have under:
Tools | Options | General | Error Trapping
(from the code window)?

How is this procedure being called? Is it called from another procedure that
has error trapping enabled? If so, comment out the On Error Goto in the
upper level procedure(s).

If that still fails, it might be time to copy all the code out of the module
to a text file. Then delete the module (or, if it is the module of a form,
set the form's HasModule property to No.) Compact the database. Create a new
module (or open the code window from the form). Paste the text back in.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

dalbin said:
I figured out the "AllowBreakIntoCode" Problem. AllowBreakIntoCode is set
to
"True". But, I still receive no messages from access. Why?

dalbin said:
I have begun to consider whether AllowBreakIntoCode is enabled, but I am
having trouble accessing it. The program that I wrote is:

Sub SetStartupProperties()
Dim dbs As DAO.Database
Dim prpNew As DAO.Property
Set dbs = CurrentDb
Set prpNew = dbs.CreateProperty("AllowBreakIntoCode", dbBoolean,
True)
Debug.Print "Before the Append Statement"
dbs.Properties.Append prpNew
Debug.Print "After the Append Statement"
End Sub

The program makes it to "Before the Append Statement", but does not make
it
to the "After the Append Statement".

I have another program that loops through all of the properties, printing
them to the debug window. "AllowBreakIntoCode" is not one of the
properties.
Any ideas?


:

I have added a Debug.Print to the top of the routine and it does
execute.

I successfully put a breakpoint on the top Debug.Print line, but when I
run
the program it does not suspend execution at the breakpoint. It
proceeds
right past the breakpoint, as if it were not there.

One thing I did notice: After I click the "Reset" Button (that looks
like a
stop button), the subroutine executes perfectly. I take this to mean
that
something needs to be reset. But, the "Reset" Button seems to reset
global
variables, which I do need. So, that is not really an option.

Thanks again for your help.

:

Add a Debug.Print to the top of the routine to ensure that is in fact
executing.

Then put a break point on the top Debug.Print line (by pressing F9.)
When it
breaks, press F8 to single-step through the code, so you can see
where it is
going.

Allen,

Thank you for your reply. I tried both of your suggestions, but
neither
fixed my problem. I did verify that the "decompile" switch did
decompile
my
program. I also added the "Dirty" code, but this problem appears
even
when
the record is not "Dirty".

Nonetheless, I had not thought of either of your suggestions, and I
appreciate your help. Please let me know if you have any other
suggestions.

:

Decompile a copy of the database by entering something like this
at the
command prompt while Access is not running. It is all one line,
and
include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe"
/decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property. Additionally, it
may not
work as expected if the form is dirty with a record that cannot be
saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)

I have a subroutine in an Access Module that creates and applies
a
filter.
When I call the subroutine, it does apply the filter, giving no
error
messages. But, the program stops after the filter is applied.
It does
not
continue to process subsequent commands. Please provide any
insight
into
why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
NOTE: RequestType is a field on the "Technical Form" Form.
 
A

Allen Browne

Temporarily disable the error handler again.
On a line of its own just above where you asign 1 to Request_type, enter:
Stop

Execute the procedure, and single-step through it with F8 so you can trace
where it is going.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

dalbin said:
My Error Trapping is set to Break on Unhandled Errors.

The procedure is being called from the AfterUpdate Action of a combo box
on
a form. I do nothing with error handling on that form. The entire event
procedure is:
"Call Apply_Tech_Filter".

In response to your posting, I added error handling to the
"Apply_Tech_Filter" Subroutine. The subroutine now looks like this:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
On Error GoTo Apply_Tech_Filter_Err
Request_Type = 1
Forms![Technical Form].FilterOn = False
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Everything is OK to this point"
Forms![Technical Form].FilterOn = True
Debug.Print "Past the Filter"
Apply_Tech_Filter_Exit:
Exit Sub
Apply_Tech_Filter_Err:
MsgBox Err.Description
Resume Apply_Tech_Filter_Exit
End Sub

I followed your procedure exactly for copying the code out of the module,
deleting the module, setting the form's HasModule property to No,
Compacting
the database, creating a new module, and pasting the text back in. I did
this for every form and module that could possibly be running.
Unfortunately, this did not fix the problem.

Still, no error messages are displayed and the program does not print
"Past
the Filter". Nonetheless, thank you for your help. Please let me know if
you have any other ideas, because I don't know what to do.

Allen Browne said:
What setting do you have under:
Tools | Options | General | Error Trapping
(from the code window)?

How is this procedure being called? Is it called from another procedure
that
has error trapping enabled? If so, comment out the On Error Goto in the
upper level procedure(s).

If that still fails, it might be time to copy all the code out of the
module
to a text file. Then delete the module (or, if it is the module of a
form,
set the form's HasModule property to No.) Compact the database. Create a
new
module (or open the code window from the form). Paste the text back in.

dalbin said:
I figured out the "AllowBreakIntoCode" Problem. AllowBreakIntoCode is
set
to
"True". But, I still receive no messages from access. Why?

:

I have begun to consider whether AllowBreakIntoCode is enabled, but I
am
having trouble accessing it. The program that I wrote is:

Sub SetStartupProperties()
Dim dbs As DAO.Database
Dim prpNew As DAO.Property
Set dbs = CurrentDb
Set prpNew = dbs.CreateProperty("AllowBreakIntoCode", dbBoolean,
True)
Debug.Print "Before the Append Statement"
dbs.Properties.Append prpNew
Debug.Print "After the Append Statement"
End Sub

The program makes it to "Before the Append Statement", but does not
make
it
to the "After the Append Statement".

I have another program that loops through all of the properties,
printing
them to the debug window. "AllowBreakIntoCode" is not one of the
properties.
Any ideas?


:

I have added a Debug.Print to the top of the routine and it does
execute.

I successfully put a breakpoint on the top Debug.Print line, but
when I
run
the program it does not suspend execution at the breakpoint. It
proceeds
right past the breakpoint, as if it were not there.

One thing I did notice: After I click the "Reset" Button (that
looks
like a
stop button), the subroutine executes perfectly. I take this to
mean
that
something needs to be reset. But, the "Reset" Button seems to reset
global
variables, which I do need. So, that is not really an option.

Thanks again for your help.

:

Add a Debug.Print to the top of the routine to ensure that is in
fact
executing.

Then put a break point on the top Debug.Print line (by pressing
F9.)
When it
breaks, press F8 to single-step through the code, so you can see
where it is
going.

Allen,

Thank you for your reply. I tried both of your suggestions, but
neither
fixed my problem. I did verify that the "decompile" switch did
decompile
my
program. I also added the "Dirty" code, but this problem
appears
even
when
the record is not "Dirty".

Nonetheless, I had not thought of either of your suggestions,
and I
appreciate your help. Please let me know if you have any other
suggestions.

:

Decompile a copy of the database by entering something like
this
at the
command prompt while Access is not running. It is all one line,
and
include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe"
/decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property. Additionally,
it
may not
work as expected if the form is dirty with a record that cannot
be
saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)

I have a subroutine in an Access Module that creates and
applies
a
filter.
When I call the subroutine, it does apply the filter, giving
no
error
messages. But, the program stops after the filter is
applied.
It does
not
continue to process subsequent commands. Please provide any
insight
into
why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " &
Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
NOTE: RequestType is a field on the "Technical Form" Form.
 
G

Guest

I added the "Stop" Command, but the program completely ignored it. It
proceeded past the "Stop" Command as if it were not there.

One funny thing happened, though, after I added the "Stop" Command. The
entire subroutine started working! It worked about 15 times. I even closed
the database, opened it again, and it still worked. I then went back and
added an "AddAllToList" Function to the combo box. After I added this
function, the subroutine went back to not working again.

I then retraced all of my steps, following exactly the procedures that you
had laid out. I even deleted the "AddAllToList" Function. I can't get it
working again.

Currently, the "Stop" Command doesn't do anything and the subroutine is not
proceeding to "Past the Filter". I guess the moral of this posting is "Leave
well-enough alone."

Does this shed any light upon why the subroutine doesn't run or why I am not
receiving any runtime errors? I am extremely confused.

Allen Browne said:
Temporarily disable the error handler again.
On a line of its own just above where you asign 1 to Request_type, enter:
Stop

Execute the procedure, and single-step through it with F8 so you can trace
where it is going.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

dalbin said:
My Error Trapping is set to Break on Unhandled Errors.

The procedure is being called from the AfterUpdate Action of a combo box
on
a form. I do nothing with error handling on that form. The entire event
procedure is:
"Call Apply_Tech_Filter".

In response to your posting, I added error handling to the
"Apply_Tech_Filter" Subroutine. The subroutine now looks like this:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
On Error GoTo Apply_Tech_Filter_Err
Request_Type = 1
Forms![Technical Form].FilterOn = False
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Everything is OK to this point"
Forms![Technical Form].FilterOn = True
Debug.Print "Past the Filter"
Apply_Tech_Filter_Exit:
Exit Sub
Apply_Tech_Filter_Err:
MsgBox Err.Description
Resume Apply_Tech_Filter_Exit
End Sub

I followed your procedure exactly for copying the code out of the module,
deleting the module, setting the form's HasModule property to No,
Compacting
the database, creating a new module, and pasting the text back in. I did
this for every form and module that could possibly be running.
Unfortunately, this did not fix the problem.

Still, no error messages are displayed and the program does not print
"Past
the Filter". Nonetheless, thank you for your help. Please let me know if
you have any other ideas, because I don't know what to do.

Allen Browne said:
What setting do you have under:
Tools | Options | General | Error Trapping
(from the code window)?

How is this procedure being called? Is it called from another procedure
that
has error trapping enabled? If so, comment out the On Error Goto in the
upper level procedure(s).

If that still fails, it might be time to copy all the code out of the
module
to a text file. Then delete the module (or, if it is the module of a
form,
set the form's HasModule property to No.) Compact the database. Create a
new
module (or open the code window from the form). Paste the text back in.

I figured out the "AllowBreakIntoCode" Problem. AllowBreakIntoCode is
set
to
"True". But, I still receive no messages from access. Why?

:

I have begun to consider whether AllowBreakIntoCode is enabled, but I
am
having trouble accessing it. The program that I wrote is:

Sub SetStartupProperties()
Dim dbs As DAO.Database
Dim prpNew As DAO.Property
Set dbs = CurrentDb
Set prpNew = dbs.CreateProperty("AllowBreakIntoCode", dbBoolean,
True)
Debug.Print "Before the Append Statement"
dbs.Properties.Append prpNew
Debug.Print "After the Append Statement"
End Sub

The program makes it to "Before the Append Statement", but does not
make
it
to the "After the Append Statement".

I have another program that loops through all of the properties,
printing
them to the debug window. "AllowBreakIntoCode" is not one of the
properties.
Any ideas?


:

I have added a Debug.Print to the top of the routine and it does
execute.

I successfully put a breakpoint on the top Debug.Print line, but
when I
run
the program it does not suspend execution at the breakpoint. It
proceeds
right past the breakpoint, as if it were not there.

One thing I did notice: After I click the "Reset" Button (that
looks
like a
stop button), the subroutine executes perfectly. I take this to
mean
that
something needs to be reset. But, the "Reset" Button seems to reset
global
variables, which I do need. So, that is not really an option.

Thanks again for your help.

:

Add a Debug.Print to the top of the routine to ensure that is in
fact
executing.

Then put a break point on the top Debug.Print line (by pressing
F9.)
When it
breaks, press F8 to single-step through the code, so you can see
where it is
going.

Allen,

Thank you for your reply. I tried both of your suggestions, but
neither
fixed my problem. I did verify that the "decompile" switch did
decompile
my
program. I also added the "Dirty" code, but this problem
appears
even
when
the record is not "Dirty".

Nonetheless, I had not thought of either of your suggestions,
and I
appreciate your help. Please let me know if you have any other
suggestions.

:

Decompile a copy of the database by entering something like
this
at the
command prompt while Access is not running. It is all one line,
and
include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe"
/decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property. Additionally,
it
may not
work as expected if the form is dirty with a record that cannot
be
saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)

I have a subroutine in an Access Module that creates and
applies
a
filter.
When I call the subroutine, it does apply the filter, giving
no
error
messages. But, the program stops after the filter is
applied.
It does
not
continue to process subsequent commands. Please provide any
insight
into
why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " &
Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
NOTE: RequestType is a field on the "Technical Form" Form.
 
A

Allen Browne

Something is drastically wrong with either this database or your
installation of Access.

If you get this problem in any database at all (even Northwind), completely
ininstall Office, install again, and apply all the updates for office and
JET.

If you get this problem only in the one database, it is time to rebuild it.
Decompile. Compact. Create new. Disable Name AutoCorrect. Import all from
the old database.

If that does not solve the problem, you could try the undocumented
SaveAsText to save the form as a text file. Then import it into the newly
created database with LoadFromText. Example:
SaveAsText acForm, "Form1", "C:\Form1.txt"
and then:
LoadFromText acForm, "Form1", "C:\Form1.txt"


--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

dalbin said:
I added the "Stop" Command, but the program completely ignored it. It
proceeded past the "Stop" Command as if it were not there.

One funny thing happened, though, after I added the "Stop" Command. The
entire subroutine started working! It worked about 15 times. I even
closed
the database, opened it again, and it still worked. I then went back and
added an "AddAllToList" Function to the combo box. After I added this
function, the subroutine went back to not working again.

I then retraced all of my steps, following exactly the procedures that you
had laid out. I even deleted the "AddAllToList" Function. I can't get it
working again.

Currently, the "Stop" Command doesn't do anything and the subroutine is
not
proceeding to "Past the Filter". I guess the moral of this posting is
"Leave
well-enough alone."

Does this shed any light upon why the subroutine doesn't run or why I am
not
receiving any runtime errors? I am extremely confused.

Allen Browne said:
Temporarily disable the error handler again.
On a line of its own just above where you asign 1 to Request_type, enter:
Stop

Execute the procedure, and single-step through it with F8 so you can
trace
where it is going.

dalbin said:
My Error Trapping is set to Break on Unhandled Errors.

The procedure is being called from the AfterUpdate Action of a combo
box
on
a form. I do nothing with error handling on that form. The entire
event
procedure is:
"Call Apply_Tech_Filter".

In response to your posting, I added error handling to the
"Apply_Tech_Filter" Subroutine. The subroutine now looks like this:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
On Error GoTo Apply_Tech_Filter_Err
Request_Type = 1
Forms![Technical Form].FilterOn = False
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Everything is OK to this point"
Forms![Technical Form].FilterOn = True
Debug.Print "Past the Filter"
Apply_Tech_Filter_Exit:
Exit Sub
Apply_Tech_Filter_Err:
MsgBox Err.Description
Resume Apply_Tech_Filter_Exit
End Sub

I followed your procedure exactly for copying the code out of the
module,
deleting the module, setting the form's HasModule property to No,
Compacting
the database, creating a new module, and pasting the text back in. I
did
this for every form and module that could possibly be running.
Unfortunately, this did not fix the problem.

Still, no error messages are displayed and the program does not print
"Past
the Filter". Nonetheless, thank you for your help. Please let me know
if
you have any other ideas, because I don't know what to do.

:

What setting do you have under:
Tools | Options | General | Error Trapping
(from the code window)?

How is this procedure being called? Is it called from another
procedure
that
has error trapping enabled? If so, comment out the On Error Goto in
the
upper level procedure(s).

If that still fails, it might be time to copy all the code out of the
module
to a text file. Then delete the module (or, if it is the module of a
form,
set the form's HasModule property to No.) Compact the database. Create
a
new
module (or open the code window from the form). Paste the text back
in.

I figured out the "AllowBreakIntoCode" Problem. AllowBreakIntoCode
is
set
to
"True". But, I still receive no messages from access. Why?

:

I have begun to consider whether AllowBreakIntoCode is enabled, but
I
am
having trouble accessing it. The program that I wrote is:

Sub SetStartupProperties()
Dim dbs As DAO.Database
Dim prpNew As DAO.Property
Set dbs = CurrentDb
Set prpNew = dbs.CreateProperty("AllowBreakIntoCode",
dbBoolean,
True)
Debug.Print "Before the Append Statement"
dbs.Properties.Append prpNew
Debug.Print "After the Append Statement"
End Sub

The program makes it to "Before the Append Statement", but does not
make
it
to the "After the Append Statement".

I have another program that loops through all of the properties,
printing
them to the debug window. "AllowBreakIntoCode" is not one of the
properties.
Any ideas?


:

I have added a Debug.Print to the top of the routine and it does
execute.

I successfully put a breakpoint on the top Debug.Print line, but
when I
run
the program it does not suspend execution at the breakpoint. It
proceeds
right past the breakpoint, as if it were not there.

One thing I did notice: After I click the "Reset" Button (that
looks
like a
stop button), the subroutine executes perfectly. I take this to
mean
that
something needs to be reset. But, the "Reset" Button seems to
reset
global
variables, which I do need. So, that is not really an option.

Thanks again for your help.

:

Add a Debug.Print to the top of the routine to ensure that is
in
fact
executing.

Then put a break point on the top Debug.Print line (by pressing
F9.)
When it
breaks, press F8 to single-step through the code, so you can
see
where it is
going.

Allen,

Thank you for your reply. I tried both of your suggestions,
but
neither
fixed my problem. I did verify that the "decompile" switch
did
decompile
my
program. I also added the "Dirty" code, but this problem
appears
even
when
the record is not "Dirty".

Nonetheless, I had not thought of either of your suggestions,
and I
appreciate your help. Please let me know if you have any
other
suggestions.

:

Decompile a copy of the database by entering something like
this
at the
command prompt while Access is not running. It is all one
line,
and
include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe"
/decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property.
Additionally,
it
may not
work as expected if the form is dirty with a record that
cannot
be
saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)

I have a subroutine in an Access Module that creates and
applies
a
filter.
When I call the subroutine, it does apply the filter,
giving
no
error
messages. But, the program stops after the filter is
applied.
It does
not
continue to process subsequent commands. Please provide
any
insight
into
why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " &
Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
NOTE: RequestType is a field on the "Technical Form"
Form.
 
G

Guest

I have only seen the problem of "no runtime error messages" in this database.
So, I guess the next step is to rebuild the database. This may take some
time, but I'll post again once it is complete.

Again, thank you for your help.

Allen Browne said:
Something is drastically wrong with either this database or your
installation of Access.

If you get this problem in any database at all (even Northwind), completely
ininstall Office, install again, and apply all the updates for office and
JET.

If you get this problem only in the one database, it is time to rebuild it.
Decompile. Compact. Create new. Disable Name AutoCorrect. Import all from
the old database.

If that does not solve the problem, you could try the undocumented
SaveAsText to save the form as a text file. Then import it into the newly
created database with LoadFromText. Example:
SaveAsText acForm, "Form1", "C:\Form1.txt"
and then:
LoadFromText acForm, "Form1", "C:\Form1.txt"


--
Allen Browne - Microsoft MVP. Perth, Western Australia.

Reply to group, rather than allenbrowne at mvps dot org.

dalbin said:
I added the "Stop" Command, but the program completely ignored it. It
proceeded past the "Stop" Command as if it were not there.

One funny thing happened, though, after I added the "Stop" Command. The
entire subroutine started working! It worked about 15 times. I even
closed
the database, opened it again, and it still worked. I then went back and
added an "AddAllToList" Function to the combo box. After I added this
function, the subroutine went back to not working again.

I then retraced all of my steps, following exactly the procedures that you
had laid out. I even deleted the "AddAllToList" Function. I can't get it
working again.

Currently, the "Stop" Command doesn't do anything and the subroutine is
not
proceeding to "Past the Filter". I guess the moral of this posting is
"Leave
well-enough alone."

Does this shed any light upon why the subroutine doesn't run or why I am
not
receiving any runtime errors? I am extremely confused.

Allen Browne said:
Temporarily disable the error handler again.
On a line of its own just above where you asign 1 to Request_type, enter:
Stop

Execute the procedure, and single-step through it with F8 so you can
trace
where it is going.

My Error Trapping is set to Break on Unhandled Errors.

The procedure is being called from the AfterUpdate Action of a combo
box
on
a form. I do nothing with error handling on that form. The entire
event
procedure is:
"Call Apply_Tech_Filter".

In response to your posting, I added error handling to the
"Apply_Tech_Filter" Subroutine. The subroutine now looks like this:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
On Error GoTo Apply_Tech_Filter_Err
Request_Type = 1
Forms![Technical Form].FilterOn = False
Forms![Technical Form].Filter = "RequestType = " & Request_Type
Debug.Print "Everything is OK to this point"
Forms![Technical Form].FilterOn = True
Debug.Print "Past the Filter"
Apply_Tech_Filter_Exit:
Exit Sub
Apply_Tech_Filter_Err:
MsgBox Err.Description
Resume Apply_Tech_Filter_Exit
End Sub

I followed your procedure exactly for copying the code out of the
module,
deleting the module, setting the form's HasModule property to No,
Compacting
the database, creating a new module, and pasting the text back in. I
did
this for every form and module that could possibly be running.
Unfortunately, this did not fix the problem.

Still, no error messages are displayed and the program does not print
"Past
the Filter". Nonetheless, thank you for your help. Please let me know
if
you have any other ideas, because I don't know what to do.

:

What setting do you have under:
Tools | Options | General | Error Trapping
(from the code window)?

How is this procedure being called? Is it called from another
procedure
that
has error trapping enabled? If so, comment out the On Error Goto in
the
upper level procedure(s).

If that still fails, it might be time to copy all the code out of the
module
to a text file. Then delete the module (or, if it is the module of a
form,
set the form's HasModule property to No.) Compact the database. Create
a
new
module (or open the code window from the form). Paste the text back
in.

I figured out the "AllowBreakIntoCode" Problem. AllowBreakIntoCode
is
set
to
"True". But, I still receive no messages from access. Why?

:

I have begun to consider whether AllowBreakIntoCode is enabled, but
I
am
having trouble accessing it. The program that I wrote is:

Sub SetStartupProperties()
Dim dbs As DAO.Database
Dim prpNew As DAO.Property
Set dbs = CurrentDb
Set prpNew = dbs.CreateProperty("AllowBreakIntoCode",
dbBoolean,
True)
Debug.Print "Before the Append Statement"
dbs.Properties.Append prpNew
Debug.Print "After the Append Statement"
End Sub

The program makes it to "Before the Append Statement", but does not
make
it
to the "After the Append Statement".

I have another program that loops through all of the properties,
printing
them to the debug window. "AllowBreakIntoCode" is not one of the
properties.
Any ideas?


:

I have added a Debug.Print to the top of the routine and it does
execute.

I successfully put a breakpoint on the top Debug.Print line, but
when I
run
the program it does not suspend execution at the breakpoint. It
proceeds
right past the breakpoint, as if it were not there.

One thing I did notice: After I click the "Reset" Button (that
looks
like a
stop button), the subroutine executes perfectly. I take this to
mean
that
something needs to be reset. But, the "Reset" Button seems to
reset
global
variables, which I do need. So, that is not really an option.

Thanks again for your help.

:

Add a Debug.Print to the top of the routine to ensure that is
in
fact
executing.

Then put a break point on the top Debug.Print line (by pressing
F9.)
When it
breaks, press F8 to single-step through the code, so you can
see
where it is
going.

Allen,

Thank you for your reply. I tried both of your suggestions,
but
neither
fixed my problem. I did verify that the "decompile" switch
did
decompile
my
program. I also added the "Dirty" code, but this problem
appears
even
when
the record is not "Dirty".

Nonetheless, I had not thought of either of your suggestions,
and I
appreciate your help. Please let me know if you have any
other
suggestions.

:

Decompile a copy of the database by entering something like
this
at the
command prompt while Access is not running. It is all one
line,
and
include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe"
/decompile
"c:\MyPath\MyDatabase.mdb"
Then compact the database.

You have not actully set the FilterOn property.
Additionally,
it
may not
work as expected if the form is dirty with a record that
cannot
be
saved
(e.g. required field missing, or validation rule not met.)

Try something like this:
Public Sub Apply_Tech_Filter()
With Forms![Technical Form]
If .Dirty Then .Dirty = False
.Filter = "RequestType = 1"
.FilterOn = True
End With
Debug.Print "Past the Filter"
End Sub

(We are assuming that RequestType is a Number type field.)

I have a subroutine in an Access Module that creates and
applies
a
filter.
When I call the subroutine, it does apply the filter,
giving
no
error
messages. But, the program stops after the filter is
applied.
It does
not
continue to process subsequent commands. Please provide
any
insight
into
why
this is happening.

The code is:

Public Sub Apply_Tech_Filter()
Dim RequestType As Integer
Request_Type = 1
Forms![Technical Form].Filter = "RequestType = " &
Request_Type
Debug.Print "Past the Filter"
End Sub

PROBLEM: It does not proceed to the "Debug.Print" Line.
 
G

Guest

I fixed the problem, without recreating the database.

The problem is that when you turn off "Use Access Special Keys" in the
Startup Dialog Box, Access 2003 no longer gives any indication of runtime
errors.

I verified this by trying it on a totally different, and very simple
database. It caused the same problem.

So, in the orignal database, when I turned "Use Access Special Keys" back
on, I started getting runtime error messages. I opened my form, and received
two "Invalid Use of Null" Errors in seemingly-unrelated fields. I fixed
those problems, and now everything works!

I then turned off "Use Access Special Keys", and the subroutine still works.
I verified that in this state I still do not receive runtime error messages.

Finally, I don't know why the two seemingly-unrelated errors caused the
subroutine to now fully execute. In this case, though, I am content to
"leave well-enough alone."

Allen, thank you for all of your help. The troubleshooting steps that your
suggested helped to uncover the root of the problem.
 
A

Allen Browne

Yes, of course. Special Keys will prevent the interruption of the code.

Thanks for sharing the solution. I must remember to suggest that as a
possible cause of this odd behavior.

Regards
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top