以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何从数据库复制内容到窗口表  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=107239)

--  作者:hopestarxia
--  发布时间:2017/9/23 23:42:00
--  如何从数据库复制内容到窗口表
求助:
项目设计使用的为SQL数据库,
数据库中设计了有货品表goods;
物料清单表goodscom,

加工单主表:加工单主表上选择要加工的货品
加工单细表:加工单细表是当次加工的物料清单;

设计了新增加工单的窗口,窗口中产联了“加工单细表”,窗口中有COMBOBOX插件选择本次需要加工的产品;
如何能实现在新增加工单窗口中,当选择好加工单主表上的产品编码后,
加工单明细表自动按数据库中的物料清单表带到明细表中,

关联:物料清单中的产品ID 等于加工单主表上选择的产品ID;


--  作者:有点甜
--  发布时间:2017/9/24 23:03:00
--  

 直接填充数据,参考

 

http://www.foxtable.com/webhelp/scr/1533.htm

 


--  作者:hopestarxia
--  发布时间:2017/9/28 21:09:00
--  
谢谢有点甜老师。使用以来得到您的多次耐心指点,再次感谢。
--  作者:hopestarxia
--  发布时间:2017/10/4 8:15:00
--  从表中内容复制到窗口中发生问题
老师,产品明细还是不能复制到窗口中。
两种代码都不行
代码1如下
If goodsid.text <> "" Then

Dim Cols1() As String = {"goodsid","elemgid","quantity","masterqty","usetime","userdef1","userdef2","userdef3","userdef4"}
Dim Cols2() As String = {"goodsid","elemgid","quantity","masterqty","usetime","userdef1","userdef2","userdef3","userdef4"}
For Each dr1 As DataRow In DataTables("l_goodsbom").Select("[goodsid] = \' " & goodsid.text & " \' ")
    Dim dr2 As DataRow = DataTables("scdcbom").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next 

End If

代码2如下:
If goodsid.text <> "" Then

Dim Cols1() As String = {"goodsid","elemgid","quantity","masterqty","usetime","userdef1","userdef2","userdef3","userdef4"}
Dim Cols2() As String = {"goodsid","elemgid","quantity","masterqty","usetime","userdef1","userdef2","userdef3","userdef4"}
For Each dr1 As DataRow In DataTables("l_goodsbom").Select("[goodsid] = \' " & goodsid.text & " \' ")
    Dim dr2 As DataRow = DataTables("scdcbom").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next 

End If

请老师指导。

附件里项目,具体窗口为:配方指令---新增指令  ,产品选择后,点引入配方或引入配方2
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生产下单系统.rar


--  作者:有点蓝
--  发布时间:2017/10/4 11:26:00
--  
1、数值列不需要单引号
2、选择窗口打开时已经清空l_goodsbom表,需要从后台取数据

Dim goodsid As WinForm.TextBox = e.Form.Controls("TextBox8")

If goodsid.text > "" Then
    Dim Cols1() As String = {"goodsid","elemgid","quantity","masterqty","usetime","userdef1","userdef2","userdef3","userdef4"}
    Dim Cols2() As String = {"goodsid","elemgid","quantity","masterqty","usetime","userdef1","userdef2","userdef3","userdef4"}

    For Each dr1 As DataRow In DataTables("l_goodsbom").SQLSelect("[goodsid] = " & goodsid.text)
        Dim dr2 As Row = Tables("新增指令_Table1").AddNew()
        For i As Integer = 0 To Cols1.Length -1
            dr2(Cols2(i)) = dr1(Cols1(i))
        Next
    Next
    
End If

代码2用法一样,参考什上面自己改