2016-11-22 1 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 내부 환경의 코드화가 스크립트 도구와 다를 가능성이 있습니다. 또한 데이터베이스가 currentone과 다른 코드화로 작성되었을 수도 있습니다. 그래서, 당신이 올바른 것을 얻을 때까지 현재의 목록 화법을 바꿀 것을 제안합니다. – JCalcines

+0

어떻게 할 수 있습니까? –

답변

2

, 당신은 UTF-8 인코딩을 사용하도록했습니다.

CREATE DATABASE "myDataBase" 
ENCODING = 'UTF8'; 

나는 삽입 요청을 시도하고 그것은 작업의 :

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

내 테이블과 필드 이름은 아라비아어 데이터가 아닙니다 .... 포함되어 있습니다. 또한 SQL Server가 아닌 Microsoft Access에서 작업하고 있습니다.이 VBA 코드 –

+0

에이 SQL 문을 쓰면 아무런 문제가 없습니다. 따옴표 사이에 표의 이름을 넣으십시오. => "قاعدة" – bilelovitch

+0

아마도 이것은 데이터 정렬 문제입니다. 이 명령을 사용하십시오 : ALTER DATABASE (여기에 데이터베이스 이름) COLLATE Arabic_CI_AS; src : https://msdn.microsoft.com/en-us/library/ff929080.aspx – bilelovitch

1

가장 간단한 해결 방법은 영어 이름 (라틴 문자)에 일시적으로 필드 이름을 이름을 변경하는 것입니다.

필드 이름에 비 라틴어 이름을 사용하지 마십시오.

+0

아뇨 .. 데이터베이스가 전혀 없습니다 .... 다른 해결책이 없습니까? –

+0

내 경험에 비추어 볼 때, 나는 항상 그것을 피했습니다. 아랍어로 레이블 (캡션)을 표시하려고 시도합니다. 그래서 데이터베이스 계층 대신 표현 계층에서. 열의 "Caption"속성을 사용하여 아랍어로 캡션을 표시 할 수 있지만 필드 이름은 여전히 ​​라틴어입니다. 정확히 무엇을 의미하는지 알기 위해이 스크린 샷을 확인하십시오. http://prntscr.com/dapc8e – Peshmerge

+0

감사합니다. , 그게 내가 한 짓 ... 지금은 잘 작동 –

관련 문제