2009-12-07 6 views

답변

7

없음. 첫 번째 것은 실제로 '쿼리'가 아닙니다. Data Definition Language

+1

동의하지만이 '쿼리'사용법은 Access 문서에서 특히 UPDATE DML 문을 의미하는 'update query'와 DELETE DML 문 ('action query'를 총칭하는 'delete query' 또한 Access 데이터베이스 엔진에서 SQL을 유지하면 결과 개체가 UI의 '쿼리'탭에 나타납니다. – onedaywhen

+0

이것은 Access의 용어입니다. 당신은 그것을 좋아할 필요가 없지만 SQL 헤드가 아닌 사람들이 이해하기 쉽게 UI에 객체를 표시하는 방식입니다. 이런 식으로 용어를 사용하려는 MS의 결정 (SQL 92가 나오기 전인 90 년대 초에 만들어진)에 동의하지 않을 수도 있지만 액세스 사용자가 귀하 (또는 다른 사람)에게 매번 기회. 사람들이 당신에게 물어 보는 구별이 그들에게 거의 쓸모가 없기 때문에 사람들은 당신을 조율 할 것입니다. –

+0

@ David W. Fenton : 당신이 저를 공격하거나이 '퀴블링'응답에 찬성표를 던진 다른 사람들을 6 명 (그리고 세는 사람)으로 공격 했습니까? ;) 내가 쓴 것을 다시 읽어 보면 내가 OP의 수비에 온다는 것을 알 수있다. – onedaywhen

0

계산 된 기본값을 추가하려면 PROCEDURE 도움말을 만들 수 있습니다. 예 : (ANSI-92 Query Mode 액세스 데이터베이스 엔진 SQL 구문) :

CREATE PROCEDURE CreateTableAThing 
(
arg_my_key_column CHAR(10), 
arg_call_date DATETIME 
) 
AS 
INSERT INTO tableA (my_key_column, call_date, datam) 
SELECT arg_my_key_column, arg_call_date, DATEDIFF('m', [arg_call_date], #2009-12-01 00:00:00#) 
    FROM MyOneRowAuxilliaryTable; 

또한 기본을 유지하기 위해 아마도 다시 UPDATE위한 도우미 기능을 만들 수 있습니다.

그런 다음 테이블에서 INSERT/UPDATE 권한을 제거하여 모든 응용 프로그램과 사용자가 도우미 procs를 통해 강제로 기본값이 올바르게 적용되도록 할 수 있습니다.

+0

그것은 SQL이 아닌 MS Access 용입니다. 우리는 모두 같은 실수를하고 있습니다 ... – gbn

+0

SQL 92 모드에서 Access는 @ onedaywhen 's SQL을 excecute합니다. 그는 자신의 글에서 SQL 92 모드에 대한 요구 사항을 지적 했어야 만했지만, 경험상 Access에서 실행되지 않는 SQL을 게시 한 사람은 아닙니다. –

+0

@gbn "SQL이 아닙니다"- 물론 SQL : Access 데이터베이스 엔진 ANSI-92 쿼리 모드 SQL DDL이지만 여전히 SQL입니다. – onedaywhen

0

쿼리를 실행하는 매크로를 고려해 보셨습니까? 자세한 내용은 http://office.microsoft.com/en-us/access-help/runsql-macro-action-HA001226285.aspx을 참조하십시오.

+0

DoCmd.RunSQL (및 해당 매크로 동작)은 기본적으로 일치하지 않는 업데이트가 있으므로 문제가 많습니다. 또한 프롬프트는 일반적으로 원하지 않는 프롬프트를 생성하고 일반적으로 해제되어 결과적으로 어떤 데이터가 업데이트되었는지 알 수 없습니다. SQL을 실행하는 것이 다른 방법보다 CurrentDB.Execute로 훨씬 더 효과적입니다. –

+0

@ David-W-Fenton 일치하지 않는 업데이트가 실제로 여기에서 문제가됩니까? 업데이트 된 필드는 소스 값이 같은 테이블의 정수로 나타납니다. 또한 SetWarnings을 사용하여 매크로 내부에서 동작 프롬프트를 켜고 끌 수 있습니다. 나는 VBA와 함께 가고 싶다면 좀 더 견고한 솔루션을 얻을 수 있다고 동의하지만, 매크로 역시 그들의 자리를 차지한다고 생각한다. –

+0

나는 매크로가 오류 액세스 및 전체 논리 흐름이있는 최신 버전의 Access를 제외하고는 심각한 Access 응용 프로그램에서 NO PLACE를 가지고 있다고 생각합니다. 일치하지 않는 업데이트에 관해서는 문제는 업데이트 된 내용과 그렇지 않은 내용을 알 수 없기 때문에 위험합니다. 기본적으로 일관성없는 업데이트 후에 어떤 상태인지 알지 못하기 때문에 데이터가 손상됩니다. –

관련 문제