Foxtable(狐表)用户栏目专家坐堂 → [求助]能否用表事件编辑后台所有数据


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

主题:[求助]能否用表事件编辑后台所有数据

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107742 积分:548049 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/18 14:15:00 [显示全部帖子]

参考:http://www.foxtable.com/webhelp/scr/2898.htm

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "F4376"
        e.DataTable.SQLReplaceFor("F5312",dr("F4376").Year)
e.DataTable.ReplaceFor("F5312",dr("F4376").Year)
        'dr("F5312")=dr("F4376").Year
End Select
[此贴子已经被作者于2016/10/18 14:15:59编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107742 积分:548049 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/18 16:08:00 [显示全部帖子]

注释的可以删除

可不可以试过才知道

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107742 积分:548049 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/19 20:56:00 [显示全部帖子]

回6楼,2个表的列没有说明对应关系,只能这样

回7楼,
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "F4376"
        e.DataTable.SQLReplaceFor("F5312","convert( nvarchar(4),[F4376],120)","",True)
End Select

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107742 积分:548049 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/20 11:01:00 [显示全部帖子]

回9楼

dr("F4363") = e.DataRow("F391")
    dr("F4364") = e.DataRow("F392")

程序不知道为什么F391的值给F4363,F392的值给F4364,他们之间有没有什么规律?

回10楼,就是取得日期的年
[此贴子已经被作者于2016/10/20 11:02:18编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107742 积分:548049 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/20 11:46:00 [显示全部帖子]

http://www.w3school.com.cn/sql/func_convert.asp

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107742 积分:548049 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/20 14:19:00 [显示全部帖子]

你6楼的代码就是的

或者参考这里面的用法:http://www.foxtable.com/webhelp/scr/1533.htm

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim 
Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each 
dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim 
dr2 As DataRow = DataTables("表B").AddNew()
    For 
i As Integer = 0 To Cols1.Length -1
        
dr2(Cols2(i)) = dr1(Cols1(i
))
    Next
Next

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107742 积分:548049 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/21 16:51:00 [显示全部帖子]

SQLReplaceFor就是更新后台数据的,前台需要重新加载才看得到

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107742 积分:548049 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/22 14:42:00 [显示全部帖子]

e.DataTable.SQLReplaceFor("F403","F400 * F401","",True)


 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107742 积分:548049 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/24 15:58:00 [显示全部帖子]

直接调用

DataTables("某表").SQLReplaceFor("F403","F400 * F401","",True)语句

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107742 积分:548049 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/24 21:46:00 [显示全部帖子]

错误所在事件:表,T28,DataColChanged

贴出出错的完整代码看看

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