Re: Problem updating memo field

  • Thread starter Thread starter deko
  • Start date Start date
D

deko

I've encountered the same problem. Similar to Emmet's post, I have a
form that provides a bigger look at the memo field. The problem is it
cannot be updated after the field grows past a certain length -- runtime
error 3188 -- "Could not update, currently locked by another session on
this machine".

I remember reading something about how access retrieves data from memo
fields (sorry, I could not find the reference)... the gist of it was
that Access pulls from the table only that which is displayed on the
screen in an effort to optimize performance. Is the record locked
because it is only partially retrieved from the table? I'm not sure,
but I thought I'd add my 2 cents here. If someone has an authoritative
answer, please let me know!

regards,

deko
 
From: Torgeir

Date: 08-29-02 23:11

Subject: Problem updating memo field




Hi,



I have a form (a subform) with a few memo fields. One of the memofields is
used for

daily reports I receive in Ascii format, and for editing this lengthy report
I have

made a simple "edit-form" with the proper font type and size to maintain the
layout

of the report. The idea is to make a form exactly like the Zoom-form built
into

Access ( Shift-F2), the only difference is that I need a larger text box and
a custom

font. The "edit-form" works well as long as the memo-string is no longer
than approx.

2000 characters.



If the string exceeds this length, the field will not update, and I get the
message

"Could not update, currently locked by another session on this machine".



Anyone got any idea where I've gone wrong?



I use Acces 2000.



Thanks,



Torgeir

edit post









From: Brett Collings

Date: 09-01-02 21:01

Subject: Re: Problem updating memo field




The "edit-form" works well as long as the memo-string is no longer than
approx. 2000
characters.
If the string exceeds this length, the field will not update, and I get
the message
"Could not update, currently locked by another session on this machine".





The Memo field will accept and handle thirty times your 2000 characters,
however the

recommended process for handling large texts is to link to the file with a
hyperlink.



This from Help ...



"A Memo field can store up to 64,000 characters. Memo fields can't be
indexed

or sorted. If you want to store formatted text or long documents, you should

create an OLE field instead of a Memo field."



So whatever source is generating the texts is maybe the source to link to
and open

in.



Brett Cheers,



Brett Office XP Beta 429338

edit post









From: Emmet

Date: 10-13-02 20:28

Subject: I have a similar problem




Torgeir:



I also have a similar problem--and for the same reason: I too wanted a
bigger look at a memo field, so I also have a second form devoted to a
larger view of the memo field.



Same problem, and I'm running Access 2002, and I just installed the latest
service pack about two weeks ago.



One difference, though: I don't get a message; the changes I make on the
second form simply disappear without warning when I close the second form.



However, should I try to requery the second form, THEN I get a message
saying, "Could Not Update; Currently Locked by Another Session on this
Machine (Error 3188)".



Have you (or anyone!) discovered what this is about? Is it a bug?



Thank you!

edit post









From: xtreme_

Date: 10-23-02 14:43

Subject: Problems with memo field




I am having the same problem with a memo field, the exact length of the
field now is 2048. It seems to me that that length would be extremely
coincidental if it were not related to a kilobyte, as that is exactly two
kilobytes.

The problem is this data is *not* being pulled from any source document,
such as MS Word or a text file of any kind. These are notes left in specific
customer orders, and the specific customer order having this problem has
been having issues for months, allowing the order notes field to become this
large.

In my opinion, if a memo field is said to be able to handle up to 64,000
characters as posted previously in this thread, then it *should* be doing
exactly that. Office is to far along to be handicapping developers in this
manner, so I will be looking into this issue a bit more to attempt to find a
better resolution than revamping a major part of my frontend.

edit post









From: Emmet

Date: 10-24-02 17:15

Subject:




Please do me the favor of posting any solutions here, and I will do the
same--though I have postponed the search for a solution for the time being
because of more pressing matters.



I did do two things, however: First, I counted the characters in the memo
field, and I discovered that I start to have this problem when the number of
characters in the memo field reaches 1037 (where have I seen that number
before?).



Second, I also created a brand-new database in Access 2002 with which to
experiment:



In this brand new databasee, I created just one table with only 2 fields: A
key ID Counter/autonumber field and a memo field.



I then made only two forms, both identical, each form having the same lone
table as their record source, and with a text box control on each form,
having the same (and only) memo field as their control source.



And sure enough--the same problem happens. So now I know it's NOT because of
some other code or something in my real database!



(And if I remember correctly, I also was able to duplicate the same error in
Access' own Northwind Sample database!)



Any thoughts? Anyone?

edit post









From: jadger

Date: 01-21-03 18:11

Subject: Memo field error




I have a similar problem. My problem originated as a problem with updating a
memo field when the text was longer than 512 characters. I think that I have
found that the source of this problem is in the way that Access handles
references to fields with the syntax of Forms!<<FormName>>!<<FieldName>>. It
seems that these references are passed as strings which are limited to 512
characters.



My attempt at a work-around focused on the face that references to such
fields do not seem to have the same limits in MS VB. I updated the fields
successfully using the following syntax:



Dim NewText

Dim sSQL



NewText = Forms!ChangeMemo!Text

sSQL = "UPDATE tblMemo SET [Text] = "" " & NewText & " "" ; "

DoCmd.RunSQL (sSQL)



This worked in my test application, but when I incorporated it into my real
application I either get the "Could not update, currently locked by another
session on this machine" error message or a dialouge that says, "Another
user has edited this record" and gived me the choices of copying to the
clipboard, saving my information, or discarding my information.



I think that the issue with the error messages is that the DB engine is
recognizing my VB SQL statement and the bound form that I have open as 2
different users whose writes are conflicting.



Does anyone know what is going on here?
 
I have had a little bit of success with this issue just now...

It seems the problem is with the field in the table (back-end), rather than an inappropriate programming technique.

All I did was create a new field in the table i.e. Notes1. Then, run an update query to transfer all data from Notes (the original field) to Notes1. Then, delete the old field (Notes). When I tried to then change the name of the new field back to the original name, the problem returned! Maybe MSAccess internal reference's have an issue with this name once it becomes corrupted (I don't claim to know much about the smoke and mirrors of MS Access's internal workings).

Obviously, this is not an ideal solution as you will have to now patch up your front end in all places the old field was referenced. I haven't got much option though seeing as no alternative solution is apparent.

I should also note that I have no idea how long this solution will work as there is potential for the new memo field to become corrupt in the same way as the old one.

Hope I've been of some help to someone.
 
Back
Top