设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

各位朋友,能帮我把以下语句转换为在ADP中用吗?

[复制链接]
跳转到指定楼层
1#
发表于 2004-8-3 04:08:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SELECT 材料收支表.材料ID, Year([日期]) AS 年份, Month([日期]) AS 月份, k([材料ID],Year([日期]),Month([日期])) AS 上月结余, Sum(材料收支表.进库) AS 本月进库, Sum(材料收支表.出库) AS 本月出库

FROM 材料收支表

GROUP BY 材料收支表.材料ID, Year([日期]), Month([日期]), k([材料ID],Year([日期]),Month([日期]))

ORDER BY 材料收支表.材料ID, Year([日期]), Month([日期]);

'==================

在MDB中查询可以放入VBA的函数,在ADP中是不可以的.要直接在SQL中写函数,我想把下面的语句转换成ADP的函数,大家帮忙呀!!





'****************************

'名称:月上期余额示例

'作者:zhengjialon(access-cn and access abc)

'时间:2004-01-30

'****************************

'实现了在一条记录中查询上月余额本月进库和结余的问题

'本例是使用了进出库在一个表中,如果是进库和出库分别为两个表也是一样。

Public Function k(strCodeID As String, lngY As Long, lngM As Long) As Long

    Dim strSQL As String

    Dim rs As Object

    Dim cn As Object

   

    Set cn = Application.CurrentProject.Connection

    Set rs = CreateObject("ADODB.Recordset")

   

    '将材料代码和日期代入到查询条件中去

    strSQL = "SELECT 材料收支表.材料ID, Sum(([进库]-[出库])) AS 库存 " & _

             "FROM 材料收支表 " & _

             "WHERE 材料收支表.日期 < #" & lngM & "/1" & "/" & lngY & "# And 材料ID ='" & strCodeID & "' " & _

             "GROUP BY 材料收支表.材料ID;"

    rs.Open strSQL, cn, 1

   

    If rs.EOF = True Then Exit Function

   

    k = rs("库存")

    'MsgBox k

   

    rs.Close

    Set rs = Nothing

    Set cn = Nothing

End Function

'-------------------------------------上面这个是zhengjialon版主的库存查询示例此下连接可以下载

http://www.office-cn.net/forum.php?mod=viewthread&tid=19200

'===================

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2004-8-3 22:37:00 | 只看该作者
可以呀,使用存储过程或用户自定义函数。可惜我现在都不太熟悉。
3#
发表于 2004-8-6 19:24:00 | 只看该作者
Create Function fnSql()Returns TableAS Return (SELECT 材料收支表.材料ID, Year([日期]) AS 年份, Month([日期]) AS 月份, k([材料ID],Year([日期]),Month([日期])) AS 上月结余, Sum(材料收支表.进库) AS 本月进库, Sum(材料收支表.出库) AS 本月出库

FROM 材料收支表

GROUP BY 材料收支表.材料ID, Year([日期]), Month([日期]), k([材料ID],Year([日期]),Month([日期]))

ORDER BY 材料收支表.材料ID, Year([日期]), Month([日期]))
4#
 楼主| 发表于 2004-8-6 20:39:00 | 只看该作者
谢谢guotianxin朋友,

不过是不是guotianxin朋友理解错了我的意思呢?

SELECT 材料收支表.材料ID, Year([日期]) AS 年份, Month([日期]) AS 月份, k([材料ID],Year([日期]),Month([日期])) AS 上月结余, Sum(材料收支表.进库) AS 本月进库, Sum(材料收支表.出库) AS 本月出库

FROM 材料收支表

GROUP BY 材料收支表.材料ID, Year([日期]), Month([日期]), k([材料ID],Year([日期]),Month([日期]))

ORDER BY 材料收支表.材料ID, Year([日期]), Month([日期]);

上面是一个MDB中的查询.其中用到在VBA中写的函数  K()

.我的用意是把此VBA的函数K写成在ADP中的函数.

再麻烦一下guotianxin朋友帮我看一下,我相信你是行的.

[此贴子已经被作者于2004-8-6 13:06:14编辑过]

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

本版积分规则

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

GMT+8, 2024-9-25 17:21 , Processed in 0.084290 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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