2012-05-04 4 views
2

Access 97 데이터베이스와 Jet 3.5를 데이터베이스 엔진으로 사용하는 이전 Visual Basic 5 응용 프로그램을 사용자 지정하려는 고객이 있습니다.구문 오류가 발생하는 ALTER TABLE 문의 DEFAULT 절

원하는 사용자 지정은 열을 기존 테이블에 추가해야합니다. 다음은 정상적으로 작동합니다.

strSQL = "ALTER TABLE Users ADD COLUMN Status BYTE" 
pdbDatabase.Execute strSQL 

그러나 새 열에 대해 기본값 (0 또는 1)을 설정하고 싶습니다.

strSQL = "ALTER TABLE Users ADD COLUMN Status BYTE DEFAULT 1" 

그러나, 나는, 내용의 오류에있는 모든 결과

이 문제는 연구에서 ' "ALTER TABLE 문에 구문 오류 (3293)을."나는 다음과 변형의 숫자를 시도했다 Access 97 및 Jet 3.5의 구식 구성에서 지원되지 않는 DEFAULT 절을 생략 한 일부 정보를 보았습니다.

아무에게도이를 확인하거나 올바른 방향으로 나를 알려 주면이 기능을 사용할 수 있습니까?

도움 주셔서 감사합니다.

+1

제곱 3.5/Access 97에 절이 없었습니다. – RThomas

답변

1

Access 97/Jet 3.5 SQL 설명서 ALTER TABLE 또는 CREATE TABLE 문을 설명 할 때 DEFAULT 절에 대한 언급이 없습니다. 그것은 제트 4.0의 새로운 기능으로 여기에 : http://support.microsoft.com/kb/275561

내가 알고있는 유일한 방법은 기본값을 설정하는 것입니다 gui에서 테이블 디자인을 열고 다음 필드 속성 아래에 기본값을 입력하는 것입니다 . Access 97 설치에 액세스 할 수 있습니까?

VB/VBA를 사용하면 SQL을 사용하지 않고 필드의 기본값 속성에 액세스하여 설정하거나 수정할 수 있습니다.

+0

각 사용자 컴퓨터의 데이터베이스가 업데이트되도록 코드를 통해 수행해야합니다. 비록 내가 이것을 생각하고있을 때, 그것이 실제로 작동하더라도, 그것이 정말로 필요한 것을 할 지 확신하지 못합니다. 필요한 모든 기존 레코드를 새 열의 원하는 기본값으로 업데이트해야합니다. 그래서 모든 레코드를 반복하고 그 값을 쓰는 코드를 작성해야 할 수도 있습니다. – user1373826

+0

그래, 제트 4.0의 기본 설정조차도 이미 존재하는 레코드는 업데이트하지 않습니다. 미안 나는 더 나은 대답을하지 않았다 :). – RThomas

+1

@ user1373826 SQL UPDATE Users SET Status = 1을 통해 레코드를 업데이트하십시오. – MarkJ

4

DAO 개체를 사용하여이 작업을 수행 할 수 있습니다. 또한

, Microsoft Access에서 특정 속성의 특정 유형의 이러한 필드의 ValidationRule과의 DefaultValue 속성 만 Microsoft Access 사용자 인터페이스를 통해 또는 설정할 수 있습니다와 같은 :

Microsoft는 수정 Access 테이블에 대해이 말한다 코드에서 DAO를 통해.

아래 링크에서 자세한 내용을 볼 수 있습니다. DefaultValue 속성을 사용하여 구체적으로 표시되는 위치를 보지 못했지만 예제가 있습니다. http://technet.microsoft.com/en-us/library/cc966376.aspx

관련 문제