Foxtable(狐表)用户栏目专家坐堂 → [求助]老师您好,询问一个比较基础的问题。


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

主题:[求助]老师您好,询问一个比较基础的问题。

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


加好友 发短信
等级:幼狐 帖子:100 积分:925 威望:0 精华:0 注册:2016/12/5 10:41:00
[求助]老师您好,询问一个比较基础的问题。  发帖心情 Post By:2017/1/22 13:57:00 [只看该作者]

Dim f As New Filler
If e.Form.Controls("ComboBox1").text = "赊欠"
    f.SourceTable = DataTables("销售明细")
    f.SourceCols ="时间,单据编号,客户"
    f.DataTable = DataTables("客户赊销明细")
    f.DataCols = "时间,单据编号,客户"
    f.ExcludeExistValue= True
    f.Fill()
End If


f.SourceTable = DataTables("销售明细") '指定数据来源
f.SourceCols = "产品名称_通用名,价格,客户,包装规格,剂型,产品名称_商品名" '指定数据来源列
f.DataTable = DataTables("客户价目表") '指定数据接收表
f.DataCols = "产品名称_通用名,价格,客户,包装规格,剂型,产品名称_商品名"
f.Filter="客户 Is Not Null"
f.ExcludeExistValue= True
f.Fill()


f.SourceTable = DataTables("销售明细") '指定数据来源
f.SourceCols = "时间,单据编号,产品名称_通用名,价格,数量,客户,包装规格,剂型,产品名称_商品名,批发,成本,类型,合计,利润,供货商" '指定数据来源列
f.DataTable = DataTables("销售明细统计") '指定数据接收表
f.DataCols = "时间,单据编号,产品名称_通用名,价格,数量,客户,包装规格,剂型,产品名称_商品名,批发,成本,类型,合计,利润,供货商" '指定数据接收列
f.Filter="产品名称_商品名 Is Not Null"
f.ExcludeExistValue= True
f.Fill()


f.SourceTable = DataTables("销售明细")
f.SourceCols = "时间,单据编号,客户"
f.DataTable = DataTables("统计")
f.DataCols = "时间,单据编号,客户"
f.ExcludeExistValue = True
f.Fill()

 

Dim find As DataRow
find = DataTables("统计").Find("单据编号 = '"& Forms("销售").Controls("Label单据编号").text &"'")
find("实收")= e.Form.Controls("TextBox1").text

 

添加了这段代码后,运行时总提示 “未将对象引用设置到对象的实例。”请问一下老师,我是哪里出的问题?

这个是窗口的 按钮 click 事件


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


加好友 发短信
等级:幼狐 帖子:100 积分:925 威望:0 精华:0 注册:2016/12/5 10:41:00
  发帖心情 Post By:2017/1/22 14:09:00 [只看该作者]

补充一下。  

 在 fill 完 ‘统计’ 表后,统计增加了一行, 但是我想将增加行中的 ‘实收’ 这列的数据,由我当前 form 的 textbox1 中写入。  所以有了最下面红字的那行 代码, 但是程序运行到这行代码的时候老是报错。

所以我想问问,到底是哪里出错了。


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


加好友 发短信
等级:四尾狐 帖子:852 积分:6103 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/1/22 14:32:00 [只看该作者]

find 返回的值不是行。。。。如果找到该行,那么返回1,否则好想是返回0,sqlfind才是返回找到的第一个行。。。。

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


加好友 发短信
等级:四尾狐 帖子:852 积分:6103 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/1/22 14:33:00 [只看该作者]

...
[此贴子已经被作者于2017/1/23 8:46:34编辑过]

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


加好友 发短信
等级:幼狐 帖子:100 积分:925 威望:0 精华:0 注册:2016/12/5 10:41:00
  发帖心情 Post By:2017/1/22 14:49:00 [只看该作者]

那么老师,不用find 用什么呢、。


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


加好友 发短信
等级:狐精 帖子:3353 积分:24705 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2017/1/22 15:55:00 [只看该作者]

你要加个判断 确认符合你条件的行存在

 

Dim find As DataRow
find = DataTables("统计").Find("单据编号 = '"& Forms("销售").Controls("Label单据编号").text &"'")

if find isnot nothing then
find("实收")= e.Form.Controls("TextBox1").text

end if

 


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


加好友 发短信
等级:幼狐 帖子:100 积分:925 威望:0 精华:0 注册:2016/12/5 10:41:00
  发帖心情 Post By:2017/1/22 16:22:00 [只看该作者]

嗯,加了判断语句,虽然不会报错了, 但是实际上还是找不到这行的存在。

刚才我又在这个事件里面加了好几个 find 语句, 但是全部找不到内容。

是不是我用法有问题?   用Select又直接报错。


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


加好友 发短信
等级:狐精 帖子:3353 积分:24705 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2017/1/22 16:53:00 [只看该作者]

你看下你的这段语句 find("实收")= e.Form.Controls("TextBox1").text 这句的意思是把 textbox的text赋值给实收列  你是这个意思吗?还是把实收列赋值给textbox?

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


加好友 发短信
等级:幼狐 帖子:100 积分:925 威望:0 精华:0 注册:2016/12/5 10:41:00
  发帖心情 Post By:2017/1/22 17:03:00 [只看该作者]

是把 textbox 的值赋予 实收列

 

“实收”是接收列。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/22 17:41:00 [只看该作者]

参考

 

For Each dr As DataRow In DataTables("统计").Select("")
    If dr.RowState = DataRowState.Added Then
        dr("实收")=  e.Form.Controls("TextBox1").text
    End If
Next


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