Foxtable(狐表)用户栏目专家坐堂 → 关联表取值报错


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

主题:关联表取值报错

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


加好友 发短信
等级:童狐 帖子:286 积分:1926 威望:0 精华:0 注册:2017/7/20 19:46:00
关联表取值报错  发帖心情 Post By:2017/7/31 10:16:00 [只看该作者]

版主,请教一个关联表报错的问题,关联表设置如下图:

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
代码截图:

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
运行报借截图:

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

但是关闭报错窗后,结果是达到设计目标的,不知道报错原因在那里,代码如下:
Tables("kmbn405.kmbn401").Filter="类别='" & e.sender.text & "'"    '查询输入内容与表内容是否一致,一致则把表中的"某列"值加入文本框中 
        If Tables("kmbn405.kmbn401").rows.count > 0 Then
           Dim txt4 = e.form.controls("Textbox4")
               txt4.text = Tables("kmbn405.kmbn401").current("项目编号")
           Dim txt5 = e.form.controls("Textbox5")
               txt5.text = Tables("kmbn405.kmbn401").current("项目名称")
           Dim txt6 = e.form.controls("Textbox6")
               txt6.text = Tables("kmbn405.kmbn401").current("单位")
           Dim txt7 = e.form.controls("Textbox7")
               txt7.text = Tables("kmbn405.kmbn401").current("单价")
        End If 

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/31 10:32:00 [只看该作者]

Tables("kmbn405.kmbn401").Filter="项目名称='" & e.sender.text & "'"

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/31 10:34:00 [只看该作者]

如果是关联表。2楼的代码还可以不写,都直接有效果了。

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


加好友 发短信
等级:童狐 帖子:286 积分:1926 威望:0 精华:0 注册:2017/7/20 19:46:00
  发帖心情 Post By:2017/7/31 10:39:00 [只看该作者]


这个方式也试过。改为“项目名称”,后是不报错了,但是没有取到相应的值

图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看



Tables("kmbn405.kmbn401").Filter="项目名称='" & e.sender.text & "'"    '查询输入内容与表内容是否一致,一致则把表中的"某列"值加入文本框中 
        If Tables("kmbn405.kmbn401").rows.count > 0 Then
           Dim txt4 = e.form.controls("Textbox4")
               txt4.text = Tables("kmbn405.kmbn401").current("项目编号")
           Dim txt5 = e.form.controls("Textbox5")
               txt5.text = Tables("kmbn405.kmbn401").current("项目名称")
           Dim txt6 = e.form.controls("Textbox6")
               txt6.text = Tables("kmbn405.kmbn401").current("单位")
           Dim txt7 = e.form.controls("Textbox7")
               txt7.text = Tables("kmbn405.kmbn401").current("单价")
        End If 

Dim txt3 = e.form.controls("Textbox3")
For Each s As String In txt3.text.split(",")
    Dim nr As Row = Tables("kmbn104").AddNew
    nr("箱号") = s
    nr("消费单据号") = "00000001"
    nr("项目编号") = e.Form.Controls("TextBox4").Value
    nr("项目名称") = e.Form.Controls("TextBox5").Value
    nr("数量") = "1"
    nr("单位") = e.Form.Controls("TextBox6").Value
    nr("单价") = e.Form.Controls("TextBox7").Value
    nr("消费时间") =Date.Now
    nr("录入工号") = user.name
    nr("录入姓名") = user.name
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/31 10:52:00 [只看该作者]

那就说明没有查找到对应的值。你是不是表名写错了?

 

Tables("kmbn401").Filter="项目名称='" & e.sender.text & "'"  

msgbox(Tables("kmbn401").Rows.count)


 回到顶部