点击下载此附件
首先引用里要勾选ADO,DAO,没用的话, 注册ADO和DAO
Private Sub 删除_Click() 'SQL方法
DoCmd.RunSQL "update 表1 set 父级=null,序号=null"
DoCmd.OpenTable "表1"
End Sub
Private Sub 填充父级_Click()
Dim rst As DAO.Recordset 'DAO方法
Set rst = CurrentDb.OpenRecordset("表1", dbOpenDynaset)
rst.MoveFirst '使记录的指针指到第一条记录,(当然我们是看不见的,只在于意义上是这样)
Do Until rst.EOF '表是当记录代码循环应用计算,直到最后一条记录为止
rst.Edit
rst!父级 = "003002"
rst.Update
rst.MoveNext
'并且把记录指针跳转到下一条记录,千万记住这句, _
否则程序会一直在上面那条记录反复计算,真到你的ACCESS程序死掉, _
或者你系统由于内存占光而完完,切记切记!!!!!!!!!!!!
Loop '重新回到上面那句: Do Until rs.EOF = True
rst.Close
Set rst = Nothing
'当程序到达这里时,表示上面的记算余额已经完成,我们就要关闭 rs 以省下内存空间
DoCmd.OpenTable "表1"
End Sub
Private Sub 填充序号_Click() 'ADO方法
Dim Y As Long
Dim rst As Recordset '声明设定参数 rs 为 Recordset类型的数据
Set rst = New ADODB.Recordset '初始化参数为一个新的ADODB型Recordset
rst.ActiveConnection = CurrentProject.Connection '把 rs 参数设定为本数据库,并连接
rst.Open "表1", , adOpenKeyset, adLockOptimistic '
rst.MoveFirst '使记录的指针指到第一条记录,(当然我们是看不见的,只在于意义上是这样)
Y = 0
Do Until rst.EOF '表是当记录代码循环应用计算,直到最后一条记录为止
rst!序号 = Format(Y + 1, "000")
Y = rst!序号
rst.Update
rst.MoveNext
'并且把记录指针跳转到下一条记录,千万记住这句, _
否则程序会一直在上面那条记录反复计算,真到你的ACCESS程序死掉, _
或者你系统由于内存占光而完完,切记切记!!!!!!!!!!!!
Loop '重新回到上面那句: Do Until rs.EOF = True
rst.Close
Set rst = Nothing
'当程序到达这里时,表示上面的记算余额已经完成,我们就要关闭 rs 以省下内存空间
DoCmd.OpenTable "表1"
End Sub