(vba学习小结)关于既定编号关联数据删除的设计方案 -Allen Lee
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


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

发表时间:2011/12/24 12:11:51 评论(1) 浏览(5077)  评论 | 加入收藏 | 复制
   
摘 要:谈及此,不得不提起一个很头疼的问题,是否编号需要连续?还是只保持唯一性就好?如果只考虑后者,设计起来相对简单.但是若要取前者,则要有两方面考虑.一个是编号重续函数的编写,另外一个就是删除既定项目有关数据,编号留以后用的设计.
正 文:

编号重续函数的编写,可以参考红尘如烟大哥的"编号重续模块"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群(群号:198465573)
 
 相关文章
自动编号,每个月都重新从0001号开始编号  【老邹  2012/12/11】
[access查询]【access入门】用更新查询给表中编号字段加...  【麥田  2012/12/22】
高效的自动编号函数  【网行者  2013/1/18】
根据两个字段自动生成编号示例\Access双字段编号\Access...  【风行  2013/1/18】
【Access示例】产生包含数字与字母(随机大小写)的随机编号  【缪炜  2013/4/12】
常见问答
技术分类
相关资源
文章搜索
关于作者

Allen Lee

文章分类

文章存档

友情链接