Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:请教运费计算问题

1楼
caoxy 发表于:2011/3/17 17:50:00

If e.DataCol.Name = "驾驶员" Then
    Dim dr As DataRow
    dr = DataTables("参数").Find("驾驶员 = " & "'" & e.DataRow("驾驶员") & "'" )
    If dr IsNot Nothing '如果找到, 则设置各列内容
        e.DataRow("车号")= dr("车号")
        e.DataRow("车长")= dr("车长")
    End If
ElseIf e.DataCol.Name = "运输地点" Then
    Dim dr As DataRow
    dr = DataTables("参数").Find("运输地点 = " & "'" & e.DataRow("运输地点") & "'" )
    If dr IsNot Nothing '如果找到, 则设置各列内容
        e.DataRow("运费")= dr("运费")
    End If
End If
师傅你好:

上面代码有异常现象,主要体现在

1、运输地点改变,运费也改娈,但不是按照车长和地点所设定的价格。

2、驾驶员所对应的车长、车号改变,运费没有对应改变,

烦请师傅帮忙解决

2楼
狐狸爸爸 发表于:2011/3/17 17:54:00

1、帖子的标题要简单描述问题。

2、如过是同一个问题,在原贴后面跟帖即可,不要重复发帖。

3、最好配合例表。

 

[此贴子已经被作者于2011-3-17 17:55:32编辑过]
3楼
caoxy 发表于:2011/3/17 18:15:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生产管理.rar

出口处理表窗口下面,请师傅帮忙处理
4楼
狐狸爸爸 发表于:2011/3/17 18:31:00
Dim dr1 As DataRow = e.DataRow
If e.DataCol.Name = "驾驶员" Then
    Dim dr2 As DataRow = DataTables("参数").Find("驾驶员 = " & "'" & dr1("驾驶员") & "'" )
    If dr2 IsNot Nothing '如果找到, 则设置各列内容
        dr1("车号")= dr2("车号")
        dr1("车长")= dr2("车长")
    End If
End If
Select Case e.DataCol.Name
    Case  "运输地点" ,"车号", "车长"
        Dim dr2 As DataRow
        dr2 = DataTables("参数").Find("运输地点 = " & "'" & dr1("运输地点") & "' And 车长 = '" & dr1("车长") & "' And 车号 = '" &  dr1("车号") & "'" )
        If dr2 IsNot Nothing '如果找到, 则设置各列内容
            dr1("运费")= dr2("运费")
        End If
End Select
5楼
caoxy 发表于:2011/3/17 19:02:00

谢谢师傅,这个代码已试验成功,

出口处理窗口中还有一个二次运输,代码如何写,还是要请师傅呀

6楼
狐狸爸爸 发表于:2011/3/17 21:10:00

同样设置代码即可:

 

Dim dr1 As DataRow = e.DataRow
If e.DataCol.Name = "驾驶员" Then
    Dim dr2 As DataRow = DataTables("参数").Find("驾驶员 = " & "'" & dr1("驾驶员") & "'" )
    If dr2 IsNot Nothing '如果找到, 则设置各列内容
        dr1("车号")= dr2("车号")
        dr1("车长")= dr2("车长")
    End If
End If
Select Case e.DataCol.Name
    Case  "运输地点" ,"车号", "车长"
        Dim dr2 As DataRow
        dr2 = DataTables("参数").Find("运输地点 = " & "'" & dr1("运输地点") & "' And 车长 = '" & dr1("车长") & "' And 车号 = '" &  dr1("车号") & "'" )
        If dr2 IsNot Nothing '如果找到, 则设置各列内容
            dr1("运费")= dr2("运费")
        End If
End Select
If e.DataCol.Name = "二次运输" Then
    Dim dr2 As DataRow = DataTables("参数").Find("驾驶员 = " & "'" & dr1("二次运输") & "'" )
    If dr2 IsNot Nothing '如果找到, 则设置各列内容
        dr1("二次车号")= dr2("车号")
        dr1("二次车长")= dr2("车长")
    End If
End If
Select Case e.DataCol.Name
    Case  "运送地点" ,"二次车号", "二次车长"
        Dim dr2 As DataRow
        dr2 = DataTables("参数").Find("运输地点 = " & "'" & dr1("运送地点") & "' And 车长 = '" & dr1("二次车长") & "' And 车号 = '" &  dr1("二次车号") & "'" )
        If dr2 IsNot Nothing '如果找到, 则设置各列内容
            dr1("二次运费")= dr2("运费")
        End If
End Select

[此贴子已经被作者于2011-3-17 21:14:02编辑过]
7楼
caoxy 发表于:2011/3/18 7:23:00

谢谢

8楼
blackzhu 发表于:2011/3/18 10:06:00

dr2 = DataTables("参数").Find("运输地点 = " & "'" & dr1("运输地点") & "' And 车长 = '" & dr1("车长") & "' And 车号 = '" &  dr1("车号") & "'" )

 

在这句代码中把条件加多就可以了.

共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 3 queries.