Foxtable(狐表)用户栏目专家坐堂 → 请教运费计算问题


  共有11505人关注过本帖树形打印复制链接

主题:请教运费计算问题

帅哥哟,离线,有人找我吗?
caoxy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
请教运费计算问题  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/17 17:54:00 [只看该作者]

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

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

3、最好配合例表。

 

[此贴子已经被作者于2011-3-17 17:55:32编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
caoxy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/17 18:15:00 [只看该作者]

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

出口处理表窗口下面,请师傅帮忙处理

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
caoxy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/17 19:02:00 [只看该作者]

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
caoxy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/18 7:23:00 [只看该作者]

谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/3/18 10:06:00 [只看该作者]

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

 

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


 回到顶部