ACC2000: Char/Nchar and Varchar/Nvarchar Values Displayed Incorrectly in an Access Project
ID: Q244010
|
The information in this article applies to:
Moderate: Requires basic macro, coding, and interoperability skills.
This article applies only to a Microsoft Access project (.adp).
SYMPTOMS
When you view the contents of a char, nchar, varchar, or nvarchar column in an Access project that contains a value with more than 256 characters, the first 256 characters of the string are repeated, regardless of the contents of the whole column value. Characters after the 256th position are not displayed at all.
RESOLUTION
To work around this problem use the SQL Server text or ntext data type instead of char, nchar, varchar, or nvarchar.
STATUSMicrosoft has confirmed this to be a problem in the Microsoft products listed
at the beginning of this article.
MORE INFORMATIONSteps to Reproduce Behavior
- In an Access project connected to SQL Server or Microsoft Data Engine (MSDE), create the following table named TestTable:
Column Name |
Data Type |
Length |
Allow Nulls |
Identity |
Primary Key |
MyPk |
int |
4 |
No |
Yes |
Yes |
MyChar |
char |
1000 |
Yes |
No |
No |
MyText |
text |
16 |
Yes |
No |
No |
- Save the table.
- Open the newly created table in Datasheet view.
- Press ALT+F11 to start the Visual Basic Editor.
- Press CTRL+G to open the Immediate window.
- Type the following line of code in the Immediate window, and then press ENTER:
?string(100,"a") & string(100,"b") & string(100,"c") & string(100,"d")
This code produces a 400-character string containing 100 a's, followed by 100 b's, followed by 100 c's, followed by 100 d's.
- Highlight the entire 400-character string in the Immediate window to select it, and then on the Edit menu, click Copy to copy the string to the Clipboard.
- Close the Visual Basic Editor.
- Paste the string from the Clipboard into both the MyChar and MyText columns of the TestTable table.
- Click in the MyText column and press SHIFT+F2. Note that the string is displayed correctly in the Zoom box.
- Click OK to close the Zoom box.
- Click in the MyChar column, and then press SHIFT+F2. Note that after 256 characters (the 56th letter "c"), the string is repeated. No letter d's are ever displayed.
Additional query words:
pra
Keywords : kbdta AccessCS
Version : WINDOWS:2000
Platform : WINDOWS
Issue type : kbbug
|