문제

MS Access 2003에서 테이블 열을 세트로 정의 할 수 있는지 확인하거나 거부하려고합니다. 이건 것 같습니다 ~이다 Office 2007에서 구현 - 쿼리/조회에 '다중 선택 목록'을 갖도록 열을 정의 할 수 있지만이 기능은 결정할 수있는 한 New Access 2007 파일 형식에 고유 한 것으로 보입니다.

또 다른 방법으로, MS Access 2003은 SQL 문과 동일합니다.

CREATE TABLE mytable (foo VARCHAR(10), bar VARCHAR(5) MULTISET); 

아니면 비슷한 것을 달성하기위한 영리한 해결 방법이 있습니까? Access 2003의 모든 수집 생성자에 대한 정보를 제공하는 답변을 수락합니다.

도움이 되었습니까?

해결책

액세스 데이터베이스 엔진을 언급하고 있습니까? 다중 데이터 유형? 그렇다면 예, 이들은 Engine의 ACE (2007) 버전에 새로운 것이며 Jet 4.0은 Access2003의 엔진 버전으로 사용할 수 없습니다.

FWIW ANSI-92 쿼리 모드 (OLE DB, ENGINE TYPE = 5)를 사용하여 Access2007에서 SQL을 시도했으며 Multiset 키워드는 인식되지 않았습니다.

참고 다중 유형이 필요하지 않거나 원하지 않을 수 있습니다. 한 가지 특별한 비판은 액세스 데이터베이스 SQL DML Expressions 서비스가 다중 발행 유형을 고려하도록 변경되지 않았다는 것입니다. 또한이 기사를 참조하십시오 다중 데이터 유형은 유해한 것으로 간주됩니다:

Suraj [Poozhiyil, MS Access Program Manager]와 개발자가 다중 값 필드를 사용할 필요가 없다는 사실에 전적으로 동의합니다. 데이터베이스를 이해하는 사람들은 이미 많은 관계를 구현할 수있는 좋은 방법을 가지고 있으며 다중 값 필드로부터 혜택을 얻지 못할 것입니다.

따라서 개발자에게 명확하고 확실한 조언은 다중 값 필드를 사용하지 않는 것입니다. 그들은 잠재적 인 고통을 제외하고 우리에게 제공 할 것이 없습니다.

업데이트:

멀티 셋 공식적으로 SQL : 2003으로 시작하는 새로운 데이터 유형이므로 Access 2007에 추가 한 이유 중 일부는 SQL 표준을 완전히 준수해야합니다.

거의 재미 있습니다. 액세스 팀은 모든 SQL 표준을 준수하는 SQL 구문 추가에 관심이 없었습니다.

SQL Server 팀이 4.0 릴리스를 위해 제트기를 수정할 때 SQL-92 준수를 달성하고 싶었지만 구성 요소가 비준수에 남아있는 일부 기능에 의존하는 Windows 팀의 수행을 방지했습니다. 그러나 또 다른 스토리입니다. 액세스 팀에는 자체 개인의 코드 기반이 있으므로 그러한 변명이 없습니다 ... SharePoint 팀이 과도한 영향을 미치지 않는 한? 나는 속임수 ...

SQL2003 표준에 대한 문서 에서이 견적을 고려하십시오.

a의 값 MULTISET 유형은 개별 요소를 열거하거나 쿼리 표현식을 통해 요소를 공급하여 만들 수 있습니다. 예,

MULTISET[1, 2, 3, 4]

또는

MULTISET( SELECT grades FROM courses )

... 반대로, 멀티 세트 값은 FROM사용 조항 UNNEST 운영자.

액세스 팀은 ACE SQL DML 구문에 새로운 표현이나 운영자를 추가하지 않았습니다. 따라서 이것은 SQL 표준과 SharePoint와 관련이 없습니다.

David W. Fenton : 아니요, [다중 자료 유형에 대한 지원]은 ACCDB 형식으로 추가되었습니다 (@onedaywhen When

이 인용문을 고려하십시오 액세스 팀의 자체 블로그:

새로운 액세스 엔진에 추가 한 주요 기능은 "복잡한 데이터"를 지원하는 것입니다.

확실히 엔진 기능입니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top