Foxtable(狐表)用户栏目专家坐堂 → 临时表,运行时报错


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

主题:临时表,运行时报错

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
临时表,运行时报错  发帖心情 Post By:2019/3/20 17:40:00 [只看该作者]

制作临时表,运行时报错

从字符串“”到类型“Double”的转换无效。

老师帮我看看这段码的问题

For Each dc As Col In t1.Cols
    For Each dr As Row In t1.Rows
        flt = "类号 = '" & dr("类号") & "' and 材料名称 = '" & dr("材料名称") & "' and 出生日期  = '" & dr("出生日期") & "'"
        Select Case dc.name
            Case "材料最早形成时间"
                exp = "Min(" & dic(dr("审核内容")) & ")"
                dr(dc.name) =dt.Compute(exp,flt)
            Case "材料最新形成时间"
                exp = "Max(" & dic(dr("审核内容")) & ")"
                dr(dc.name) =dt.Compute(exp,flt)
        End Select
    Next
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/20 17:56:00 [只看该作者]


For Each dc As Col In t1.Cols
    For Each dr As Row In t1.Rows
        flt = "类号 = '" & dr("类号") & "' and 材料名称 = '" & dr("材料名称") & "' and 出生日期  = '" & dr("出生日期") & "'"
        If dic.containskey(dr("审核内容")) Then
            Select Case dc.name
                Case "材料最早形成时间"
                    exp = "Min(" & dic(dr("审核内容")) & ")"
                    dr(dc.name) =dt.Compute(exp,flt)
                Case "材料最新形成时间"
                    exp = "Max(" & dic(dr("审核内容")) & ")"
                    dr(dc.name) =dt.Compute(exp,flt)
            End Select
        End If
    Next
Next

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2019/3/20 18:00:00 [只看该作者]

还是老样子,甜老师

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/20 18:03:00 [只看该作者]

不是这段代码有问题

 

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

 


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2019/3/20 18:11:00 [只看该作者]

项目发给你看看,按钮在窗口里

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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/20 22:24:00 [只看该作者]

Dim dtb As New DataTableBuilder("三龄审核表")
dtb.AddDef("审核内容", Gettype(String), 10)
dtb.AddDef("出生日期", Gettype(Date))
dtb.AddDef("类号", Gettype(String))
dtb.AddDef("材料名称", Gettype(String))
dtb.AddDef("材料最早形成时间", Gettype(String))
dtb.AddDef("材料最新形成时间", Gettype(String))

dtb.Build()
'--------
Dim dic As new Dictionary(of String, String)
For Each c As Col In Tables("档案文件目录").cols
    dic.add(c.caption, c.name)
    '--------
Next
Dim exp,flt As String
Dim dt As DataTable =DataTables("档案文件目录")
Dim t As Table = Tables("档案文件目录")
Dim t1 As Table =Tables("三龄审核表")


Dim bjs As List(of String()) = dt.Getvalues("类号|材料名称|出生日期", "类号 is not null and 出生日期 is not null")
For Each bj As String() In bjs
    Dim f As New Filler
    f.SourceTable =DataTables("审核内容")
    f.DataTable = t1.DataTable
    f.Fill()
    t1.DataTable.ReplaceFor("出生日期",bj(2),"出生日期 Is null")
    t1.DataTable.ReplaceFor("类号",bj(0),"类号 Is null")
    t1.DataTable.ReplaceFor("材料名称",bj(1),"材料名称 Is null")
    't1.DataTable.ReplaceFor("材料形成时间",bj(4),"形成日期 Is null")
Next
msgbox(1)
For Each dc As Col In t1.Cols
    For Each dr As Row In t1.Rows
        flt = "类号 = '" & dr("类号") & "' and 材料名称 = '" & dr("材料名称") & "' and 出生日期  = '" & dr("出生日期") & "'"
        If dic.containskey(dr("审核内容")) Then
            Select Case dc.name
                Case "材料最早形成时间"
                    exp = "Min(" & dic(dr("审核内容")) & ")"
                    dr(dc.name) =dt.Compute(exp,flt)
                Case "材料最新形成时间"
                    exp = "Max(" & dic(dr("审核内容")) & ")"
                    dr(dc.name) =dt.Compute(exp,flt)
            End Select
        End If
    Next
Next


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2019/3/21 1:12:00 [只看该作者]

 

 

【三龄审核表】中的数据怎么提取?按钮在窗口

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

[此贴子已经被作者于2019/3/21 1:15:21编辑过]

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


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/21 9:03:00 [只看该作者]

列名不对,【三龄审核表】没有出生日期、类号、材料名称这些列。

【三龄审核表】只是显示一个人的记录,如果是多个人还需要一个姓名

最终需要怎么样的一个表格?先规划好

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2019/3/21 11:05:00 [只看该作者]

蓝老师:

【三龄审核表】只显示一个人的记录。其目的,是审核员工工作多年填写的各种表格记载的 出身日期,参加工作时间 和入党时间是否一致

审核的方法,就是从员工最早形成的的材料中找出记载的三种日期,然后比较最早的记载和最晚的记载是否一致

 

【三龄审核表】中的

"材料最早记载_日期",

"材料最早记载_类号",

"材料最早记载_材料名称",

"材料最早记载_形成时间"数据,

来自【档案文件目录】 “形成时间”字段中的的最早时间 行对应的出生日期、类号、材料名称

【三龄审核表】中的

"材料最新记载_日期",

"材料最新记载_类号",

"材料最新记载_材料名称",

来自【档案文件目录】 “形成时间”字段中的的最新(晚)时间 行对应的出生日期、类号、材料名称

 

您看看,这个表规划的有没有问题?

如何从【档案文件目录】表中找出需要的数据?

 

 


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


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/21 11:37:00 [只看该作者]

规划有没有问题,您自己的业务,您自己才知道了。

Dim dtb As New DataTableBuilder("三龄审核表")
dtb.AddDef("审核内容", Gettype(String), 10)
dtb.AddDef("材料最早记载_日期", Gettype(String))
dtb.AddDef("材料最早记载_类号", Gettype(String))
dtb.AddDef("材料最早记载_材料名称", Gettype(String))
dtb.AddDef("材料最早记载_形成时间", Gettype(String))
dtb.AddDef("材料最新记载_日期", Gettype(String))
dtb.AddDef("材料最新记载_类号", Gettype(String))
dtb.AddDef("材料最新记载_材料名称", Gettype(String))
dtb.AddDef("材料最新记载_形成时间", Gettype(String))
dtb.AddDef("日期是否涂改_是", Gettype(Boolean))
dtb.AddDef("日期是否涂改_否", Gettype(Boolean))
dtb.AddDef("两次记载是否一致_是", Gettype(Boolean))
dtb.AddDef("两次记载是否一致_否", Gettype(Boolean))

dtb.Build()

Dim exp,flt As String
Dim dt As DataTable =DataTables("档案文件目录")
Dim t As Table = Tables("档案文件目录")
Dim t1 As Table =Tables("三龄审核表")

For Each r As Row In Tables("审核内容").Rows
    Dim s As String = r("审核内容").Substring(2)
    Dim drs As List(Of DataRow) = dt.Select(s & " is not null",s)
    If drs.Count > 0 Then
        Dim dr As DataRow = drs(0)
        Dim nr As Row = t1.AddNew()
        nr("审核内容") = r("审核内容")
        nr("材料最早记载_日期") = dr(s)
        Dim dr2 As DataRow = drs(drs.Count - 1)
        nr("材料最新记载_日期") = dr2(s)
    End If
Next
MainTable = t1

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