以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]相关联信息  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74767)

--  作者:fred
--  发布时间:2015/9/18 14:13:00
--  [求助]相关联信息

有两个表:“SelfInquiry”,"SelfQuote"。两表中都有相同字段“内询单号”,“selfQuote”中还有一个字段“报送状态”。

有两个窗体:内询价(所有者表为“SelfInquiry”),相关内报价(里面TABLE表控件关联到“SelfQuote”


 

内询价窗体中有一个按钮相关内报价

 

目的:在内询价窗体中点相关内报价,跳出相关内报价窗体,并在窗体表中显示与当前内询单号相关的“已报送”状态的内报价数据。如下代码对的吗?:

Form("相关内报价").show

Dim dr1 As DataRow = DataTables("SelfInquiry").datarows

Dim dr2 As datarow = DataTables("Selfquote").Find("内询单号= \'" & dr1("内询单号") & \'")

     if dr2 IsNot Nothing Then

        DataTables(“SelfQuote”). LoadFilter = "报送状态 = \'已报送\'"

    else

        MessageBox.Show(“还没人报价呢.”)

end If

DataTables(“SelfQuote”).Load

[此贴子已经被作者于2015/9/18 14:15:54编辑过]

--  作者:Hyphen
--  发布时间:2015/9/18 14:37:00
--  

Forms("相关内报价").Open()

Dim dr1 As Row = Tables("SelfInquiry").Current

Dim dr2 As DataRow = DataTables("Selfquote").Find("内询单号= \'" & dr1("内询单号") & "\'")

     If dr2 IsNot Nothing Then

        DataTables("SelfQuote"). LoadFilter = "报送状态 = \'已报送\'"

    Else

        MessageBox.Show("还没人报价呢.")

End If


DataTables("SelfQuote").Load()


--  作者:fred
--  发布时间:2015/9/30 12:04:00
--  
.NET Framework 版本:2.0.50727.5477
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,内询价,Button13,Click
详细错误信息:
从字符串“内询单号”到类型“Integer”的转换无效。
输入字符串的格式不正确。


--  作者:大红袍
--  发布时间:2015/9/30 12:10:00
--  
2楼代码没错,你数据数据有问题吧? dr1("内询单号")
--  作者:fred
--  发布时间:2015/9/30 12:11:00
--  
我再找找看


--  作者:fred
--  发布时间:2015/10/4 17:08:00
--  
问题调整后解决了。
但呈现的结果不是我所要的。
我所要的结果是:当点询价窗体中的“相关联报价”时,弹出的“相关内报价”窗体中TABLE表(绑定到报价表)显示出来的东西   同时  满足两个条件:
1.必须是字段“报送”是“已报送”
2.呈现的报价表中的字段“内询单号”的值  等于  询价窗体中的“TextBox1”的值。其它内询单号不显示出来。

说白一点就是,看当前询价单号所对应的报价表中有没有人报价,若有则显示相应的已报送的报价信息,注意是相应的。若无,就提示还没人报价。
例子如下。但代码呈现不出我要的结果。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:相关联信息.rar



--  作者:大红袍
--  发布时间:2015/10/7 11:59:00
--  

Forms("相关内报价").Open()
Dim dr1 As Row = Tables("询价").Current

Dim Filter As String = "报送 = \'已报送\' and 询价单号= \'" & dr1("询价单号") & "\'"
Dim dr2 As DataRow = DataTables("报价").Find(filter)
If dr2 IsNot Nothing Then
    DataTables("报价"). LoadFilter = filter
Else
    MessageBox.Show("还没人报价呢.")
End If

DataTables("报价").Load()

[此贴子已经被作者于2015/10/7 12:00:00编辑过]