0
我有兩個表,ID表和Mastertable。在身份證表中,我有一個開始數字的級別和活動,讓我們說1000.在Mastertable中,我擁有許多與同一活動和級別相關的圖形。我必須從ID表值1000開始爲它們編號,並將它增加1.完成後,mastertable的最大值必須重新插入ID表。從其他表訪問Vba序列號
而且,如果有水平和活性,該ID已被拾起仰視的水平和活性都,如果沒有級別屆時提及它只能查找活動。
我嘗試了很多,但不能成功。
我使用了下面的代碼,但它只查找Activity而不查找級別。它也不會返回到id表並更新主表中的最大ID。
Option Compare Database
Option Explicit
Public Function SequenceNew()
Dim strSQL As String
Dim db As Database
Dim rs As DAO.Recordset
Dim a, initNo As Integer
Dim b As Integer
strSQL = "SELECT * FROM MasterTable ORDER BY LevelID"
'Set db = CurrentDb
Set rs = CurrentDb.OpenRecordset(strSQL)
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
rs.Edit
If rs![DrawingTypeName] = "Concrete" And rs![ProjectName] = Forms!frm_Publish!CboProject And rs!IDGiven = "Not Given" Then
a = a + 1
rs!Sequence = DLookup("CONCRETE", "Qry_ID_Selected") + a
ElseIf rs![DrawingTypeName] = "Reinforcement" And rs![ProjectName] = Forms!frm_Publish!CboProject And rs!IDGiven = "Not Given" Then
b = b + 1
rs!Sequence = DLookup("REINFORCEMENT", "Qry_ID_Selected") + b
ElseIf rs![DrawingTypeName] = "Steel structural works" And rs![ProjectName] = Forms!frm_Publish!CboProject And rs!IDGiven = "Not Given" Then
End If
rs.Update
rs.MoveNext
Loop
rs.Close
Set db = Nothing
Else
MsgBox " No records Found"
rs.Close
Set db = Nothing
End If
End Function
應該有一些其他更好的方法來做到這一點。 MasterTable ID Table