使您的PK成爲自動編號並將其用於任何關係。對於您的序列號,請使用兩個長整型字段(SN1,SN2)。在表單的before_update事件中,對於新記錄,調用公共函數以生成新的「序列號」。
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim lngSN1 AS Long
Dim lngSN2 as Long
If Me.NewRecord Then
'if SN1 is not to be incremented, set it here to whatever you want
If GetSerials(SN1, SN2) Then
Me!SN1 = lngSN1
Me!SN2 = lngSN2
Else
Cancel = True
End If
End If
End Sub
Public Function GetSerials(ByRef SN1 as Long, ByRef SN2 as Long) AS Boolean
If SN1 = 0 Then
SN1 = Nz(DMax("SN1","<yourTable>"), 0) + 1
SN2 = 1
Else
SN2 = DMax("SN2", "<yourtable>","SN1=" & SN1) + 1
End IF
GetSerials = True
End Function
使用計算字段構建查詢以創建組合'SerialNumber'。
SELECT *, "M" & SN1 & "-" & SN2 as SerialNumber FROM <yourtable>
無論您想要顯示SerialNumber,都使用該查詢。
來源
2016-10-31 12:42:51
AVG
所以第一張表我得到了一個主要的自動編號和一個外國編號。然後第二個表我怎麼用pubilc函數生成序列號?當你提到「鎖定」時,如何鎖定號碼? – KokJoo89