以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多行引用  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24619)

--  作者:wilson
--  发布时间:2012/10/18 13:46:00
--  多行引用

我想实现点击窗口按钮,能够自动更新 配件.配件用量 表的单价。

调试了N次无法实现,求助
Dim acmd As New SQLCommand
Dim adt As Double
Dim adr As String = Tables("配件.配件用量").Rows.Count("名称")
Dim adr1 As Double = Tables("配件.配件用量").Rows.Count("单价")
acmd.C
acmd.CommandText = "SELECT 单价 From {配件表} Where [名称] = \'" & adr & "\' Order By 日期 Desc"
adt = acmd.ExecuteScalar()
If adr1 Then
    If adt <> 0 Then
        adr1= adt
    Else
        adr1 = 0
    End If
End If

 

谢谢!


--  作者:lin_hailun
--  发布时间:2012/10/18 14:08:00
--  
  表 配件.配件用量 是关联表,主表改变,关联表自动会改变。

  楼主,你的问题具体点……

--  作者:wilson
--  发布时间:2012/10/18 14:20:00
--  

谢谢!

我用主表也不行


--  作者:lin_hailun
--  发布时间:2012/10/18 14:47:00
--  
 具体问题,截图说明,或者做个小例子……关联表如果没有自动更新的功能,就是去它意义了。
--  作者:狐狸爸爸
--  发布时间:2012/10/18 14:56:00
--  

这两行代码有问题,语法都错了:
 
Dim adr As String = Tables("配件.配件用量").Rows.Count("名称")
Dim adr1 As Double = Tables("配件.配件用量").Rows.Count("单价")
 
还有这段代码的逻辑是什么? 提问的时候,不能做例子,最好也详细说明这段代码的目的和逻辑。
 
你要在“配件.配件用量”修改了某行的单价,然后单击某个按钮,希望同产品的单价同步修改?
如果这样,我蒙一下:

 

Dim mc = Tables("配件.配件用量").current("名称")
Dim dj = Tables("配件.配件用量").current("单价")
For Each r As Row In Tables("配件.配件用量").Rows
    If r("名称") = mc Then
        r("单价") = dj
    End If
Next

 
 
 


--  作者:wilson
--  发布时间:2012/10/18 16:50:00
--  

非常感谢各位的帮助!

 


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


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

我是想点击Button1时,能够把配件表的单价,自动引用到配件.配件用量表的单价列里。
并且是把配件.配件用量表所有行的单价更新为最新的单价

 


--  作者:wilson
--  发布时间:2012/10/18 16:55:00
--  
以下是引用wilson在2012-10-18 16:50:00的发言:

非常感谢各位的帮助!

 


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


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

我是想点击Button1时,能够把配件表的单价,自动引用到配件.配件用量表的单价列里。
并且是把配件.配件用量表所有行的单价更新为最新的单价

配件表为外部数据源,配件表的数据要从数据库引用


--  作者:lin_hailun
--  发布时间:2012/10/18 17:18:00
--  
 为什么不让 配件表 配件用量 也关联一下? 这样就自动更新单价了。

如果要写代码,如下

For Each r As Row In Tables("配件表").Rows
    mc = r("名称")
    dj = r("单价")
    Dim pos As Integer = Tables("配件.配件用量").FindRow("名称 = \'" & mc & "\'", 0, false)
    If pos >= 0 Then
        Tables("配件.配件用量").Rows(pos)("单价") = dj
    End If
Next

--  作者:wilson
--  发布时间:2012/10/19 11:50:00
--  

谢谢各位!

问题已解决,改用重置列