Solved

MS Access Form - Runtime error 2135

Posted on 2011-02-15
14
2,274 Views
Last Modified: 2012-05-11
I have a VBA project and I want one of the text boxes on the form
to become zero when the user clicks a certain command button.

But, I am getting...
Run-timer error 2135
This property is read-only and cannot be set

But when I look at that text box's properties
Enabled = Yes, Locked = No

The code I have is in the OnClick event...
chkboxPaid.Value=True
Text54.SetFocus
Text54.Text="0"

Open in new window

0
Comment
Question by:--TripWire--
  • 8
  • 5
14 Comments
 
LVL 75
ID: 34899272
Try this

chkboxPaid.Value=True
Text54.SetFocus
Text54 ="0"
0
 
LVL 6

Expert Comment

by:Gugro
ID: 34899277
what is the ControlSource for the textfield ??
And you should use Text54 = "0"
as the property .Text  is only accessible when you are editing the TextBox
0
 
LVL 75

Assisted Solution

by:DatabaseMX (Joe Anderson - Access MVP)
DatabaseMX (Joe Anderson - Access MVP) earned 125 total points
ID: 34899316
Are you *sure* that text box does not have a calculated Control Source ... like

=<SomeExpression>

?

what you have should be working ...

mx
0
 
LVL 75

Assisted Solution

by:DatabaseMX (Joe Anderson - Access MVP)
DatabaseMX (Joe Anderson - Access MVP) earned 125 total points
ID: 34899325
"Text  is only accessible when you are editing the TextBox"
Not really the case.


From Help:
Text Property
You can use the Text property to set or return the text contained in a text box or in the text box portion of a combo box. Read/write String.


mx


0
 

Author Comment

by:--TripWire--
ID: 34899366
Thanks
I tried Text54=0 but problem still persists.

The control source of the txtbox is...
=IIf([Insurance] = "X", ([Total]-(0.15*[Total])-[Payment], ([Total]-[Payment]))

Open in new window

0
 
LVL 75

Assisted Solution

by:DatabaseMX (Joe Anderson - Access MVP)
DatabaseMX (Joe Anderson - Access MVP) earned 125 total points
ID: 34899392
"The control source of the txtbox is..."
That is your problem.  You cannot set a value from Code when there is a calculated expression in the Control Source. .... sorry.

mx
0
 

Author Comment

by:--TripWire--
ID: 34899490
Ok thanks.  Good to know.
Can you suggest some other way to get that figure to zero?  I tried a nested IIf, but it does nothing.

=IIf([Paid]="Yes", 0, IIf(....etc...))
0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 
LVL 75
ID: 34899531
Under what condition is it supposed to be Zero ?

mx
0
 

Author Comment

by:--TripWire--
ID: 34899542
It's the user's choice.
The way I have it now is they click a command button, which sets a yes/no box to true.
And from now on, whenever the DB see's that Paid=true, the remaining balance goes to 0.
0
 
LVL 75

Assisted Solution

by:DatabaseMX (Joe Anderson - Access MVP)
DatabaseMX (Joe Anderson - Access MVP) earned 125 total points
ID: 34899567
Maybe this:

=IIf([chkboxPaid] = True, 0, IIf([Insurance] = "X", ([Total] - (0.15 * [Total])) - [Payment], ([Total] - [Payment])))
0
 

Author Comment

by:--TripWire--
ID: 34899581
That's what I have.  Does nothing so far.
0
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Access MVP) earned 125 total points
ID: 34899592
That's not exactly what you had ... you had [Paid] ... I'm using the control name.
0
 

Author Comment

by:--TripWire--
ID: 34899623
Nevermind, I had quotes around Yes.
Thanks - problem solved.
0
 
LVL 75
ID: 34899655
Cool.

thx.mx
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction When developing Access applications, often we need to know whether an object exists.  This article presents a quick and reliable routine to determine if an object exists without that object being opened. If you wanted to inspect/ite…
In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now