> As I mentioned previously if I delete some columns the problem disappears -
> can you perhaps clarify exactly what the error message is referring to.

Each row of data in a table is limited to 4K (4096 bytes).  Row sizes can grow
and shrink because note data is stored as part of the row.  Since a note field
itself can be up to 4096 characters, then a note field in a "wide" table (that
is, with lots of columns) or, especially, multiple note fields in a row could
cause you to approach the limit.

Be aware, that when you edit a row (I'm not sure if you have to edit the actual
note field or not) extra padding space (10%, by default) is added to the note
field.  So the effect of an edit can be to add more characters to the row that
you think.

If you make a change that takes a row over the specified limit, R:Base is
_supposed_ to give you the message you are reporting and fail to make the
update.  However, it may be that there is a problem with row sizes around the
boundary which, in addition to the message, are also giving you the access
violation.

If this is the case, try to find if there are any "wide" rows (large note field
values).  If so, you may have found the problem.  In this case, send a copy of
the database to RBTI and they will fix the A/V problem.

You're still left with the problem of how to structure the table so it works. 
I would look carefully at your table structure because if you have a lot of
columns it is sometimes an indicator of a bad (not fully normalized) database
design.

If you can't reduce table width by refactoring the database design, consider
redefining your note fields to be Varchars, which are not limited in size
(although they are in usefullness -- you cannot use them in function calls or
expressions).  In particular, if you have any Note fields storing formatted
(RTF) text, change them to Varchars -- RTF text contains a lot more characters
than just the ones you type.
--
Larry

Reply via email to