以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- ACCESS数据库级的函数请教 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85677) |
-- 作者:凡夫俗子 -- 发布时间:2016/5/31 15:55:00 -- ACCESS数据库级的函数请教 Dim tb As Table = e.Form.Controls("Table1").Table Dim sqlstr As String = "SEL ECT 日期,客户,数量,year(日期) as 年,month(日期) as 月,DATEPART(\'yyyy\',日期)-1 As 上年 from {订单}" tb.fill(sqlstr,True) 这样的语句可以获取前台数据的上年数据 DATEPART(\'yyyy\',日期)-1 As 上年 请教如何写成一个函数GetSy 从而像 year(日期) as 年一样调用 表现形式为 GetSy(日期)as 上年 在SQL数据库中我已在数据库中构造了函数实现了功能,但是在FT前台,试验好久了没搞出方法,请老师指点一下。
|
-- 作者:大红袍 -- 发布时间:2016/5/31 16:30:00 -- 你是想问Access数据库如何添加函数?不是很简单?在模块那里直接定义即可,语法是vbscript的语法
Public Function test(s As String) test = s |
-- 作者:凡夫俗子 -- 发布时间:2016/5/31 16:54:00 -- ALTER Function [dbo].[GetSy](@dt DateTime) Returns Int As Begin Return DATEPART(yyyy,@dt) - 1 End 还是不明白 这一个是在SQL数据库中写的函数 SQL数据库中的参数定义是 (@dt DateTime) 参数引用是 DATEPART(yyyy,@dt) - 1 还有参数 yyyy 的用法 ,在SQL数据库中的是 直接yyyy 在FT中r SQL语句中是\'yyyy\' 那么定居SQL语句可以调用 的函数又是要怎么样的呢 如何在FT系统中定义 一个功能同样 的函数呢
[此贴子已经被作者于2016/5/31 16:55:39编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/5/31 17:05:00 -- 不理解你想问什么啊,在foxtable里面调用sql语句,语法跟具体数据库的语法一样的啊。
只有在数据库米面定义的函数,才可以在sql语句里面直接调用。 |
-- 作者:凡夫俗子 -- 发布时间:2016/5/31 17:09:00 -- Dim tb As Table = e.Form.Controls("Table1").Table Dim sqlstr As String = "SEL ECT 日期,客户,数量,year(日期) as 年,month(日期) as 月,DATEPART(\'yyyy\',日期)-1 As 上年 from {订单}" tb.fill(sqlstr,True) 这个是在 FOXTABLE中调用 内部数据源的语句 可以正常执行 就是想写一个函数 GetSy 然后 Dim sqlstr As String = "SEL ECT 日期,客户,数量,year(日期) as 年,month(日期) as 月,GetSy(日期) As 上年 from {订单}" 目前在SQL数据库中已实现,我想在ACCESS数据库中也实现这样的用法
[此贴子已经被作者于2016/5/31 17:09:02编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/5/31 17:12:00 -- 去access数据库那里,添加一个模块,定义函数啊
Public Function GetSy(d As Date) GetSy = Format(d, "yyyy") - 1 |