자동 전화 번호를 기본 키로 사용하는 JET 테이블이 있는데 행을 삽입 한 후이 번호를 검색 할 수있는 방법을 알고 싶습니다. MAX()를 사용하여 가장 높은 값을 가진 행을 검색하려고 생각했지만 이것이 얼마나 신뢰할 수 있을지 확신하지 못했습니다. 일부 샘플 코드 :마지막으로 삽입 된 행의 자동 번호 값 - MS Access/VBA
Dim query As String
Dim newRow As Integer
query = "INSERT INTO InvoiceNumbers (date) VALUES (" & NOW() & ");"
newRow = CurrentDb.Execute(query)
는 지금은 Execute()
기본 키의 값을 반환하지 않습니다 때문에이 작동하지 않을 것이라는 점을 알고있다, 그러나 이것은 기본적으로 내가 찾고 있어요 코드의 일종이다. 다른 테이블의 행 수를 업데이트하려면 새 행의 기본 키를 사용해야합니다.
가장 간단하고/가장 판독하기 쉬운 방법은 무엇입니까?
DAO도 @@ IDENTITY를 선택 할 수 있습니다 - 당신은 ADO를 필요로하지 않습니다. 난 항상 이렇게 : lngID = db.OpenRecordset ("SELECT @@ IDENTITY") (0), 여기서 "db"는 삽입을 실행하는 데 사용 된 동일한 데이터베이스 변수입니다. 더 이상 레코드 세트를 열지 않고 추가합니다. –