设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

如何让多表的存储过程能新增修改?

[复制链接]
跳转到指定楼层
1#
发表于 2002-8-30 19:22:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SELECT dbo.权限模块功能.模块, dbo.权限模块功能.功能, dbo.权限明细.用户号,
      dbo.权限明细.功能模块号, dbo.权限明细.新增, dbo.权限明细.查询, dbo.权限明细.修改,
      dbo.权限明细.删除, dbo.权限明细.审核, dbo.权限明细.反审, dbo.权限明细.打印,
      dbo.权限明细.机密, dbo.权限明细.范围, dbo.权限明细.流水号,
      dbo.MR员工档案.姓名
FROM dbo.权限模块功能 INNER JOIN
      dbo.权限明细 ON dbo.权限模块功能.功能模块号 = dbo.权限明细.功能模块号 INNER JOIN
      dbo.MR员工档案 ON dbo.权限明细.用户号 = dbo.MR员工档案.员工号
WHERE (dbo.MR员工档案.姓名 = @Tree姓名)



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2002-8-31 00:14:00 | 只看该作者
UniqueTable 属性标识了联接的“大多数”表。如果没有设置 UniqueTable 属性,则与窗体绑定的包含联接的视图、存储过程或 SQL 字符是只读的。同时,对于联接,由 View.Open 或 StoredProc.Run 产生的数据表是只读的(因为没有其他方法设置 UniqueTable 属性)。只要设置了 UniqueTable 属性,就只有该表中的字段是可更新的,且只能对该表进行插入和删除。

好象是这原因,请教如何设置。

3#
 楼主| 发表于 2002-8-31 00:59:00 | 只看该作者
解决了:
主要是存储过程的输入参数致使窗体上的唯一表无法选(手工输入无效),只得人工解决:
先把存储过程、窗体的 输入参数 去除,在窗体上选唯一表,再在存储过程、窗体中加回输入参数。问题是解决了,但感觉太麻烦不是多个窗体操作,以后用到时容易忘记。能否帮忙写个自动生成。
谢谢!
4#
 楼主| 发表于 2002-8-31 01:00:00 | 只看该作者
或者在存储过程中有唯一表?
5#
发表于 2002-8-31 01:20:00 | 只看该作者
老大,要讓一個連接多表的儲儲過程具有可寫功能要從以下几點著手:
1。存儲過程中的字段包括所來源的基表中的全部必填字段。
2。必須接收所有在存儲過程中預輸入的參數(當然有默認值的可以不用)
3。在用一個存儲程向多個表中操作數據時,最好把這個存儲過程放在一個事務中
4。在SQL2K中事務的處理,可以有返回到一個事務保存點的功能,這個您可以想想怎么用
5。同時最好用基表觸發器來檢查數據操作的完整性。
這個我的個人觀點,希望您多考慮一些,因此問題,不是不可實現,實鍵是太麻煩。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-29 19:34 , Processed in 0.095907 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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