2016-11-22 17 views
0

私はアクセスしているデータベースで作業しています。ボタンをクリックすると、フォームからテーブルにデータを挿入する必要があります。ここに私のコードはありますが、うまくいきませんでした。私のフィールド名はアラビア語であり、動作しませんでした。

アラビア語のフィールド名に問題はありますか?

Dim strInsert As String 
Dim db As DAO.Database 


strInsert = "INSERT INTO ÇáÍÖæÑ æ ÇáÇäÕÑÇÝ [(ÑÞã ÇáãáÝ )] values ('" & fileNO.Value & "');" 

Debug.Print strInsert 

db.Execute strInsert 

Set db = Nothing 

注:データベースを作成するときに、未定義の文字はアラビアとはproblemeはありませんアラビア語名

+0

Access内部環境のコード化は、スクリプトツールとは異なる可能性があります。また、データベースが現在のものとは異なるコード化で作成された可能性もあります。ですから、あなたが正しいものを得るまで、現在の体系化を変更することをお勧めします。 – JCalcines

+0

どうすればいいですか? –

答えて

2

で、あなただけのUTF-8エンコーディングを使用するようにしました。

CREATE DATABASE "myDataBase" 
ENCODING = 'UTF8'; 

私は挿入要求を試みたし、それが仕事だ:

INSERT INTO test(id, data) VALUES (8888, 'أحمد'); 
+0

私のテーブルとフィールド名は、アラビア語ではなく、データが含まれています....また、私はMicrosoft AccessでSQLサーバーではない....とこのSQLステートメントを私はVBAコードで書く –

+0

問題はありません引用符の間に表の名前を置くだけです=> "قاعدة" – bilelovitch

+0

おそらく、これは照合の問題です。次のコマンドを使用します。ALTER DATABASE(データベース名はここにあります)COLLATE Arabic_CI_AS; src:https://msdn.microsoft.com/en-us/library/ff929080.aspx – bilelovitch

1

最も簡単な解決策は、英語名(ラテン文字)に一時的に自分のフィールド名を変更することです。

フィールド名にラテン文字以外の名前を使用しないでください。

+0

ああ、データベースにはまったく...他の解決策はありませんか? –

+0

私は自分の経験に基づいています。私はいつもそれを避けています。アラビア語でラベル(キャプション)プレゼンテーション層ではなく、データベース層。フィールド名はまだラテン チェックこのスクリーンショットは知っている間 あなたは、私が正確に何を意味するかアラビア語でキャプションを表示できるように列の「キャプション」プロパティを使用することができます。 http://prntscr.com/dapc8e – Peshmerge

+0

感謝をそれは私がやったこと...今それはうまく動作します –

関連する問題