Foxtable(狐表)用户栏目专家坐堂 → 如何将表B的列标题写入到表A的第一行?


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

主题:如何将表B的列标题写入到表A的第一行?

美女呀,离线,留言给我吧!
yangming
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
如何将表B的列标题写入到表A的第一行?  发帖心情 Post By:2009/8/9 11:06:00 [显示全部帖子]

下面的代码结果是将最后一列的标题全部写入到第一行了,我要的结果是表A第一列写入表B的第一列标题,表A第二列写入表B的第二列标题,以此类推
Dim dr As DataRow = DataTables("表B").DataRows(0)
For Each c As DataCol In DataTables("表B").DataCols
For Each cl As DataCol In DataTables("Sheet6").DataCols
dr(c)=cl.Name
Next
Next

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/9 12:57:00 [显示全部帖子]

以下是引用mr725在2009-8-9 12:04:00的发言:
Dim dr As DataRow = DataTables("表A").DataRows(0)
dim tt as string
For Each c As DataCol In DataTables("表B").DataCols
      tt = tt & "|" & c.name
Next
dim n as integer
For Each cl As DataCol In DataTables("表A").DataCols
    dr(cl)=tt.split("|")(n+1)
    n=n+1

Next


刚才A  B 表颠倒了
[此贴子已经被作者于2009-8-9 12:08:30编辑过]

谢谢mr725老师!


 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/9 13:30:00 [显示全部帖子]

以下是引用mr725在2009-8-9 13:05:00的发言:
yangming版主,我可当不了老师,  只是刚好写过类似的代码, 好多都不会的~  

能者为师,,这段代码我搞了二天也没搞出来,就是没想到复制为文本再提取,有时候就是这么笨,呵呵


 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/9 13:38:00 [显示全部帖子]

以下是引用mr725在2009-8-9 13:01:00的发言:
简化一下:::::::::::::

Dim dr As DataRow = DataTables("表A").DataRows(1)
Dim tt as string
Dim n as integer
For Each c As DataCol In DataTables("表B").DataCols
    tt = c.name
    dr(Tables("表A").Cols(n).name)=tt
    n=n+1
Next

这个好,呵


 回到顶部
美女呀,离线,留言给我吧!
yangming
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/13 13:01:00 [显示全部帖子]

是啊,有必要全都放在行中?分类放在列中也是一样的,这是我做的对应列类型及列长度的

DataTables("表B").DataRows.Clear()
For Each dt As DataTable In DataTables
    For Each dc As DataCol In dt.DataCols
        Dim dr As DataRow = DataTables("表B").AddNew()
        dr("表名")=dt.Name
        dr("表标题")=dt.caption
        dr("列名")=dc.Name
        dr("列标题")=dc.Caption
        dr("列类型") = dc.DataType.name
        If  dc.MaxLength=-1
            dr("列长度")=""
        Else
            dr("列长度")=dc.MaxLength
        End If
    Next
Next


 回到顶部
美女呀,离线,留言给我吧!
yangming
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/14 13:00:00 [显示全部帖子]

如列数不够需增列时会报错?我还没查出是哪儿的问题


 回到顶部
美女呀,离线,留言给我吧!
yangming
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/14 14:35:00 [显示全部帖子]

其它全是十列

 回到顶部
美女呀,离线,留言给我吧!
yangming
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/14 14:42:00 [显示全部帖子]

我想还是dt.datacols.count 的问题,有N多张表,如果判断最大列的表

 回到顶部
美女呀,离线,留言给我吧!
yangming
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/14 16:32:00 [显示全部帖子]

上半段我改了一下,但是还是没反应,请你看看,我真是搞晕了,呵呵

DataTables("表A").DataRows.Clear()
Dim tt as string
Dim n,m as integer
Dim n1 as integer
Dim n2 as integer
For Each dt As DataTable In DataTables
    if dt.name <> "表A"
        Dim dr As DataRow = DataTables("表A").AddNew()
        dr("表名")=dt.Name
        dr("表标题")=dt.caption
        dr("列名或标题")="列名"
        Dim dr1 As DataRow = DataTables("表A").AddNew()
        dr1("列名或标题")="列标题"
        dr("列数")=dt.datacols.count
          end if
Next
n=DataTables("表A").Compute("Max(列数)")
m= n-datatables("表A").datacols.count-4
 if m > 0 then
    for i as integer = 0 to m-4
         With DataTables("表A")
            .DataCols.Add("列"& 10+i,GetType(String),32)
        End With
Next   
    end if

 回到顶部
美女呀,离线,留言给我吧!
yangming
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/14 16:45:00 [显示全部帖子]

我的最后列名是列9,这儿无所谓,你就是改成其它的一样


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