Foxtable(狐表)用戶欄目專家坐堂 → 同時引用多個表數據


  共有355人關注過本帖樹形打印復制鏈接

主題:同時引用多個表數據

帥哥喲,離線,有人找我嗎?
Dxm123456789
  1樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:嬰狐 帖子:12 積分:186 威望:0 精華:0 注冊:2022/2/21 10:20:00
同時引用多個表數據  發帖心情 Post By:2022/4/3 12:56:00 [只看該作者]


”訂單明細表”引用 “產品表” 和”產品表.產品組成” 這兩個標的數據,當 ”訂單明細表” 輸入產品名時,自動輸入產品名,單價,單片名,單片數量。  當”產品表.產品組成”有多行時,只有能輸入第一行的單片名,怎樣將所有的組成全部輸入

圖片點擊可在新窗口打開查看此主題相關圖片如下:微信圖片_20220403124131.png
圖片點擊可在新窗口打開查看


圖片點擊可在新窗口打開查看此主題相關圖片如下:微信圖片_20220403130606.png
圖片點擊可在新窗口打開查看



這是在訂單明細表的datacolchanged寫的代碼   只能引用一行
If e.DataCol.Name = "產品名" Then
    Dim nms() As String = {"產品名","單價"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
        dr = DataTables("產品表").Find("[產品名] = '" & e.NewValue & "'")
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If 
If e.DataCol.Name = "產品名" Then
    Dim nms() As String = {"單片名","單片數量"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
        dr = DataTables("產品組成").Find("[產品名] = '" & e.NewValue & "'")
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If
[此貼子已經被作者于2022/4/3 13:07:43編輯過]

 回到頂部
帥哥,在線噢!
有點藍
  2樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:超級版主 帖子:85398 積分:433353 威望:0 精華:9 注冊:2015/6/24 9:21:00
  發帖心情 Post By:2022/4/5 20:33:00 [只看該作者]


 回到頂部
帥哥喲,離線,有人找我嗎?
Dxm123456789
  3樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:嬰狐 帖子:12 積分:186 威望:0 精華:0 注冊:2022/2/21 10:20:00
  發帖心情 Post By:2022/4/11 15:20:00 [只看該作者]

訂單明細輸入產品名后,新增多行并挨個錄入該產品所有組成的單片。  
我用Select后,只能錄入組成表的最后一行,怎樣將其產品所有的組成單片都錄進去呢?
這是我改用select后的代碼,幫看看哪里不對 呢?
If e.DataCol.Name = "產品名" Then
    Dim nms() As String = {"單片名","單片數量"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim Filter2 As String = "[產品名] = '" & e.DataRow("產品名") & "'"
        Dim Filter3 As Integer = Tables("產品組成").compute("count(產品名)",Filter2)
        Dim r As Row = Tables("訂單明細").AddNew(Filter3-1)
        For Each dr As DataRow In DataTables("產品組成").Select("[產品名] = '" & e.NewValue & "'")
            If dr IsNot Nothing
                For Each nm As String In nms
                    r(nm) = dr(nm)
                Next
            End If
        Next
    End If
End If

 回到頂部
帥哥,在線噢!
有點藍
  4樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:超級版主 帖子:85398 積分:433353 威望:0 精華:9 注冊:2015/6/24 9:21:00
  發帖心情 Post By:2022/4/11 15:31:00 [只看該作者]

If e.DataCol.Name = "產品名" Then
    Dim nms() As String = {"單片名","單片數量"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        For Each dr As DataRow In DataTables("產品組成").Select("[產品名] = '" & e.NewValue & "'")
        Dim r As Row = Tables("訂單明細").AddNew()
                For Each nm As String In nms
                    r(nm) = dr(nm)
                Next
        Next
    End If
End If
[此貼子已經被作者于2022/4/11 15:31:18編輯過]

 回到頂部
国产精品边做奶水狂喷无码