Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

(vba学习小结)关于既定编号关联数据删除的设计方案

时 间:2011-12-24 12:11:51
作 者:何必见戴   ID:13894  城市:厦门
摘 要:谈及此,不得不提起一个很头疼的问题,是否编号需要连续?还是只保持唯一性就好?如果只考虑后者,设计起来相对简单.但是若要取前者,则要有两方面考虑.一个是编号重续函数的编写,另外一个就是删除既定项目有关数据,编号留以后用的设计.
正 文:

编号重续函数的编写,可以参考红尘如烟大哥的"编号重续模块"AutoNum函数,网站一搜就有,写的很好!

那么现在实现第二步:删除既定项目的所有相关数据,这段我摸索了一下,写了一下代码来实现:

Sub DeleteRelateData()
    Dim db As Database
    Dim td As TableDef
    Dim rst As Object
    Dim MyString As String

    Set rst = CurrentDb.OpenRecordset("SELECT * FROM 带班分工表  WHERE 培训班级='" & Me.培训班级 & "'", 2, 512)
    MyString = rst!项目编号
    Set db = CurrentDb
    For Each td In db.TableDefs
        If (td.Attributes And dbSystemObject) = 0 Then    '不可对系统表进行操作
            If td.Name <> "带班分工表" Then  '不可对既定编号所在源的表进行操作
                DoCmd.RunSQL "DELETE * FROM  " & td.Name & " WHERE 项目编号='" & MyString & "'"
             End If
        End If
        '更新项目编号所在源的项目编号字段为空

        DoCmd.RunSQL "UPDATE 带班分工表 SET 项目编号='' WHERE 需求序号='" & Me.培训班级 & "'"
        Set rst = Nothing
    End If
 End Sub

OK,解释一下,此处的"项目编号"即为所需要操作的序号.至此结束~周末愉快诸位!有空我会贴个示例上来!



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助