Foxtable(狐表)用户栏目专家坐堂 → 如何直接实现下列设计?


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

主题:如何直接实现下列设计?

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
如何直接实现下列设计?  发帖心情 Post By:2009/12/22 14:31:00 [显示全部帖子]

 

在生成“课时名单”设计中,希望“性质”列的值是“周六下午”改为“补课”,“周六晚上”改为“辅导”,“周日上午”改为“守班”,“周日下午”改为“补课”。如何对下列Tables("课时名单").Rows(i)("性质") = Values(1)中的Values(1)进行控制?原设计代码如下:
 

'生成"课时名单"表

Dim s As Date = Date.Now()

Dim ksmd As New DataTableBuilder("课时名单")

ksmd.AddDef("姓名", GetType(String), 15)

ksmd.AddDef("性质", GetType(String), 15)

ksmd.AddDef("星期", GetType(String), 15)

ksmd.AddDef("计分", GetType(Integer))

ksmd.Build()

 

'生成"课时名单"数据

Dim Values() As String

Dim n As Integer = Tables("补课").rows.count

Dim n1 As Integer

for Each dc as Datacol in DataTables("补课").Datacols

    if dc.name <> "班级" Then

        n1 = n1 +1

        dim f As New Filler

        f.SourceTable = DataTables("补课") '指定数据来源

        f.SourceCols = dc.name '指定数据来源列

        f.DataTable = DataTables("课时名单") '指定数据接收表

        f.DataCols = "姓名" '指定数据接收列

        f.ExcludeNullValue=true

        f.Distinct = false

        f.Fill() '填充数据

        Values = dc.name.split("_")

        For i As integer = (n*n1)-n to Tables("课时名单").rows.count -1

            Tables("课时名单").Rows(i)("星期") = Values(0)

            Tables("课时名单").Rows(i)("性质") = Values(1)

            Tables("课时名单").Rows(i)("计分") = 1

        Next

    end if

Next

DataTables("课时名单").DeleteFor("[姓名] Is Null")

Messagebox.Show("处理完毕! 耗时: " & (Date.Now -s).TotalSeconds)
(注:不想生成“课时名单”后,再遍历替换)

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


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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/22 14:55:00 [显示全部帖子]

用iif语句试了几次失败了,我再思考一下。

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/22 16:30:00 [显示全部帖子]

真没想到select case语句,谢谢两位!

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/22 16:47:00 [显示全部帖子]

我却选择 iif 语句镶嵌,也难怪.

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/23 21:47:00 [显示全部帖子]

呵呵,知识没有学活,目前我只能韩郸学步,谢谢老师指点!
[此贴子已经被作者于2009-12-23 21:57:42编辑过]

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/24 14:01:00 [显示全部帖子]

顺便请教一下老师:DataTables("课时名单").DeleteFor("[姓名] Is Null") 这句语句显得不太友好----填充后强行删除,请问:如何才能实现排除空值再填充?

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/24 15:25:00 [显示全部帖子]

谢谢指点!

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/24 16:51:00 [显示全部帖子]

以下是引用czy在2009-12-24 14:23:00的发言:
你的列名称怎么可以用“第四轮_周日下午_6-1”这样的方式。
导入数据后请及时修改列名称,否则会给以后的工作带来麻烦的。

谢谢!这只是当时为方便说明代码临时使用的一个文件,现设计已改过来了。


 回到顶部