如何将 DAO 记录集添加为数据表子表单中的行
How to add DAO recordset as rows in a datasheet 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
如何让数据集中的每条记录更新子表单上的新行?
好的,我可以使用 DoCmd.GoToRecord, acNewRec 来满足我的需要。
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
我有以下代码可将产品信息从销售报价单移至租赁资格表。产品转到数据表视图中的子表单,但是,记录集中的每一行只更新子表单的第一行。
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
如何让数据集中的每条记录更新子表单上的新行?
好的,我可以使用 DoCmd.GoToRecord, acNewRec 来满足我的需要。
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