Foxtable(狐表)用户栏目专家坐堂 → 控件赋值


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

主题:控件赋值

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
控件赋值  发帖心情 Post By:2016/5/23 10:14:00 [只看该作者]

老师,我的一个菜单控件按钮的意思如下:
从“存货明细表”中加载“存货编码”到表“存货汇总表”,条件是先到“汇总表”查找编码,如果已经存在和“存货明细表”相同的编码,则不加载这个编码,如果没有,则加载不重复的编码。
我的代码如下:
Dim dr As DataRow
dr = DataTables("存货汇总表").Find("存货编码 = '" & e.NewValue & "'")
If dr IsNot Nothing Then
    Return
End If
Else
    
    Dim f As New Filler
    f.SourceTable = DataTables("存货明细表") '指定数据来源
    f.SourceCols = "存货编码" '指定数据来源列
    f.DataTable = DataTables("存货汇总表") '指定数据接收表
    f.DataCols = "存货编码" '指定数据接收列
    f.Fill() '填充数据

但有问题,改成如下,还是有问题
Dim dr As DataRow
dr = DataTables("存货汇总表").Find("[存货编码] = '" & e.NewValue & "'")
If dr IsNot Nothing Then
    Return
End If
Else
    
    Dim f As New Filler
    f.SourceTable = DataTables("存货明细表") '指定数据来源
    f.SourceCols = "存货编码" '指定数据来源列
    f.DataTable = DataTables("存货汇总表") '指定数据接收表
    f.DataCols = "存货编码" '指定数据接收列
    f.Fill() '填充数据

请老师提点,谢谢


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/23 10:16:00 [只看该作者]

直接写

 

Dim f As New Filler
f.SourceTable = DataTables("存货明细表") '指定数据来源
f.SourceCols = "存货编码" '指定数据来源列
f.DataTable = DataTables("存货汇总表") '指定数据接收表
f.DataCols = "存货编码" '指定数据接收列
f.ExcludeExistValue = True
f.Fill() '填充数据


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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/5/23 10:19:00 [只看该作者]

直接写的话,每点击一次,无论汇总表里是不是已经存在相同的编码,都加载过来,我的要求是如果已经存在相同的编码了,就不要再加载,没有的才加载
[此贴子已经被作者于2016/5/23 10:22:07编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/23 10:27:00 [只看该作者]

不,可,能,拷贝2楼代码执行。

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/5/23 10:37:00 [只看该作者]

最开始我就是只有2楼的代码,结果发现,如果汇总表已经有了Y-026的编码,从明细表加载过来的还有Y-026,那在汇总表就有2个Y-026啦,所以才想到增加条件代码。点击一次就增加一个Y-026编码。
[此贴子已经被作者于2016/5/23 10:38:13编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/23 10:42:00 [只看该作者]

以下是引用大红袍在2016/5/23 10:27:00的发言:
不,可,能,拷贝2楼代码执行。

 

+1


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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/5/23 10:52:00 [只看该作者]

 提示的错误为:“Object reference not set to an instance of an object”,翻译过来就是:未将对象引用设置到对象的实例
这种错误一般是什么引起的呢。现在的代码如下:
Dim dr As DataRow
dr = DataTables("存货汇总表").Find("[存货编码] = '" & dr("存货编码") & "'")
If dr IsNot Nothing Then
    Return
Else
    
    Dim f As New Filler
    f.SourceTable = DataTables("存货明细表") '指定数据来源
    f.SourceCols = "存货编码" '指定数据来源列
    f.DataTable = DataTables("存货汇总表") '指定数据接收表
    f.DataCols = "存货编码" '指定数据接收列
    f.Fill() '填充数据
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/23 10:55:00 [只看该作者]

无语,直接写啊

 

Dim f As New Filler
f.SourceTable = DataTables("存货明细表") '指定数据来源
f.SourceCols = "存货编码" '指定数据来源列
f.DataTable = DataTables("存货汇总表") '指定数据接收表
f.DataCols = "存货编码" '指定数据接收列
f.ExcludeExistValue = True
f.Fill() '填充数据


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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/5/23 11:02:00 [只看该作者]

谢谢老师,没注意你的代码和我的代码有变化,非常感谢谢谢

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/5/29 17:29:00 [只看该作者]

老师,当加载另一个表的数据时,希望把原来的数据给删除掉,加载新的数据,请问怎么处理,谢谢。比如

比如,当点“科目1”按钮时,如果表没有任何数据,则加载科目1表的数据,当表原来有数据时,根据条件,如果启用状态为是时,则不允许删除原来的数据并不允许加载,当启用状态为否时,则删除原来全部数据并加载指定表的数据。
[此贴子已经被作者于2016/5/29 17:42:33编辑过]

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