Foxtable(狐表)用户栏目专家坐堂 → 关于代码问题请教,谢谢


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

主题:关于代码问题请教,谢谢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 9:38:00 [显示全部帖子]

以下是引用dm0630在2017/8/29 18:19:00的发言:
你好,我想咨询一下,我在窗口设计里面写了代码,根据姓名比较两个表工资大小的代码,但是如果一个表中有这个人,另一个表没有这个人就执行不下去了,请教怎么给这种情况赋值默认值。

 

直接判断是否查找到对应的值不就行了?

 

If fdr2 Is Nothing Then

    msgbox("没找到对应的人")

Else

    '其余代码

End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 10:11:00 [显示全部帖子]

fdr1、fdr2要分别判断。

 

If num1 > num2 Then
    dr("原购股标准") = num1
    fdr1 = dt2.find("工资编号 = '" & nm & "' and 购股标准 = '" & num1 & "'")
   
Else
    dr("原购股标准") = num2
    fdr1 = dt2.find("工资编号 = '" & nm & "' and 对应购股标准 = '" & num2 & "'")
End If
If fdr1 Is Nothing Then
    msgbox("没找到对应的人")
Else
   
   
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 10:38:00 [显示全部帖子]

 没有找到对应的人,你希望怎么执行?逻辑是什么?

 

 上传具体项目说明问题。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 11:09:00 [显示全部帖子]

贴出你最后写的代码。10楼代码没问题。

 

如果不会做,单独做一个例子发上来测试。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 12:22:00 [显示全部帖子]

Dim dtb As New DataTableBuilder("职工购股情况差异对比表8月份")
dtb.AddDef("工资编号", Gettype(String), 16)
dtb.AddDef("姓名", Gettype(String), 16)
dtb.AddDef("原职位", Gettype(String), 16)
dtb.AddDef("职位", Gettype(String), 16)
dtb.AddDef("职位差异", Gettype(String), 16)
dtb.AddDef("原技术职务", Gettype(String), 16)
dtb.AddDef("技术职务", Gettype(String), 16)
dtb.AddDef("技术职务差异", Gettype(String), 16)
dtb.AddDef("原购股标准", Gettype(Double))
dtb.AddDef("购股标准", Gettype(Double))
dtb.AddDef("购股标准差异", Gettype(Double))
dtb.AddDef("现持股金", Gettype(String), 16)
dtb.Build()
Dim dt As DataTable = DataTables("职工购股情况差异对比表8月份")
Dim dt2 As DataTable = DataTables("原人员信息岗位股明细表8月份")
Dim dt4 As DataTable = DataTables("人员信息岗位股明细表")
For Each nm As String In dt2.GetValues("工资编号")
    Dim dr As DataRow = dt.AddNew()
    dr("工资编号") = nm
    Dim num1 As Double = dt2.Compute("max(购股标准)", "工资编号 = '" & nm & "'")
    Dim num2 As Double = dt2.Compute("max(对应购股标准)", "工资编号 = '" & nm & "'")
    Dim fdr1 As DataRow
    If num1 > num2 Then
        dr("原购股标准") = num1
        fdr1 = dt2.find("工资编号 = '" & nm & "' and 购股标准 = '" & num1 & "'")
       
    Else
        dr("原购股标准") = num2
        fdr1 = dt2.find("工资编号 = '" & nm & "' and 对应购股标准 = '" & num2 & "'")
    End If
    If fdr1 Is Nothing Then
        dr("姓名") = "没找到"
        dr("原技术职务") = "没找到"
        dr("原职位") = "没找到"
    Else
        dr("姓名") = fdr1("姓名")
        dr("原技术职务") = fdr1("原技术职务等级")
        dr("原职位") = fdr1("原职位")
    End If
    Dim num3 As Double = dt4.Compute("max(购股标准)", "工资编号 = '" & nm & "'")
    Dim num4 As Double = dt4.Compute("max(对应购股标准)", "工资编号 = '" & nm & "'")
    Dim fdr2 As DataRow
    If num3 > num4 Then
        dr("购股标准") = num3
        fdr2 = dt4.find("工资编号 = '" & nm & "' and 购股标准 = '" & num3 & "'")
    Else
        dr("购股标准") = num4
        fdr2 = dt4.find("工资编号 = '" & nm & "' and 对应购股标准 = '" & num4 & "'")
    End If
    If fdr2 Is Nothing Then
        dr("技术职务") = "没找到"
        dr("职位") = "没找到"
    Else
       
        dr("技术职务") = fdr2("技术职务等级")
        dr("职位") = fdr2("职位")
        dr("现持股金") = fdr2("现持股金")
        dr("购股标准差异") = dr("原购股标准")-dr("购股标准")
    End If
Next
For Each r As Row In  Tables("职工购股情况差异对比表8月份").Rows
    If r("原职位") = r("职位") Then
        r("职位差异") ="0"
    Else
        r("职位差异") ="1"
    End If
    If r("原技术职务") = r("技术职务") Then
        r("技术职务差异") ="0"
    Else
        r("技术职务差异") ="1"
    End If
Next


MainTable= Tables("职工购股情况差异对比表8月份")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 14:08:00 [显示全部帖子]

AfterOpenProject事件

 

Tables("表A").Visible = False

Tables("表B").Visible = False

[此贴子已经被作者于2017/8/30 15:26:35编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 14:51:00 [显示全部帖子]

在项目属性->事件

 

http://www.foxtable.com/webhelp/scr/1445.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 15:27:00 [显示全部帖子]

Tables("表A").Visible = False

Tables("表B").Visible = False


 回到顶部