以文本方式查看主题

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

--  作者:jinzhengbe
--  发布时间:2015/8/13 15:06:00
--  是代码的问题么?

 是代码的问题么?


此主题相关图片如下:qq截图.png
按此在新窗口浏览图片

Tables("product").save
Tables("kucun").save

 

Dim Cols1() As String = {"tanumru","jiecun","chuanhuoc","tasallnum","shangpinming","cord"}
Dim Cols2() As String = {"in","jie","chuanhuo","xiaoshou","name","cord"}

For Each dr1 As DataRow In DataTables("product").Select("[newnum]<>0")
    Dim dr2 As DataRow = DataTables("kucun").AddNew()
   
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
       
    Next
Next

DataTables("kucun1").LoadFilter = ""
DataTables("kucun1").Load


    If Tables("xiaoshou").Current IsNot Nothing Then
    Dim p As String = Tables("xiaoshou").Current("time1")
   
    Dim Book1 As New XLS.Book(ProjectPath & "Attachments\\库存.xls") \'打开模板
    Dim fl1 As String = ProjectPath & "Reports\\库存.xls"
    Dim Sheet1 As XLS.Sheet = Book1.Sheets(0)
    Book1.Build() \'生成报表
    Book1.Save(fl1)
    Dim Proc1 As New Process
    Proc1.File = fl1
    Book1.Save("c:\\mifeng\\kucun\\" & p & format(Date.Now, "ddhhmm") & "库存.xls")
    Proc1.Start()

       End If


--  作者:大红袍
--  发布时间:2015/8/13 15:08:00
--  

你确定是这两句代码的问题?去掉就不报错?

 

DataTables("kucun1").LoadFilter = ""
DataTables("kucun1").Load


--  作者:大红袍
--  发布时间:2015/8/13 15:09:00
--  
 你还是做例子上来测试吧。
--  作者:jinzhengbe
--  发布时间:2015/8/13 15:16:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:hao.foxdb

前面先加些数据 销售,选商品名   然后输入 数量 和价格就行

有了数据之后

点 清点库存 那个菜单。

 

 


--  作者:大红袍
--  发布时间:2015/8/13 15:45:00
--  
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:hao.foxdb


--  作者:jinzhengbe
--  发布时间:2015/8/15 23:30:00
--  

问题已经解决,顺便在问一下,这个代码,怎么判断是否被复制过,如果被复制过,点 清点库存的时候,就不再复制已经被复制过的内容


Dim Cols1() As String = {"tanumru","jiecun","chuanhuoc","tasallnum","shangpinming","cord"}
Dim Cols2() As String = {"in","jie","chuanhuo","xiaoshou","name","cord"}

For Each dr1 As DataRow In DataTables("product").Select("[newnum]<>0")
    Dim dr2 As DataRow = DataTables("kucun").AddNew()
    
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
        
    Next
Next


--  作者:有点蓝
--  发布时间:2015/8/16 8:29:00
--  
加个标志列吧,设置为boolean类型,如果复制就设置为true
清点的时候看这个标志列的状态就知道是否复制过

--  作者:大红袍
--  发布时间:2015/8/16 10:20:00
--  

在 product 加上标志列记录是否被复制;

 

或者在库存表存放 product 表的主键