Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:婴狐 帖子:10 积分:121 威望:0 精华:0 注册:2013/6/22 14:15:00
[求助]  发帖心情 Post By:2013/6/22 14:21:00 [只看该作者]

有一excel格式的学生考试通知单(有很多页),另有一"考场与教室号对应表",现在想在考试通知单中的考场号后面增加相对应的教室号,请教各位大侠如何实现?(两个表见附图),因为此表不是规则的二维表,用函数(比如vlookup)实现很麻烦.如何能转换成标准的二维表就好了。
图片点击可在新窗口打开查看图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/6/22 14:24:00 [只看该作者]

图挂了.   另外这种需求最好上个例子 


图片点击可在新窗口打开查看此主题相关图片如下:上传图片请参考这里.gif
图片点击可在新窗口打开查看


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


加好友 发短信
等级:婴狐 帖子:10 积分:121 威望:0 精华:0 注册:2013/6/22 14:15:00
  发帖心情 Post By:2013/6/24 14:39:00 [只看该作者]

关键的是要将"通知单"不规则变成规则的二维表,剩下的我自己就知道如何处理了


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/24 15:02:00 [只看该作者]

你的通知单在哪里?

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


加好友 发短信
等级:婴狐 帖子:10 积分:121 威望:0 精华:0 注册:2013/6/22 14:15:00
  发帖心情 Post By:2013/7/2 8:45:00 [只看该作者]

通知单
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:tjz打.xls


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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/7/2 13:12:00 [只看该作者]

这么久没人答复,我来试试。

随便用一个项目,在命令窗口用下面代码看看是你要的不 :

注意:你5楼的excel请先插入第一行: 图见11楼。

 

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls"
If dlg.ShowDialog = DialogResult.Ok Then 

    Dim ip As New Importer
    ip.SourcePath = dlg.FileName 
    ip.SourceTableName = "sheet1$" 
    ip.NewTableName ="考场与教室号对应表" 
    ip.Format = "Excel" 

    ip.Import()
End If

If DataTables("考场与教室号对应表").DataCols.Contains("学号") = False Then
    DataTables("考场与教室号对应表").DataCols.add("学号", Gettype(String))
End If

Dim dtb As New DataTableBuilder("学生考试通知单")
dtb.AddDef("班级号", Gettype(String), 32)
dtb.AddDef("班级名称", Gettype(String), 32)
dtb.AddDef("学号", Gettype(String), 32)
dtb.AddDef("姓名", Gettype(String), 32)
dtb.AddDef("考点名称", Gettype(String), 32)
dtb.AddDef("考试地址", Gettype(String), 32)
dtb.Build()

DataTables("学生考试通知单").DataRows.Clear()
With Tables("考场与教室号对应表")
For i As Integer = 0 To .count -1
    If .rows(i)("试卷号").contains("学号")
        Dim str As Integer = .rows(i)("试卷号").IndexOf("学号")
        Dim ed As Integer = .rows(i)("试卷号").IndexOf("姓名")
        .rows(i)("学号") = .rows(i)("试卷号").SubString(str+3,13)
    End If
    If i > 0
        If .Rows(i).Isnull("试卷号") = False And .Rows(i).Isnull("学号") And .Rows(i-1).Isnull("学号") = False
             .rows(i)("学号") = .rows(i-1)("学号") 
        End If
    End If 

        If .rows(i)("试卷号").contains("学号")
            Dim stb As Integer = .rows(i)("试卷号").IndexOf("班级")
            Dim str As Integer = .rows(i)("试卷号").IndexOf("学号")
            Dim ed As Integer = .rows(i)("试卷号").IndexOf("姓名")
            Dim edb As Integer = .rows(i)("考试日期").IndexOf("班")
            Dim dr As Row = Tables("学生考试通知单").addnew()
            dr("班级号") = .rows(i)("试卷号").substring(stb+3,str-stb-3).trim(" ")
            dr("班级名称") = .rows(i)("考试日期").SubString(0,edb+1)
            dr("学号") = .rows(i)("试卷号").substring(str+3,13)
            dr("姓名") = .rows(i)("试卷号").substring(ed+3)
        End If

        If .rows(i)("试卷号").contains("考点")
            Dim dr As Row = Tables("学生考试通知单").current
            dr("考点名称") = .rows(i)("试卷号").substring(5)
            dr("考试地址") = .rows(i)("考试日期").SubString(0)
        End If
    Next
End With
MainTable= Tables("学生考试通知单")
Tables("学生考试通知单").Autosizecols()

DataTables("考场与教室号对应表").DeleteFor("[试卷号] like '班级*' or [试卷号] is null or [试卷号] like '考点*' or [试卷号] like '*考试通知单' or [试卷号] like '试卷号' ")

If Relations.Contains("关联1") Then
    Relations.Delete("关联1")
End If

Relations.Add("关联1",DataTables("学生考试通知单").DataCols("学号"),DataTables("考场与教室号对应表").DataCols("学号"))

[此贴子已经被作者于2013-7-2 15:39:11编辑过]

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


加好友 发短信
等级:婴狐 帖子:10 积分:121 威望:0 精华:0 注册:2013/6/22 14:15:00
  发帖心情 Post By:2013/7/2 14:17:00 [只看该作者]

谢谢大侠,是在access中运行吗?我对数据库了解很少,还要请耐心指导!

 

[此贴子已经被作者于2013-7-2 14:23:19编辑过]

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


加好友 发短信
等级:婴狐 帖子:10 积分:121 威望:0 精华:0 注册:2013/6/22 14:15:00
  发帖心情 Post By:2013/7/2 14:18:00 [只看该作者]

是不是先要装两个excel文件导入accessg后再来运行程序

 

 

[此贴子已经被作者于2013-7-2 14:24:17编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/7/2 14:21:00 [只看该作者]

这里是foxtable,自然在foxtable中运行。

 

先看帮助吧:

 

图片点击可在新窗口打开查看

 


看帮助一定要按顺序,头一两遍可以不求甚解,第三遍开始要将每个例子实际操作演练一遍,不明白的就上论坛求助。
三遍之后才开始做系统,先设计好表,想做什么功能,就做什么功能,遇到问题在帮助找答案,找不到的在论坛提问,不断遇到问题,不断解决问题,慢慢就熟悉了。
此外一定要先掌握《使用指南》,然后再看《开发指南》


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


加好友 发短信
等级:婴狐 帖子:10 积分:121 威望:0 精华:0 注册:2013/6/22 14:15:00
  发帖心情 Post By:2013/7/2 14:26:00 [只看该作者]

是foxtable?我先看看帮助,谢谢

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