2010-08-18 2 views
3

INSERT 쿼리를 수행 할 때 TSQL ROW_NUMBER() 함수의 동작을 모방하는 Access에서 수행 할 수있는 작업이 있습니까?SQL ROW_NUMBER()에 해당하는 함수 또는 표현식에 액세스 하시겠습니까?

+0

INSERT 중에 원하십니까? –

+0

Yessir. 지금까지 count()를 선택하는 하위 쿼리 작성과 관련된 답변을 봅니다. 대상 테이블에서 선택하므로 INSERT 내에서 작동하는지 확실하지 않습니다 - Access가 순차적으로 INSERT를 수행합니까 (한 번에 한 행 씩)? – NateJ

답변

0

쿼리 내에서 레코드 순위를 매기는 당신이 정말로에서 작업하는 경우 즉 액세스, 단지 사용하지 않는 Access 데이터베이스)

Option Compare Database 
Dim rn As Long 

Function ResetRownumber() As String 
    rn = 0 
    ResetRownumber = "OK" 
End Function 
Function RowNumber(dummyID As Integer) As Long 
    If (dummyID > 0) Then 
     rn = rn + 1 
     RowNumber = rn 
    End If 
End Function 

당신이 당신의 쿼리 그리고 일을 시작하기 전에 당신은 ResetRownumber()를 호출 ko

SELECT RowNumber(anyfield) AS RowNum, OtherField FROM SomeTable 

이것은 당신에게 rownumber를 줄 것입니다. 선택한 필드 이름 중 하나를 전달하는 것은 선택 사항이 아닙니다. 그렇지 않으면 VBA 함수는 모든 행이 아닌 한 번만 호출됩니다. 경고 : 선택한 모든 행에 대해 VBA 코드를 호출하여 쿼리 속도가 크게 느려지므로 제한된 수의 레코드에서만 사용하십시오.

관련 문제