我怀疑您正在寻找这样的东西:
Dim con As ADODB.Connection, cmd As ADODB.Command, rst As ADODB.RecordsetDim newNum As VariantConst fLabel_Location = "O'Hare" ' test dataSet con = New ADODB.Connectioncon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:UsersPublicDatabase1.accdb;"Set cmd = New ADODB.Commandcmd.ActiveConnection = concmd.CommandText = "SELECt MAX(Number) AS maxNum FROM Articles WHERe Location = ?"cmd.CreateParameter "?", adVarWChar, adParamInput, 255cmd.Parameters(0).Value = fLabel_LocationSet rst = cmd.ExecutenewNum = IIf(IsNull(rst("maxNum").Value), 0, rst("maxNum").Value) + 1rst.Closerst.Open "Articles", con, adOpenDynamic, adLockOptimistic, adCmdTablerst.AddNewrst("Location").Value = fLabel_Locationrst("Number").Value = newNumrst.Updaterst.CloseSet rst = NothingSet cmd = Nothingcon.CloseSet con = Nothing但是请注意,此代码 不是 多用户安全的。如果可能有多个用户同时运行此代码,则 可能会 出现重复的[Number]值。
(要使代码具有多用户安全性,您需要在[[Location],[Number])上创建唯一索引,并添加一些错误陷阱,以防
rst.Update失败。)



