Foxtable(狐表)用户栏目专家坐堂 → [求助]小白鼠求教“技项目总体优化,及易表转狐表语句!谢谢


  共有3410人关注过本帖平板打印复制链接

主题:[求助]小白鼠求教“技项目总体优化,及易表转狐表语句!谢谢

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


加好友 发短信
等级:婴狐 帖子:58 积分:431 威望:0 精华:0 注册:2015/4/16 17:25:00
[求助]小白鼠求教“技项目总体优化,及易表转狐表语句!谢谢  发帖心情 Post By:2015/4/20 13:49:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:货币转换项目.zip



If e.DataCol.Name = "原始地" Then
    If e.NewValue Is Nothing Then
        e.DataRow("原始地转标地") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("转换表").Find("[畸形地区码] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then
            e.DataRow("原始地转标地") = dr("标准地区码")
        Else
            e.DataRow("原始地转标地") = Nothing
        End If
    End If
End If

If e.DataCol.Name = "目的地" Then
    If e.NewValue Is Nothing Then
        e.DataRow("目的地转标地") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("转换表").Find("[畸形地区码] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then
            e.DataRow("目的地转标地") = dr("标准地区码")
        Else
            e.DataRow("目的地转标地") = Nothing
        End If
    End If
End If

If e.DataCol.Name = "现币种" Then
    If e.NewValue Is Nothing Then
        e.DataRow("筛币种") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("转换表").Find("[币种的名称] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then
            e.DataRow("筛币种") = dr("币种三字码")
        Else
            e.DataRow("筛币种")= "币种异常或错误"
        End If
    End If
End If

Select Case e.DataCol.name
    Case "原始地","目的地"
        If e.DataRow.isnull("原始地") OrElse e.DataRow.isnull("目的地") Then
            e.DataRow("分析") = Nothing
        ElseIf e.DataRow("原始地")=e.DataRow("目的地") And e.DataRow("原始地")="PEK" And e.DataRow("目的地")="PEK"  Then
            e.DataRow("分析")="未曾旅游"
        ElseIf e.DataRow("原始地")<>"PEK" And e.DataRow("目的地")<>"PEK" And e.DataRow("原始地")=e.DataRow("目的地") Then
            e.DataRow("分析")="旅游驻留"
        ElseIf e.DataRow("原始地") <> e.DataRow("目的地") And e.DataRow("原始地")<>"PEK"  And e.DataRow("目的地")<>"PEK" Then
            e.DataRow("分析")="旅游途中"
        ElseIf e.DataRow("原始地")="PEK" And e.DataRow("目的地")<>"PEK" Then
            e.DataRow("分析")="出京中"
        ElseIf e.DataRow("原始地")<>"PEK" And e.DataRow("目的地")="PEK" Then
            e.DataRow("分析")="回京中"
        Else
            e.DataRow("分析")="异常请检查"
        End If
End Select

*******************************************************************************88
 ’以下字段感觉不太顺,但是自己调不好!
如果在易表中我想如下表示语句:
[原始币种能力]列进行判断取值
if([原始地]="",“”,
if([起代转标]<>"",FindText("地区货币能力表","货币能力表","地区三字码","=",[原始地转标地]),
FindText("地区货币能力表","货币能力表","地区三字码","=",[原始地])))

Select Case e.DataCol.name         ’狐表里只能这样,感觉不通顺有瑕疵!
    Case "原始地","原始地转标地"
        If e.DataRow.IsNull("原始地") Then
            e.DataRow("原始地币种能力") = Nothing
        ElseIf e.DataRow("原始地转标地") <> Nothing Then
            Dim mz As DataRow
            mz = DataTables("地区货币能力表").Find("[地区三字码] = '" & e.NewValue & "'")
            If mz IsNot Nothing Then
                e.DataRow("原始地币种能力") = mz("货币能力表")
            End If
        ElseIf e.DataRow.IsNull("原始地转标地") Then
            Dim lz As DataRow = DataTables("地区货币能力表").Find("[地区三字码] = '" & e.NewValue & "'")
            If lz IsNot Nothing Then
                e.DataRow("原始地币种能力") = lz("货币能力表")
Else
e.DataRow("原始地币种能力")="无效地址"
            End If
        End If
        
    Case "目的地","目的地转标地"
        If e.DataRow.IsNull("目的地") Then
            e.DataRow("目的地币种能力") = Nothing
        ElseIf e.DataRow("目的地转标地") <> Nothing Then
            Dim mz As DataRow
            mz = DataTables("地区货币能力表").Find("[地区三字码] = '" & e.NewValue & "'")
            If mz IsNot Nothing Then
                e.DataRow("目的地币种能力") = mz("货币能力表")
            End If
        ElseIf e.DataRow.IsNull("目的地转标地") Then
            Dim lz As DataRow = DataTables("地区货币能力表").Find("[地区三字码] = '" & e.NewValue & "'")
            If lz IsNot Nothing Then
                e.DataRow("目的地币种能力") = lz("货币能力表")
Else
e.DataRow("目的地币种能力")="无效地址"
            End If
        End If
End Select
**********************************************************************************
【原始地能否使】【目的地能否使】字段不知道怎么写!如下是’易表‘里我能写出的,换到’弧表‘不知道怎么表达??(希望优化,或内部语句直接运算后,节省分列数量提高效率。)
单列出一个字段【原始地能否筛选】对[筛币种]:[起飞能力单]进行比对是否包含筛币种字符:
if([原始地币种能力]="","",
if([原始地币种能力]="无效地址","新地点",
,Instr([筛币种],[原始地币种能力])))) ‘如果包含,那么有“数值>=0”
再单列出【是否需要兑换】列对上一字段判断,得出最终结果
if([原始地能否筛选]="新地点","是",
if([原始地能否筛选]>="0","否",
"是"))
*************************************************************************************

Select Case e.DataCol.name
Case "原始地能否使用","目的地能否使用"
If e.DataRow.IsNull("原始地能否使用") OrElse e.DataRow.IsNull("目的地能否使用") Then
e.DataRow("需换钱否") = False
ElseIf e.DataRow("原始地能否使用")="是" And e.DataRow("目的地能否使用")="是" Then
e.DataRow("需换钱否") = False
ElseIf e.DataRow("原始地能否使用")="否" And e.DataRow("目的地能否使用")="否" Then
e.DataRow("需换钱否") = True
ElseIf e.DataRow("原始地能否使用")="是" And e.DataRow("目的地能否使用")="否" Then
e.DataRow("需换钱否") = True
ElseIf e.DataRow("原始地能否使用")="否" And e.DataRow("目的地能否使用")="是" Then
e.DataRow("需换钱否") = True
Else
e.DataRow("需换钱否") = False
End If
End Select

 回到顶部
总数 13 1 2 下一页