ACC: Concatenation of Memo Fields Creates Text Field (92892)



The information in this article applies to:

  • Microsoft Access 1.0
  • Microsoft Access 1.1
  • Microsoft Access 2.0
  • Microsoft Access for Windows 95 7.0
  • Microsoft Access 97

This article was previously published under Q92892
Moderate: Requires basic macro, coding, and interoperability skills.

SYMPTOMS

When you use a make-table query to concatenate two Memo fields, the query concatenates the Memo fields into a Text field in the resulting table. If you have more than 255 characters combined in the two Memo fields, the data is truncated in the new Text field.

CAUSE

Text fields have a limit of 255 characters; Memo fields can contain up to 32,000 characters in Microsoft Access 1.x, and up to 64,000 characters in Microsoft Access 2.0 or later.

RESOLUTION

To work around this behavior, use an append query on an existing table with a Memo field and concatenate the two Memo fields into the existing Memo field. For example:
  1. Create a table with two Memo fields:
          Table: OldTable
          ------------------
          Field Name: Memo1
             Data Type: Memo
          Field Name: Memo2
             Data Type: Memo
    						
  2. Create a table with one Memo field:
          Table: ExistingTable
          -------------------------
          Field Name: ExistingField
             Data Type: Memo
    						
  3. Create the following new query based on the OldTable table:
          Query: TestMemo
          ------------------------------
          Type: Select Query
    
          Field: Concat: [Memo1]&[Memo2]
             Table: OldTable
    						
  4. On the Query menu, click Append Query (or Append in Microsoft Access 7.0 or earlier). Type ExistingTable in the Table Name box.
  5. In the Append To row of the QBE grid, select ExistingField.
  6. Run the query.

MORE INFORMATION

Steps To Reproduce Behavior


  1. Perform steps 1 and 3 in the Resolution section of this article.
  2. Open the TestMemo query in Design view.
  3. On the query menu, click Make Table Query (or Make Table in Microsoft Access 7.0 or earlier). Type NewTable in the Table Name box.
  4. Run the query and note that the NewTable table contains a Text field called Concat with a field size of 255 characters.

Modification Type:MajorLast Reviewed:5/9/2003
Keywords:kbprb kbusage KB92892