Foxtable(狐表)用户栏目专家坐堂 → 动态加载


  共有7698人关注过本帖树形打印复制链接

主题:动态加载

帅哥哟,离线,有人找我吗?
L88919138
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:721 积分:6887 威望:0 精华:0 注册:2012/3/1 7:20:00
动态加载  发帖心情 Post By:2013/4/7 10:44:00 [只看该作者]

在帮助住中有“利用扩展用户属性设置初始加载条件”,如果使用SQL外部数据源在BEFORELOADOUTERTABLE中代码应如何写?

 

利用扩展用户属性设置初始加载条件

通常利用扩展用户属性,让用户在登录的时候,选择要加载的数据范围。
例如有一个订单管理系统,希望在用户登录的时候,能够指定一个日期范围,仅加载该日期范围内的订单。

首先我们得在用户管理中增加起始日期、结束日期两个扩展属性:

假定使用的是内部表,然后在BeforeLoadInnerTable事件中加入如下代码:

If e.DataTableName = "订单" Then
    e.Filter =
"[日期] >= #" & e.User.ExtendedValues("起始日期") & "# And [日期] <= #" & e.User.ExtendedValues("结束日期") & "#"
End
If

这样即可在登录的时候,由用户自行输入要加载数据的日期范围:


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/7 10:49:00 [只看该作者]

图片挂了.

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/4/7 12:51:00 [只看该作者]

If e.DataTableName = "订单" Then
    e.SelectString = "Select * From 订单 Where [日期] >= #" & e.User.ExtendedValues("起始日期") & "# And [日期] <= #" & e.User.ExtendedValues("结束日期") & "#"
End If

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
L88919138
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:721 积分:6887 威望:0 精华:0 注册:2012/3/1 7:20:00
  发帖心情 Post By:2013/4/15 9:14:00 [只看该作者]

在学习对外部表存货账进行动态加载时(因SQL服务器只能在局域网内连接,数据先改成内部数据源),在BeforeLoadOuterTable输入以下代码 

If e.DataTableName = "存货账" Then
    e.SelectString = "Select * From 存货账 Where [业务发生日期] >= #" & e.User.ExtendedValues("起始日期") & "# And [业务发生日期] <= #" & e.User.ExtendedValues("结束日期") & "#"
End If

刚进入系统提示以下错误,请各位大师帮忙看下是什么原因?

错误代码位置:项目,BEFORELOADOUTERTABLE

system.collections.generic.keynotfoundexception:给定关键字不在字典中

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:上传文件.zip


 回到顶部
帅哥哟,离线,有人找我吗?
muhua
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/4/15 9:25:00 [只看该作者]

用户已被锁定

 回到顶部
帅哥哟,离线,有人找我吗?
L88919138
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:721 积分:6887 威望:0 精华:0 注册:2012/3/1 7:20:00
  发帖心情 Post By:2013/4/15 9:48:00 [只看该作者]

大师您好,我输入最新代码打开项目还是提示原来错误,我想会不会是我起始日期与结束日期设置的是日期格式?请多指教,谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/15 9:50:00 [只看该作者]

外部表如果是MSSQL的话.不能用"#'拼接日期哦..
[此贴子已经被作者于2013-4-15 9:51:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
L88919138
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:721 积分:6887 威望:0 精华:0 注册:2012/3/1 7:20:00
  发帖心情 Post By:2013/4/15 9:58:00 [只看该作者]

我用的是SQL SERVER 2005外部数据源,现在在BeforeLoadOuterTable输入以下代码 

If e.User.ExtendedValues("起始日期") > "" And e.User.ExtendedValues("结束日期") > "" Then
    If e.DataTableName = "存货账" Then
        e.SelectString = "Select * From 存货账 Where [业务发生日期] >= '" & e.User.ExtendedValues("起始日期") & "' And [业务发生日期] <= '" & e.User.ExtendedValues("结束日期") & "'"
    End If
End If

可是依然提示相同错误,研究几天了就不知道那里出现问题?

 


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/15 10:12:00 [只看该作者]

应该是哪里的命名错了和数据表不一样.你可以先尝试一一对应 表名 字段名.      

 回到顶部
帅哥哟,离线,有人找我吗?
L88919138
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:721 积分:6887 威望:0 精华:0 注册:2012/3/1 7:20:00
  发帖心情 Post By:2013/4/15 11:12:00 [只看该作者]

我用的是SQL SERVER 2005外部数据源,现在在BeforeLoadOuterTable输入以下代码 

If e.User.ExtendedValues("起始日期") > "" And e.User.ExtendedValues("结束日期") > "" Then
    If e.DataTableName = "存货账" Then
        e.SelectString = "Select * From 存货账 Where [业务发生日期] >= '" & e.User.ExtendedValues("起始日期") & "' And [业务发生日期] <= '" & e.User.ExtendedValues("结束日期") & "'"
    End If
End If

现在测试时提示错误

system.invaildcastexception:从字符串“”到类型“DATE”的转换无效,这又是什么出差?


 回到顶部
总数 12 1 2 下一页