동일한 재고 항목을 판매 테이블에 추가하는 프로세스의 속도를 높이려고합니다. 추가 할 각 레코드에 대해 데이터가 동일합니다. 나는 7 개의 들판이있는 언 바운드 형식을 가지고있다. 구매 날짜 (날짜), 항목 크기 (텍스트), 설명 (텍스트), 판매자 이름 (텍스트), 조건 (텍스트) 및 유료 가격 (통화). 추가 할 레코드 수를 나타내는 숫자가있는 8 번째 필드가 있습니다. 즉, 50 개의 재고 항목이 추가됩니다.MSACCESS 양식 txt 및 cbo 상자의 표에 레코드 추가
추가 쿼리를 사용하여이 작업을 수행하려고했습니다. 추가 쿼리를 실행하는 폼에 cmd 단추가 있습니다.
지금 추가 쿼리에 두 필드 만 추가했습니다. 쿼리를 실행하면 하나 대신 두 개의 레코드가 추가됩니다! 왜? 그리고 날짜를 추가하려고하지 않았습니다. 날짜는 대개 문제입니다.
나는 stackoverlow에서 읽은 다른 질문에 따라이 방법을 사용하고 있었지만 이것이 필요한 방식으로 작동하지 않을 것이라고 생각하지 않습니다. 궁극적으로 버튼을 클릭하면 8 번째 필드의 숫자 인 경우 레코드 수를 더하고 싶습니다 (예 : 50).
가장 좋은 방법은 무엇입니까? 다음은 처음 두 필드를 사용하는 추가 쿼리의 sql입니다.
감사
INSERT INTO tblSale (BookID, BookCoverType)
SELECT tblSale.BookID,
tblSale.BookCoverType
FROM tblSale
WHERE tblSale.BookID = [forms]![FrmAddKawekaStock]![txtBookID] AND
tblSale.BookCoverType) = [forms]![FrmAddKawekaStock]![cboKaweka]
최종 결과는 다음과 같다.
Private Sub cmdAddStockver2_Click()
On Error GoTo errorhandler
Dim sql As String
Dim rs As DAO.Recordset
Dim intx As Integer
Dim intz As Integer
intz = Forms!frmaddkawekastock!txtQuantityToAdd
sql = "tblSale"
Set rs = CurrentDb.OpenRecordset(sql)
MsgBox " adding the record to rs"
For intx = 1 To intz
With rs
.AddNew
.Fields!BookID = Forms!frmaddkawekastock!txtBookID
.Fields!bookPurchaseDate = Forms!frmaddkawekastock!txtPurchaseDate
.Fields![Book Size] = Forms!frmaddkawekastock!cboSize
.Fields!BookCoverType = Forms!frmaddkawekastock!cboKaweka
.Fields!Seller = Forms!frmaddkawekastock!cboSellerName
.Fields!BookCondition = Forms!frmaddkawekastock!txtCondition
.Fields!BookPaid = Forms!frmaddkawekastock!txtPaidPrice
.Update
End With
MsgBox "Loop done and record added, next loop"
Next intx
rs.Close
Set rs = Nothing
MsgBox "Completed sucessfully"
ExitSub:
Exit Sub
errorhandler:
MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description
Resume ExitSub
End Sub
모든 데이터를 하나의 UPDATE 문에 추가해야합니다. 'SELECT'가 하나 이상의 레코드를 반환하기 때문에 하나 이상의 레코드를 얻는 이유가 있습니다. 단일 레코드가 실제로 삽입 될 것으로 예상되는 경우이를 제한하십시오. –
제가 이해한다면, 판매 테이블에 품목 50 개 판매를 추가하려면 수량 50 인 레코드 하나 대신 실제로 50 개의 개별 레코드를 추가하십시오. 맞습니까? – SunKnight0
왜 그렇게 많은 레코드를 추가합니까? – Brad