PO_D_Temp 包含幾個欄位 2 其中 [InvNo] 和 [Detail_Line]。會有很多行屬于相同的 [InvNo]。我希望每個 [Detail_Line] 以每個 [InvNo] 的 1、2 等開頭
示例:[InvNo]1 [Detail_Line] 1 [InvNo]1 [Detail_Line] 2 [InvNo]2 [Detail_Line] 1 [InvNo]3 [Detail_Line] 1 ETC!
我所能想出的只是一個回圈,它向所有記錄添加一個遞增的數字——而不是在每個不同的 InvNo 處重新編號。
這是我所擁有的(我在幼兒園級別,對不起):
Private Sub Command1_Click()
Dim db As Database
Set db = CurrentDb()
Dim rstPO_D_Temp As Recordset
Dim strSQL As String
Dim intI As Integer
Dim DetailNum As Integer
'Open a recordset on all records from the PO_D_Temp table
strSQL = "SELECT * FROM PO_D_Temp"
Set rstPO_D_Temp = db.OpenRecordset(strSQL, dbOpenDynaset)
DetailNum = 0
' If the recordset is empty, exit.
If rstPO_D_Temp.EOF Then Exit Sub
intI = 1
With rstPO_D_Temp
Do Until .EOF
.Edit
![Detail_Line] = DetailNum intI
.Update
.MoveNext
intI = intI 1
Loop
End With
rstPO_D_Temp.Close
Set rstPO_D_Temp = Nothing
End Sub
uj5u.com熱心網友回復:
重置詳細資訊編號。對于每個發票編號:
Private Sub Command1_Click()
Dim db As DAO.Database
Set db = CurrentDb()
Dim rstPO_D_Temp As DAO.Recordset
Dim strSQL As String
Dim DetailNum As Integer
Dim LastInvoice As Long
'Open a recordset on all records from the PO_D_Temp table
strSQL = "SELECT * FROM PO_D_Temp"
Set rstPO_D_Temp = db.OpenRecordset(strSQL, dbOpenDynaset)
With rstPO_D_Temp
Do Until .EOF
If LastInvoice <> !InvNo.Value Then
DetailNum = 1
LastInvoice = !InvNo.Value
Else
DetailNum = DetailNum 1
End If
.Edit
![Detail_Line].Value = DetailNum
.Update
.MoveNext
Loop
.Close
End With
Set rstPO_D_Temp = Nothing
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/459702.html