희망 사항 - INSERT 후 마지막 ID를 가져 오는 데 문제가 있습니다.VBA + SQL Server - 마지막 ID 삽입 됨
그래서 환경 - 액세스 2016, SQL Server와 나는 논문이 선언 한 VBA
Dim db As DAO.Database
Dim RS As New ADODB.Recordset
Dim sql As String
하고 개인 서브.
sql = "SELECT @@IDENTITY As IDT"
RS.Open sql, CurrentProject.Connection, adOpenStatic, adLockReadOnly
IDT = RS!IDT
을하지만 그 날 "0"결과로 제공합니다
Private Sub CreateOrderHeader()
Dim CustomerID As Integer
Dim OrderDate As String
Dim OrderStatus As String
Dim OrderValue As Double
Dim OrderNotes As String
Dim OrderPostageID As String
Dim OrderAddressID As String
Dim OrderBatchID As Integer
Dim OrderPayment As String
Dim OrderCourierID As String
Dim OrderAgentID As Integer
Dim OrderOutstanding As Double
CustomerID = tbxCusID
OrderDate = Format(Now)
OrderStatus = "InProcess"
OrderValue = txtTotal.value
OrderNotes = tbxNotes.value
OrderPostageID = txtPostage.Column(0)
If tbxCustomerAddress = tbxDeliveryAddress Then
OrderAddressID = 3 'default customers address
Else
'NEED TO GET CUSTOMER ADDRESS TO DO
End If
OrderBatchID = cmbBatch.Column(0)
OrderPayment = sPayMethod
OrderCourierID = cbxShipping.Column(0)
OrderAgentID = 0
OrderOutstanding = txtTotal.value
Dim testvar As String
sql = "INSERT INTO dbo_OrderHeader " _
& "(OrdCusID, OrdDate, OrdStatus, OrdValue, OrdNotes, OrdPostageID, OrdDelAddID,OrdBatchID,OrdPaymentMethod, OrdCourierID,ordAgentID, OrdOutstanding,OrdSource) " _
& " VALUES ('" & CustomerID & "' ,'" & OrderDate & "', '" & OrderStatus & "', '" & OrderValue & "', '" & OrderNotes & "', '" & OrderPostageID & "','" & OrderAddressID & "','" & OrderBatchID & "','" & OrderPayment & "','" & OrderCourierID & "','" & OrderAgentID & "','" & OrderOutstanding & "', 1)"
DoCmd.RunSQL (sql)
sql = "SELECT @@IDENTITY As IDT"
RS.Open sql, CurrentProject.Connection, adOpenStatic, adLockReadOnly
IDT = RS!IDT
MsgBox ("Succes - OrderHeader" & " '" & IDT & "' ")
End Sub
는이 코드에서 결과를 기다리고 있었다.
도움을 주실 수 있습니까?
감사
아마 관련이 답변에 포함 된 액세스 특정 링크를 참조하십시오 : https://stackoverflow.com/a/186563/84206 – AaronLS
나는 SQL 주입과 함께 볼 수있는 가능한 문제를 방지하기 위해 저장 프로 시저를 권장합니다. proc은 삽입 작업을 수행 할 수 있으며 ID를 제공하는 출력 매개 변수를 가질 수 있습니다. – Ctznkane525
감사합니다. 확인해야 할 것입니다. Store Procedures에 익숙하지 않습니다. – Azmodan