设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2367|回复: 4
打印 上一主题 下一主题

[窗体] 求助:用代码设定子窗体与主窗体之间的关链字段,并实现参照完整性、级联更新和删除?

[复制链接]
1#
发表于 2016-3-2 15:13:15 | 显示全部楼层
本帖最后由 roych 于 2016-3-2 15:16 编辑
  1. Private Sub Label14_Click()
  2.     Dim rel As Relation
  3. '修改表间关系之前,应先取消窗体对表的绑定
  4.     Me.ChildFORM.SourceObject = ""
  5.     Me.Form.RecordSource = ""
  6. '如果已建立关系则先删除关系
  7.     For Each rel In CurrentDb.Relations
  8.         If rel.Name = "MyRel" Then
  9.             CurrentDb.Relations.Delete rel.Name
  10.             Exit For
  11.         End If
  12.     Next
  13.    
  14.     With CurrentDb
  15. '新建关系
  16.         Set rel = .CreateRelation("MyRel", "AAF就诊记录A", "AAF颗粒剂处方A", dbRelationDeleteCascade + dbRelationUpdateCascade)
  17.         With rel
  18. '创建关系的主键
  19.             .Fields.Append rel.CreateField("ID")
  20. '创建关系的外键
  21.             .Fields("ID").ForeignName = "ID"
  22.         End With
  23. '创建关系
  24.         .Relations.Append rel
  25.         .Close
  26.     End With
  27. '更新窗体
  28.     Me.ChildFORM.SourceObject = "AAF常用语BC"
  29.     Me.Form.RecordSource = "AAF就诊记录A"
  30.     MsgBox "关系创建完毕"
  31. End Sub
复制代码

详见附件的窗体【AAF就诊记录AC】:


附上关系属性的常量说明:

名称

说明

dbRelationDeleteCascade

4096

级联删除

dbRelationDontEnforce

2

不实施关系(无参照完整性)

dbRelationInherited

4

关系存在于包含两个链接表的数据库中

dbRelationLeft

16777216

仅适用于 Microsoft Access。在设计视图中,将"左联接"显示为默认的联接类型。

dbRelationRight

33554432

仅适用于 Microsoft Access。在设计视图中,将"右联接"显示为默认的联接类型。

dbRelationUnique

1

一对一关系

dbRelationUpdateCascade

256

级联更新


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1经验 +12 收起 理由
admin + 12 这贴不错,赞一个!加分!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-6 10:08 , Processed in 0.086749 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表