以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  处理自动录显示问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=9377)

--  作者:caoxy
--  发布时间:2011/4/3 12:52:00
--  处理自动录显示问题

师傅你好,对狐表我是初学,在边看帮助边操作过程中遇到一些问题,只有向师傅请教,才能进一步得到提高,同时也希望师傅不要怕烦,在此,本人表示衷心的感谢!

 

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

 

这是我写的代码,不能自动显示

Select Case e.DataCol.Name
    Case "品种","型钢_规格","排档_规格", "托圈_规格", "角钢腰圈_规格", "元钢腰圈_规格", "拉丝圆_规格", "中板_规格", "护缆圈_规格", "钢管_规格", "加固角钢_规格", "螺母_规格", "弹垫_规格"
        Dim dr2 As DataRow
        Dim fls As String
        fls = "盘具名称 = \'" & dr1("品种") & "\' And 钢材规格 = \'" & dr1("型钢_规格") & "\' And 钢材规格 = \'" & dr1("排档_规格") & "\'And 钢材规格 = \'" & dr1("托圈_规格") & "\' And 钢材规格 = \'" & dr1("角钢腰圈_规格") & "\' And 钢材规格 = \'" & dr1("元钢腰圈_规格") & "\' And 钢材规格 = \'" & dr1("拉丝圆_规格") & "\' And 钢材规格 = \'" & dr1("中板_规格") & "\' And 钢材规格 = \'" & dr1("护缆圈_规格") & "\' And 钢材规格 = \'" & dr1("钢管_规格") & "\' And 钢材规格 = \'" & dr1("加固角钢_规格") & "\' And 钢材规格 = \'" & dr1("螺母_规格") & "\' And 钢材规格 = \'" & dr1("弹垫_规格") & "\'"                                               
        dr2 = DataTables("参数").Find(fls)
        If dr2 IsNot Nothing Then
            dr1("型钢_单价") = dr2("钢材单价")
            dr1("排档_单价") = dr2("钢材单价")
            dr1("托圈_单价") = dr2("钢材单价")
            dr1("角钢腰圈_单价") = dr2("钢材单价")
            dr1("元钢腰圈_单价") = dr2("钢材单价")
            dr1("拉丝圆_单价") = dr2("钢材单价")
            dr1("中板_单价") = dr2("钢材单价")
            dr1("护缆圈_单价") = dr2("钢材单价")
            dr1("钢管_单价") = dr2("钢材单价")
            dr1("加固角钢_单价") = dr2("钢材单价")
            dr1("螺母_单价") = dr2("钢材单价")
            dr1("弹垫_单价") = dr2("钢材单价")
        End If
End Select


--  作者:caoxy
--  发布时间:2011/4/3 12:56:00
--  

是盘具成本表


--  作者:狐狸爸爸
--  发布时间:2011/4/3 15:39:00
--  

看看你的条件,全部是钢材规格:

 

 

fls = "盘具名称 = \'" & dr1("品种") & "\' And 钢材规格 = \'" & dr1("型钢_规格") & "\' And 钢材规格 = \'" & dr1("排档_规格") & "\'And 钢材规格 = \'" & dr1("托圈_规格") & "\' And 钢材规格 = \'" & dr1("角钢腰圈_规格") & "\' And 钢材规格 = \'" & dr1("元钢腰圈_规格") & "\' And 钢材规格 = \'" & dr1("拉丝圆_规格") & "\' And 钢材规格 = \'" & dr1("中板_规格") & "\' And 钢材规格 = \'" & dr1("护缆圈_规格") & "\' And 钢材规格 = \'" & dr1("钢管_规格") & "\' And 钢材规格 = \'" & dr1("加固角钢_规格") & "\' And 钢材规格 = \'" & dr1("螺母_规格") & "\' And 钢材规格 = \'" & dr1("弹垫_规格") & "\'"                                               

 

每一行的钢材规格列只是一个值,怎么可能同时等于多个值? 这等于你要求一个人身高必须同时等于150、160、170、180cm,会有这样的人吗,因为人的身高只有一个。


你应该拆分成多个:

 

Select Case e.DataCol.Name
    Case "品种","型钢_规格"
        Dim dr2 As DataRow
        Dim fls As String
        fls = "盘具名称 = \'" & dr1("品种") & "\' And 钢材规格 = \'" & dr1("型钢_规格") & "\'"
        dr2 = DataTables("参数").Find(fls)
        If dr2 IsNot Nothing Then
            dr1("型钢_单价") = dr2("钢材单价")
        End If
End Select
Select Case e.DataCol.Name
    Case "品种",""排档_规格"
        Dim dr2 As DataRow
        Dim fls As String
        fls = "盘具名称 = \'" & dr1("品种") & "\' And "钢管_规格 = \'" & dr1(""钢管_规格") & "\'"
        dr2 = DataTables("参数").Find(fls)
        If dr2 IsNot Nothing Then
            dr1("钢管_单价") = dr2("钢材单价")
        End If
End Select
....

[此贴子已经被作者于2011-4-3 15:49:37编辑过]

--  作者:caoxy
--  发布时间:2011/4/3 18:08:00
--  
Select Case e.DataCol.Name
    Case "品种",""排档_规格"
        Dim dr2 As DataRow
        Dim fls As String
        fls = "盘具名称 = \'" & dr1("品种") & "\' And "钢管_规格 = \'" & dr1(""钢管_规格") & "\'"
        dr2 = DataTables("参数").Find(fls)
        If dr2 IsNot Nothing Then
            dr1("钢管_单价") = dr2("钢材单价")
        End If
End Select
是按这一种方式写吗
--  作者:caoxy
--  发布时间:2011/4/3 18:33:00
--  

师傅你好:

按上面写法也不显示


--  作者:狐狸爸爸
--  发布时间:2011/4/3 19:17:00
--  

列名错了,要一一对应:

 

Select Case e.DataCol.Name
    Case "品种",""排档_规格"
        Dim dr2 As DataRow
        Dim fls As String
        fls = "盘具名称 = \'" & dr1("品种") & "\' And "钢管_规格 = \'" & dr1(""钢管_规格") & "\'"
        dr2 = DataTables("参数").Find(fls)
        If dr2 IsNot Nothing Then
            dr1("排档_单价") = dr2("钢材单价")
        End If
End Select

[此贴子已经被作者于2011-4-3 19:19:05编辑过]

--  作者:caoxy
--  发布时间:2011/4/3 21:16:00
--  

Select Case e.DataCol.Name
    Case "品种",""排档_规格"
        Dim dr2 As DataRow
        Dim fls As String
        fls = "盘具名称 = \'" & dr1("品种") & "\' And "钢管_规格 = \'" & dr1(""钢管_规格") & "\'"
        dr2 = DataTables("参数").Find(fls)
        If dr2 IsNot Nothing Then
            dr1("排档_单价") = dr2("钢材单价")
        End If
End Select

这组代码确定时出现错误提示

编译错误:应为语句结束

错误代码:case "品种"," "排档_规格"


--  作者:mr725
--  发布时间:2011/4/3 23:37:00
--  

错误代码:case "品种"," "排档_规格"   :  这不是告诉你了嘛,多了个 "


--  作者:caoxy
--  发布时间:2011/4/4 1:05:00
--  

就是去了也不行


--  作者:caoxy
--  发布时间:2011/4/4 6:56:00
--  

我还是无法解决,只有师傅能够处理