Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共33 条记录, 每页显示 10 条, 页签: [1] [2][3][4]
[浏览完整版]

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

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

2楼
狐狸爸爸 发表于:2009/5/11 12:13:00
可以的
3楼
mr725 发表于:2009/5/11 12:39:00
楼主啊,每栋楼的层次是不一样的,你得另设计一个大楼层次明细表 才好~

而且你关联的列也太多了吧?
[此贴子已经被作者于2009-5-11 12:40:11编辑过]
4楼
hejfen 发表于:2009/5/11 14:56:00

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

5楼
hejfen 发表于:2009/5/11 17:32:00
狐狸爸爸,帮个忙啦!!!
6楼
don 发表于: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楼
狐狸爸爸 发表于:2009/5/11 17:46:00

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

[此贴子已经被作者于2009-5-11 17:52:22编辑过]
8楼
hejfen 发表于:2009/5/12 15:31:00

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

9楼
狐狸爸爸 发表于:2009/5/12 15:46:00
呵呵,我这样设计也很好啊,多简单啊。
10楼
hejfen 发表于:2009/5/12 16:15:00
问题是我的数据库有十几万的记录,总不能一条一条的手动生成
共33 条记录, 每页显示 10 条, 页签: [1] [2][3][4]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 4 queries.