设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 对于喜欢链接SQL的同学,调用储存过程更简单。

[复制链接]
跳转到指定楼层
1#
发表于 2015-4-16 21:52:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当然,书上说用ADO,ADP,总之整得有点麻烦,一点也不人性化,老汉我偏就只用链接表形式,把存储过程完美的执行起来。
思路:这个自然是要向SQL服务器传递存储过程的参数,自然是直接写表最简单。SQL有个日毛的东西叫触发器,真是好家伙啊。
实战下,建立个表叫GC,字段ID,名称,单位,年月。名称-储存过程名,单位-储存过程参数1,年月-存储过程参数2。
一、编写储存过程:SJGX
CREATE PROCEDURE [dbo].[SJGX]  
@Dw varchar(12),@dd smalldatetime
AS
begin
储存过程内容
end

二、在表GC上编写触发器:ZXGC
CREATE TRIGGER [dbo].[ZXGC]
on [dbo].[GC] for insert
As
BEGIN
declare @MC nvarchar(20)
declare @CS  nvarchar(20)
declare @NY smalldatetime
set @MC=(select 名称 from Inserted)
set @CS=(select 单位 from Inserted)
set @NY=(select 年月 from Inserted)
exec @MC @CS,@NY   ---执行储存过程
delete from dbo.GC;
END


三、窗口建立代码
Private Sub gc_Click()
Dim Sql As String
Sql = "insert into gc(名称,单位,年月) values ('SJGX','月亮总部','2015-2-3')"
DoCmd.SetWarnings False
DoCmd.RunSQL Sql, -1
DoCmd.SetWarnings True
End Sub

效果:刚刚的。只要向表GC插入数据。存储过程马上执行哦。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2015-4-17 09:28:54 | 只看该作者
思路巧妙,很值得学习。但实用范围有一定的局限性。
3#
发表于 2015-4-17 17:13:16 | 只看该作者
谢谢分享
回复

使用道具 举报

4#
发表于 2015-4-22 13:43:23 来自手机 | 只看该作者
不懂,先收着再说,呵呵来自: Android客户端
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-26 22:14 , Processed in 0.086693 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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