以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:求解如何弄成遍历行 当列为产品服务时候 改列对应的所有行 数值呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63374)

--  作者:李孝春
--  发布时间:2015/1/19 20:16:00
--  求助:求解如何弄成遍历行 当列为产品服务时候 改列对应的所有行 数值呢?

For Each c As Col In Tables("产品价格").Cols
     If c.Name Like "产品服务" Then
        Dim nr As Row = Tables("创业计划书.销售收入预测表").AddNew
        nr("产品或服务") = Tables("产品价格").Current(c.Name)
    End If
Next

上述代码实现在遍历产品价格表中的所有列 然后将销售收入预测表中的产品或服务列进行赋值

 

求解如何弄成遍历行  当列为产品服务时候 改列对应的所有行 数值呢?

 

 

谢谢关注

已经自行解决  代码如下:

Dim s As String ="产品服务"
Dim sts As List(of String) = DataTables("产品价格").GetUniqueValues("",s)
For i As Integer = 0 To sts.Count-1
    Dim r As Row = Tables("创业计划书.销售收入预测表").AddNew
    r("产品或服务") = sts(i)
Next

[此贴子已经被作者于2015-1-19 20:27:44编辑过]

--  作者:有点甜
--  发布时间:2015/1/19 20:25:00
--  
For Each c As Col In Tables("产品价格").Cols
    If c.Name = "产品服务" Then
        For Each r As Row In Tables("创业计划书.销售收入预测表").Rows
            r("产品或服务") = Tables("产品价格").Current(c.Name)
        Next
    End If
Next

--  作者:李孝春
--  发布时间:2015/1/19 20:33:00
--  回复:(有点甜)For Each c As Col In Tables("产品价...

有点甜老师  我现在想同时实现两个以上列查询并赋值 怎么解呢

操作了如下代码  结果不行

Dim Arys As List(Of String())
Arys = DataTables("产品价格").GetUniqueValues("","产品服务","销售价")
For i As Integer = 0 To arys.Count-1
    Dim r As Row = Tables("创业计划书.销售收入预测表").AddNew
    r("产品或服务") = arys(i)
    r("平均单价") = arys(i)
Next

 

求指导!谢谢

 

 

另外楼上代码运行无效 无任何提示!

[此贴子已经被作者于2015-1-19 20:34:13编辑过]

--  作者:李孝春
--  发布时间:2015/1/19 20:37:00
--  回复:(有点甜)For Each c As Col In Tables("产品价...

经修正如下代码后:运行出错

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,销售收入预测,Button3,Click
详细错误信息:
从类型“String()”到类型“String”的转换无效。

 

Dim sts As List(of String()) = DataTables("产品价格").GetUniqueValues("","产品服务","销售价")
For i As Integer = 0 To sts.Count-1
    Dim r As Row = Tables("创业计划书.销售收入预测表").AddNew
    r("产品或服务") = sts(i)
Next

 

 

[此贴子已经被作者于2015-1-19 21:05:40编辑过]

--  作者:有点甜
--  发布时间:2015/1/19 20:59:00
--  

 不知道你想表达什么

 

Dim sts As List(of String()) = DataTables("产品价格").GetUniqueValues("","产品服务","销售价")
For i As Integer = 0 To sts.Count-1
    Dim r As Row = Tables("创业计划书.销售收入预测表").AddNew
    r("产品或服务") = sts(i)(0)
    r("第三列") = sts(i)(1)
Next


--  作者:李孝春
--  发布时间:2015/1/19 21:15:00
--  回复:(有点甜)?不知道你想表达什么?...

增加判断然后只载入当前计划书编号的值

Dim a1 As Row =Tables("创业计划书").Current
Dim ab As String = a1("计划书编号")
MessageBox.Show("[计划书编号]= "& ab &" ")
Dim sts As List(of String()) = DataTables("产品价格").GetUniqueValues("[计划书编号]= \'" & ab & "\' ","产品服务","销售价")
For i As Integer = 0 To sts.Count-1
    Dim r As Row = Tables("创业计划书.销售收入预测表").AddNew
    r("产品或服务") = sts(i)(0)
    r("平均单价") = sts(i)(1)
Next

 

经测试 效果达到预期 

 

再次谢谢有点甜老师

[此贴子已经被作者于2015-1-19 21:22:00编辑过]