Foxtable(狐表)用户栏目专家坐堂 → 请教需要这样的功能用代码可以实现吗?如何实现?


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

主题:请教需要这样的功能用代码可以实现吗?如何实现?

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


加好友 发短信
等级:幼狐 帖子:188 积分:1947 威望:0 精华:0 注册:2008/9/23 22:10:00
请教需要这样的功能用代码可以实现吗?如何实现?  发帖心情 Post By:2009/5/11 12:08:00 [只看该作者]

表A与表B关联,表B的房号规则是这样的,如:201表示二层楼01号房,304表示三层楼04号房,若果最小房号是201,最大房号是304,则说明该栋楼还有202、203、204、301、302、303这几条房号的记录,请问高手可以以最小房号和最大房号为判断条件,生成虚拟房号,并在状态列填入“虚拟”。这样的功能可以实现吗?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/11 12:13:00 [只看该作者]

可以的

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/11 12:39:00 [只看该作者]

楼主啊,每栋楼的层次是不一样的,你得另设计一个大楼层次明细表 才好~

而且你关联的列也太多了吧?
[此贴子已经被作者于2009-5-11 12:40:11编辑过]

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


加好友 发短信
等级:幼狐 帖子:188 积分:1947 威望:0 精华:0 注册:2008/9/23 22:10:00
  发帖心情 Post By:2009/5/11 14:56:00 [只看该作者]

默认每层楼的层次一样的,请求高手代码?


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


加好友 发短信
等级:幼狐 帖子:188 积分:1947 威望:0 精华:0 注册:2008/9/23 22:10:00
  发帖心情 Post By:2009/5/11 17:32:00 [只看该作者]

狐狸爸爸,帮个忙啦!!!

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2009/5/11 17:38:00 [只看该作者]

试试:

Dim Tj,T As String
Dim dr As DataRow
Dim n1,n2,n As Integer
Dim dt1,dt2 As DataTable
dt1 = DataTables("表A")
dt2 = DataTables("表B")
Dim tb As Table = Tables("表B")
for each dr in dt1.select("路名 is not null")
    Tj = "路名 ='" & dr("路名") & "' and 状态 = '在用'"
    n1 = val(dt2.Compute("min(房)",Tj))
    n2 = val(dt2.Compute("max(房)",Tj))
    if n2 > n1 AndAlso n1 > 0 then
        tb.Redraw = False      
        For n = n1+1 to n1+3
           T = Tj.Replace("在用","虚拟") & " and 房 = '" & n & "'"
           if dt2.Find(T) is not Nothing then
            Dim r As  Row = tb.addnew
            r("路名") = dr("路名")
            r("街名") = dr("街名")
            r("号") = dr("号")
            r("栋") = dr("栋")
            r("房") = n
            r("状态") ="虚拟"
         end if
        Next
        For n = n2-3 to n2-1
            T = Tj.Replace("在用","虚拟") & " and 房 = '" & n & "'"
            if dt2.Find(T) is not Nothing then
            Dim r As  Row = tb.addnew
            r("路名") = dr("路名")
            r("街名") = dr("街名")
            r("号") = dr("号")
            r("栋") = dr("栋")
            r("房") = n
            r("状态") ="虚拟"
            end if
        Next
        tb.Redraw = true
    end if
Next

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/11 17:46:00 [只看该作者]


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

[此贴子已经被作者于2009-5-11 17:52:22编辑过]

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


加好友 发短信
等级:幼狐 帖子:188 积分:1947 威望:0 精华:0 注册:2008/9/23 22:10:00
  发帖心情 Post By:2009/5/12 15:31:00 [只看该作者]

老爸的代码未能实现我要的功能,我想要根据本身有的房号记录来确定层号与房号,如最小房号204,最大房号是501,则层是2至5,号是1至4,用这个做条件生成记录,并且是连续的,即我在主表选定多少条记录,就生成多少条记录的房号。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/12 15:46:00 [只看该作者]

呵呵,我这样设计也很好啊,多简单啊。

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


加好友 发短信
等级:幼狐 帖子:188 积分:1947 威望:0 精华:0 注册:2008/9/23 22:10:00
  发帖心情 Post By:2009/5/12 16:15:00 [只看该作者]

问题是我的数据库有十几万的记录,总不能一条一条的手动生成

 回到顶部
总数 33 1 2 3 4 下一页