2012-01-19 2 views
0

나는 액세스 권한이 있으며 자동 증가 필드도 필요합니다. 테이블에 물리적으로 추가 할 수는 없습니다. 내가 저장 한 쿼리에서 나는 INC : incfun(1) < --This라는 디자인 모드에서 열을 만들어 내 함수를 호출하는 방법입니다 : 내가 제기 inc : incfun(1)액세스 쿼리에 자동으로 증가 된 필드를 생성하십시오.

편집에 함수를 만들려고. 데이터를 INC 열로 출력합니다.

다음은 module1 스크립트 파일에 대한 내 기능입니다.

Dim inc As Integer 
Option Compare Database 

Function incfun(num As Integer) '1 is first passed to function as 1 
inc = num + 1 '1 added to global variable inc 
incfun = inc 'inc value passed back to output of function. 
End Function 

EDIT : 데이터 시트를 새로 고칠 때마다 1 씩 증가하지만 자동 증가로 인해 모든 행이 삭제되지 않습니다. 어쨌든이 작품을 만들 수 있습니까?

+0

테이블 및 retuen하고자하는 데이터에 따라, 기능이없는이 작업을 수행하는 것이 가능하다. 샘플 데이터를 게시해야합니다. 생성 된 행 번호는 제한된 용도로 사용됩니다. – Fionnuala

+0

해결 방법이 있지만 쿼리에 고유 한 필드가 있어야합니다. 이 경우인가요? –

답변

0

이런 식으로하고 있습니까? 이러한 호출

inc = incfun(1) 
inc = incfun(1) 

두 매개 변수에 동일한 INC를 설정 (값 = 1)에 상관없이 당신이 그것을 호출 횟수 + 1 inc = incfun(1) 항상 2

inc을 설정합니다 어느 inc = inc + 1를 사용하는 I 더 쉬운 해결책이라고 생각했을 것입니다.

이상에서 함수의 본문을 대체 :이 오래 알고 있지만, 나뿐만 아니라 이런 일을하려고하고 있었고, 난 내 기능 만 내가 넣을 때 한 번 호출되었음을 발견

inc = inc + n 
incfun = inc 
+0

Doest가 작동하는 것 같습니다. 그냥 2 또는 1에 머물러 있습니다. 자동 증가가 없습니다. – tdjfdjdj

+1

이 기능을 사용하는 코드를 질문에 추가하십시오. 두 가지 제안 모두 원래 코드에서 사용하지 않은 전역 변수 인 'inc'를 증가시킵니다. –

+0

새로 고칠 때마다 1 씩 증가하지만 자동 증가가 모든 행을 버렸다. – tdjfdjdj

0

아무런 주장도없이, 나는 정말로 어떤 것도 필요로하지 않았기 때문에. 값을 증가시키고 리턴하는 변수를 가질 필요가 있었지만 함수가 한 번만 호출 되었기 때문에 모든 행은 1이됩니다. 사용하지 않은 정수 인수를 추가 한 다음 이 테이블을 인수로 사용하면 각 행에 함수를 호출하여 원하는 결과를 얻을 수 있습니다.

희미한 Inc의 정수 옵션으로 정수 INC = INC으로 데이터베이스를

공공 기능 자동 증가 (Autoinc) (내가 한)을 비교 + 1 자동 증가 (Autoinc) = INC 종료 기능

그런 다음 테이블 만들기 쿼리한다.

지수 : 자동 증가 (Autoinc) (. sometable] [numericalfield])

관련 문제