Save cyrillic data to the SQL Server

S

Stephan Oetzel

Hi!

I've already posted some stuff on this topic a few weeks ago. I want to save
cyrillic data to a NVARCHAR field in SQL Server. But when I read from my
textfield in Access with the following code, I get the result written after
the code:

dim strText as String

strText = Me.TextBox;

The result is ???????? instead of cyrillic symbols. And when I try to pack
those question marks into the database, in the databse there are question
marks too. So it isn't a diyplay failure.

Has anybody any idea?

Greez, Stephan
 
S

Stephan Oetzel

Hi!

I'm using Access 2000 with Windows XP Prof. Font is Arial.
In the textbox, the symbols are displayed correctly, but
by reading the content from the box in the source code, I
only get question marks.

I hope, you can help me :).

Greez,

Stephan Oetzel
-----Original Message-----
Hi Stephen,

I'm not familiar with SQL Server but it looks as if this problem is
occuring in Access before SQL Server is involved. What versions of
Access and Windows are you using, and what font have you used for the
textbox that's displaying the cyrillic characters?



Hi!

I've already posted some stuff on this topic a few weeks ago. I want to save
cyrillic data to a NVARCHAR field in SQL Server. But when I read from my
textfield in Access with the following code, I get the result written after
the code:

dim strText as String

strText = Me.TextBox;

The result is ???????? instead of cyrillic symbols. And when I try to pack
those question marks into the database, in the databse there are question
marks too. So it isn't a diyplay failure.

Has anybody any idea?

Greez, Stephan

John Nurick [Microsoft Access MVP]

Please respond in the newgroup and not by email.
.
 
J

John Nurick

Hi Stephan,

This is caused by VBA's incomplete implementation of Unicode. Access
stores text as Unicode, but not all VBA operations are compatible with
strings containing characters beyond the first 255 positions in the
Unicode characterset (including the Cyrillic characters).

The problem is not the line
strText = Me.TextBox
itself, but what is done with strText afterwards.

For instance, if you put Cyrillic text in a textbox and do something
like this to put the contents on the clipboard

Dim S As String
Dim D As MSForms.DataObject

Set D = New MSForms.DataObject
S = CStr(Forms(0).Controls("txtNotes").Value)
Debug.Print S '<<<<<<<
D.SetText S
D.PutInClipboard
Set D = Nothing

the Debug.Print will produce a row of ????????? but if you paste into
another textbox or a Unicode-sensitive application such as Word, the
Cyrillic characters will come through OK.

As I said, I'm not familiar with SQL server. Is the NVARCHAR field
Unicode-aware? I hope that something here will help you solve the
problem.




Hi!

I'm using Access 2000 with Windows XP Prof. Font is Arial.
In the textbox, the symbols are displayed correctly, but
by reading the content from the box in the source code, I
only get question marks.

I hope, you can help me :).

Greez,

Stephan Oetzel
-----Original Message-----
Hi Stephen,

I'm not familiar with SQL Server but it looks as if this problem is
occuring in Access before SQL Server is involved. What versions of
Access and Windows are you using, and what font have you used for the
textbox that's displaying the cyrillic characters?



Hi!

I've already posted some stuff on this topic a few weeks ago. I want to save
cyrillic data to a NVARCHAR field in SQL Server. But when I read from my
textfield in Access with the following code, I get the result written after
the code:

dim strText as String

strText = Me.TextBox;

The result is ???????? instead of cyrillic symbols. And when I try to pack
those question marks into the database, in the databse there are question
marks too. So it isn't a diyplay failure.

Has anybody any idea?

Greez, Stephan

John Nurick [Microsoft Access MVP]

Please respond in the newgroup and not by email.
.

John Nurick [Microsoft Access MVP]

Please respond in the newgroup and not by email.
 
S

Stephan Oetzel

Hi !

Well, the NVARCHAR field is exclusively designed to be used with unicode.

But another question: What reference(s) do I have to bind to use the MSForms
component/object? I can't find the right one...

Greez, Stephan


John Nurick said:
Hi Stephan,

This is caused by VBA's incomplete implementation of Unicode. Access
stores text as Unicode, but not all VBA operations are compatible with
strings containing characters beyond the first 255 positions in the
Unicode characterset (including the Cyrillic characters).

The problem is not the line
strText = Me.TextBox
itself, but what is done with strText afterwards.

For instance, if you put Cyrillic text in a textbox and do something
like this to put the contents on the clipboard

Dim S As String
Dim D As MSForms.DataObject

Set D = New MSForms.DataObject
S = CStr(Forms(0).Controls("txtNotes").Value)
Debug.Print S '<<<<<<<
D.SetText S
D.PutInClipboard
Set D = Nothing

the Debug.Print will produce a row of ????????? but if you paste into
another textbox or a Unicode-sensitive application such as Word, the
Cyrillic characters will come through OK.

As I said, I'm not familiar with SQL server. Is the NVARCHAR field
Unicode-aware? I hope that something here will help you solve the
problem.




Hi!

I'm using Access 2000 with Windows XP Prof. Font is Arial.
In the textbox, the symbols are displayed correctly, but
by reading the content from the box in the source code, I
only get question marks.

I hope, you can help me :).

Greez,

Stephan Oetzel
-----Original Message-----
Hi Stephen,

I'm not familiar with SQL Server but it looks as if this problem is
occuring in Access before SQL Server is involved. What versions of
Access and Windows are you using, and what font have you used for the
textbox that's displaying the cyrillic characters?



On Fri, 27 Jun 2003 10:12:46 +0200, "Stephan Oetzel"

Hi!

I've already posted some stuff on this topic a few weeks ago. I want to save
cyrillic data to a NVARCHAR field in SQL Server. But when I read from my
textfield in Access with the following code, I get the result written after
the code:

dim strText as String

strText = Me.TextBox;

The result is ???????? instead of cyrillic symbols. And when I try to pack
those question marks into the database, in the databse there are question
marks too. So it isn't a diyplay failure.

Has anybody any idea?

Greez, Stephan


John Nurick [Microsoft Access MVP]

Please respond in the newgroup and not by email.
.

John Nurick [Microsoft Access MVP]

Please respond in the newgroup and not by email.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top