设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

关于存储过程与ACCESS组合框的问题

[复制链接]
跳转到指定楼层
1#
发表于 2006-8-6 02:55:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾好,我才刚刚学习ADP,现在在下遇到一些问题,特向各位请教。

我在SQL SEVER中建立了一个存储过程:

CREATE PROCEDURE dbo.存储过程1
@fengtao nvarchar(20),@zhaoying nvarchar(20)
AS SELECT DISTINCT  单位
FROM dbo.[6月] where 单号 LIKE ISNULL(@fengtao,'%')
and 转运网络 like isnull(@zhaoying,'%')
GO

我做这个存储过程的主要目的就像想让三个组合框中的行内容根据不同的值进行,行记录源的筛选:



<IMG>

例如我有这样一条记录:combo0:麦克维尔 combo3:武汉嘉泰 combo2:444930

我在ADP中的查询项中直接双击存储过程然后在参数上直接入值或者不如都可以得到我想要的记录,可是到了窗体控件上

我直接调用存储过程却跟直接双击存储过程得到的效果不一样。

调用存储过程的代码:Set Me.Combo0.Recordset = CurrentProject.Connection.Execute("dbo.存储过程1('" & Combo2 & "','" & Combo3 & "')")

我是在COMBO2的更新事件中写入这段代码的。

出来的效果就是当组合框combo2和combo3同时有值的时候,combo0的组合框的行记录源就会筛选到相应的值,可是如果其中一个组合框为空或者都为空的时候就筛选不出来结果,似乎MDB中的空值与SQL SERVER中的空值不同,可是又不知道该如何做才能到达我想要的效果,请高人指点。

还有就是如果把代码写成:Set Me.Combo0.Recordset = CurrentProject.Connection.Execute("dbo.存储过程1(" & Combo2 & "," & Combo3 & ")")这样,在COMBO2和COMBO3中录入NULL他又认,可是如果一个组合框录NULL,一个组合框录正常值他又报错,请高手指教一下。

这是我的数据结构:



<IMG>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-8-7 20:25:00 | 只看该作者
估计是把空值当空字符串处理了。这样试试。
CREATE PROCEDURE dbo.存储过程1
@fengtao nvarchar(20),@zhaoying nvarchar(20)
AS SELECT DISTINCT  单位
FROM dbo.[6月] where 单号 LIKE ISNULL(@fengtao+'%','%')
and 转运网络 like isnull(@zhaoying+'%','%')
GO
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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