以文本方式查看主题

-  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=64098)

--  作者:ss
--  发布时间:2015/2/4 22:48:00
--  窗口问题
有三个问题劳烦请教一下大师们,第一个是如图所示当点<塔吊周材出库表>确认,时会出现False提示,要点完才会将内容加到存档表中,第二个问题是,我是从出库存档表中将不同设备编号、工程名称、物品名称、型号规格的出库物品,自动输入到周材出入库统计表中的,塔吊周材出库后可以完成加入到出入库统计表中。但是电梯周材出库表中当点确认时,只能从电梯周材出库明细表中增加三行到电梯出入库统计表中(把代码放到电梯周材出库存档表中也是只能加三行)。两个的结构是一样的,为什么会出现不同的情况呢?第三个是,我做了一个自定义输入窗口用在仓库管理的零配件出库中刚启动系统时点物品编号可以出现窗口,但是点多几次新增按钮后再点物品编号单元格时就不出现窗口了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:150204.rar

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


--  作者:ss
--  发布时间:2015/2/4 22:49:00
--  
开发密码888
--  作者:有点甜
--  发布时间:2015/2/4 22:58:00
--  
1、改一下列名,再改回来。
--  作者:有点甜
--  发布时间:2015/2/4 23:11:00
--  

2、参考明细表的这段代码

 

If e.DataCol.Name = "确认" Then
    If e.DataRow("确认") = True Then
        Dim dr1 As DataRow = DataTables("电梯周材出库存档表").AddNew
        dr1("设备编号") = e.DataRow("设备编号")
        dr1("工程名称") = e.DataRow("工程名称")
        dr1("设备名称") = e.DataRow("设备名称")
        dr1("出库日期") = e.DataRow("出库日期")
        dr1("物品名称") = e.DataRow("物品名称")
        dr1("型号规格") = e.DataRow("型号规格")
        dr1("数量") = e.DataRow("数量")
        dr1("单位") = e.DataRow("单位")
        dr1("设备型号") = e.DataRow("设备型号")
        dr1("结算月份") = e.DataRow("结算月份")
        dr1("标准节规格") = e.DataRow("标准节规格")
        dr1("备注") = e.DataRow("备注")
        dr1("领用人") = e.DataRow("领用人")
        dr1("编号") = e.DataRow("编号")
    End If
End If


--  作者:有点甜
--  发布时间:2015/2/4 23:23:00
--  

3、prepareEdit事件,如下代码去掉

 

If e.IsFocusCell Then \'如果是焦点所在单元格
    If e.Col.Name = "物料编号" Then \'如果正在编辑的是县市列
        \'从行政区域表提取该省市的县市作为列表项目
        e.Col.Combolist = DataTables("物料信息表").GetComboListString("物料编号", "[型号规格] = \'" & e.Row("型号规格") & "\'")
    End If
End If


--  作者:ss
--  发布时间:2015/2/5 9:08:00
--  
两个问题解决了,谢谢甜老师,第二个问题是这段
Select e.DataCol.Name    
    Case "工程名称","设备编号","物品名称","型号规格"        
        If e.DataRow.IsNull("工程名称") OrElse e.DataRow.IsNull("设备编号") OrElse e.DataRow.IsNull("物品名称") OrElse e.DataRow.IsNull("型号规格")Then            
        Else            
            Dim fdr As DataRow = DataTables("电梯周材进场出库统计表").Find("工程名称 = \'" & e.DataRow("工程名称") & "\' and 设备编号 = \'" & e.DataRow("设备编号") & "\' and 物品名称= \'" & e.DataRow("物品名称") & "\' and 型号规格= \'" & e.DataRow("型号规格") & "\'")            
            If fdr Is Nothing Then                
                Dim nr As Row = Tables("电梯周材进场出库统计表").AddNew                
                nr("工程名称") = e.DataRow("工程名称")                
                nr("设备编号") = e.DataRow("设备编号")                
                nr("物品名称") = e.DataRow("物品名称")                
                nr("型号规格") = e.DataRow("型号规格")
                nr("单位") = e.DataRow("单位")
                nr("标准节规格") = e.DataRow("标准节规格")                    
            End If            
        End If        
End Select
每次只往电梯周材进场出库统计表里加三行,不知是什么原因?

--  作者:有点甜
--  发布时间:2015/2/5 9:23:00
--  
Select e.DataCol.Name
    Case "工程名称","设备编号","物品名称","型号规格"
       
        Dim fdr As DataRow = DataTables("电梯周材进场出库统计表").Find("工程名称 = \'" & e.DataRow("工程名称") & "\' and 设备编号 = \'" & e.DataRow("设备编号") & "\' and 物品名称= \'" & e.DataRow("物品名称") & "\' and 型号规格= \'" & e.DataRow("型号规格") & "\'")
        If fdr Is Nothing Then
            Dim nr As Row = Tables("电梯周材进场出库统计表").AddNew
            nr("工程名称") = e.DataRow("工程名称")
            nr("设备编号") = e.DataRow("设备编号")
            nr("物品名称") = e.DataRow("物品名称")
            nr("型号规格") = e.DataRow("型号规格")
            nr("单位") = e.DataRow("单位")
            nr("标准节规格") = e.DataRow("标准节规格")
        End If
       
End Select

--  作者:ss
--  发布时间:2015/2/5 11:07:00
--  
还是不行,还是只自动增加了三行,其它的都没能加上.
--  作者:有点甜
--  发布时间:2015/2/5 11:39:00
--  
测试没有问题啊,去掉if判断就行了啊。
--  作者:ss
--  发布时间:2015/2/5 19:37:00
--  
我的不行,不知是什么原因.不知是不是我有时在XP系统上做,有时在WIN7上做的原因啊.有些问题总是很奇怪.