以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=60542)

--  作者:affixed
--  发布时间:2014/11/26 16:18:00
--  代码问题
请问我以下代码问题出在哪里?
保存代码时提示:属性访问必须分配给属性或使用他的值。

Dim hs As Integer
Dim wlid As String
Dim dr As DataRow
Dim dj As Double
hs = Tables("窗口1_Table1").rows.Count
For i As Integer = 0 To hs    
    dr = DataTables("unitPriceList").find("djItemID = \'" & wlid & "\'")
    With DataTables("unitPriceList")
        dj = .compute("min(djUp)","djYxx = True")
    End With
    Tables("窗口1_Table1").Rows(i(Cols(7)) = dj
Next

--  作者:有点甜
--  发布时间:2014/11/26 16:21:00
--  
 你直接说,你想实现什么功能吧。
--  作者:Bin
--  发布时间:2014/11/26 16:22:00
--  
Tables("窗口1_Table1").Rows(i(Cols(7)) = dj
i(Cols(7)  这个是什么意思? 
--  作者:affixed
--  发布时间:2014/11/26 16:31:00
--  
表A中有物料ID列,通过取每行此列的值,在表B中查找出此物料最低的单价,并将此找到的最低单价复制到表A的此物料ID记录行的单价列中。
--  作者:Bin
--  发布时间:2014/11/26 16:34:00
--  
Tables("窗口1_Table1").Rows(i(Cols(7)) = dj

改为

Tables("窗口1_Table1").Rows(i)("单价") = dj

--  作者:有点甜
--  发布时间:2014/11/26 16:38:00
--  

For Each r As Row In Tables("窗口1_Table1").rows 
    Dim dj As Double = DataTables("unitPriceList").compute("min(djUp)","djYxx = True and djItemID = \'" & r("djItemID") & "\'")
    r("djUp") = dj
Next

--  作者:affixed
--  发布时间:2014/11/26 17:07:00
--  
甜老师,请问如果我要将你给我的这段代码修改下,同时将此最低价格的供应商名称也取出并填入到Tables("窗口1_Table1")中,代码要怎么修改?
--  作者:有点甜
--  发布时间:2014/11/26 17:09:00
--  
 For Each r As Row In Tables("窗口1_Table1").rows 
    Dim fdr As DataRow = DataTables("unitPriceList").Find("djYxx = True and djItemID = \'" & r("djItemID") & "\'", "djUp")
    If fdr IsNot Nothing Then
        r("djUp") = fdr("djUp")
        r("单价") = fdr("单价")
    End If
Next

--  作者:affixed
--  发布时间:2014/11/26 17:16:00
--  
甜老师太强大了,以后生女儿就一定把她嫁给你当老婆。