Reputation: 165
I have the following code to move product information from a sales quote to a lease qualification form. The products go to a subform which is in datasheet view, however, each row in the recordset just updates the first row of the subform.
sql = "SELECT ProdID, ProdQty, ProdPrice FROM ProductsQuoted WHERE quoteID = " & quoteeID
Set db = CurrentDb
Set rs = CurrentDb.OpenRecordset(sql)
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF
[Forms]![Qualification]![QualificationDetails]![Item] = rs.Fields("ProdID").Value
[Forms]![Qualification]![QualificationDetails]![Qty] = rs.Fields("ProdQty").Value
[Forms]![Qualification]![QualificationDetails]![Price] = rs.Fields("ProdPrice").Value
rs.MoveNext
Loop
End If
How can I have each record in the dataset update a new row on the subform?
Upvotes: 0
Views: 619
Reputation: 165
Okay, I was able to use DoCmd.GoToRecord,, acNewRec and meet my need.
sql = "SELECT ProdID, ProdQty, ProdPrice FROM ProductsQuoted WHERE quoteID = " & quoteeID
Set db = CurrentDb
Set rs = db.OpenRecordset(sql)
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF
Debug.Print rs.Fields("ProdID") & ", " & rs.Fields("ProdQty") & ", " & rs.Fields("ProdPrice")
QualificationDetails.SetFocus
QualificationDetails!Item.SetFocus
DoCmd.GoToRecord , , acNewRec
[Forms]![Qualification]![QualificationDetails]![Item] = rs.Fields("ProdID").Value
[Forms]![Qualification]![QualificationDetails]![Qty] = rs.Fields("ProdQty").Value
[Forms]![Qualification]![QualificationDetails]![Price] = rs.Fields("ProdPrice").Value
rs.MoveNext
Loop
End If
Upvotes: 1