以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于录入子项  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=64159)

--  作者:信达
--  发布时间:2015/2/6 9:19:00
--  关于录入子项

老师,我想在窗口1中输入项目名和项目号后,录入订单管理表各子项,同时将项目名和项目号也写入各行中,是不是不能用下面这种录入代码?要怎么写?

SystemReady = False
Dim mg As New Merger
mg.SourcePath ="C:\\Users\\ 订单管理表.xls"
mg.Format = "excel" \'指定格式
mg.SourceTableName = " 订单管理表$" \'指定要合并的表
mg.DataTableName = "订单" \'指定接收数据的表
mg.FieldMaps.Add("委托单位","客户简称")
mg.FieldMaps.Add("车型","项目名称")
mg.FieldMaps.Add("名称","部件名称")
mg.FieldMaps.Add("计划交期","计划交货期")
mg.FieldMaps.Add("车号","车号配置")
mg.FieldMaps.Add("收货人/收货地点","交货地点")
mg.Merge() \'开始合并
SystemReady = True

 


--  作者:Bin
--  发布时间:2015/2/6 9:22:00
--  
你这是把整个表合并了一次啊
--  作者:信达
--  发布时间:2015/2/6 9:26:00
--  
是建立新项目(项目名和项目号),然后把项目中订单子项全部录入进来。
--  作者:Bin
--  发布时间:2015/2/6 9:30:00
--  
父表录入一条数据   项目名称和项目号

子表导入对应的所有数据?



--  作者:信达
--  发布时间:2015/2/6 9:32:00
--  
是的,然后在子表中每一行都写入同样的项目名称和项目号。
--  作者:Bin
--  发布时间:2015/2/6 9:34:00
--  
用这个方法,搞不定就上例子  http://www.foxtable.com/help/topics/2334.htm


--  作者:信达
--  发布时间:2015/2/6 9:47:00
--  

嗯,这个我知道。我只是不知道如何把窗口1中的项目名和项目号写入子项的每一行的代码。

就比如说在下面这个代码里,在合并的时候把项目名和项目号都加上去。

SystemReady = False
Dim mg As New Merger
mg.SourcePath ="C:\\Users\\ 订单管理表.xls"
mg.Format = "excel" \'指定格式
mg.SourceTableName = " 订单管理表$" \'指定要合并的表
mg.DataTableName = "订单" \'指定接收数据的表
mg.FieldMaps.Add("委托单位","客户简称")
mg.FieldMaps.Add("车型","项目名称")
mg.FieldMaps.Add("名称","部件名称")
mg.FieldMaps.Add("计划交期","计划交货期")
mg.FieldMaps.Add("车号","车号配置")
mg.FieldMaps.Add("收货人/收货地点","交货地点")
mg.Merge() \'开始合并
SystemReady = True

 


--  作者:Bin
--  发布时间:2015/2/6 9:49:00
--  
一定要用6楼的方法才可以自由控制
--  作者:有点甜
--  发布时间:2015/2/6 9:50:00
--  
 必须用6楼的方法
--  作者:信达
--  发布时间:2015/2/6 9:58:00
--  

那是不是就是这段代码?然后怎样把窗口1中的项目名和项目代码加进去呢?

 

Dim Book As New XLS.Book("C:\\Users\\订单管理表.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
Dim Cols1() As String = {"委托单位","名称","图号","计划编号",“数量”,“交货期”}
Dim Cols2() As String = {"客户简称","部件名称","图号","计划编号",“数量”,“交货期”}
For dr1 As Integer = 1 To Sheet.Rows.Count -1
       dr2 =  DataTables("订单").AddNew()
    End If
   For i As Integer = 0 To Cols1.Length - 1
       dr2(Cols2(i)) = sheet(dr1,i).Text
   Next
Next
\'Tables("订单").ResumeRedraw()

[此贴子已经被作者于2015-2-6 10:03:23编辑过]