设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1689|回复: 7
打印 上一主题 下一主题

[ADO/DAO] 请教如何用代码将表1中的数据整理的表2中!

[复制链接]
跳转到指定楼层
1#
发表于 2015-7-7 16:49:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何用代码将表1中的数据整理的表2对应的字段中?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2015-7-7 16:54:56 | 只看该作者
可以使用ADO打开表1,遍历逐行读取数据,同时用ADO写入表2对应的列中
3#
发表于 2015-7-7 16:55:24 | 只看该作者
写两个ado比如表1的记录集是rst,表2的记录集是rst1,然后再写rst1的更新代码,rst1.字段1=rst.字段1,rst1.字段2=rst.字段2.........,rst1.update
当然你还要写代码判断是否有重复记录。
4#
发表于 2015-7-8 14:39:22 | 只看该作者
这种特殊格式,建议用Excel处理好再导入。数组公式很轻易能解决一列转多行多列问题:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
发表于 2015-7-8 17:35:24 | 只看该作者
本帖最后由 todaynew 于 2015-7-8 17:40 编辑

1、先建立一个交叉查询,命名为查询1
TRANSFORM First(a.字段) AS 字段
SELECT Mid(a.字段,2) AS num
FROM 表1 AS a
GROUP BY Mid(a.字段,2)
PIVOT Left(a.字段,1);

2、写代码:
dim ssql as string
ssql="insert into 表2 (A,B,C) Select A,B,C from 查询1"
currentdb.execute ssql

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
 楼主| 发表于 2015-7-9 10:49:10 | 只看该作者
todaynew 发表于 2015-7-8 17:35
1、先建立一个交叉查询,命名为查询1
TRANSFORM First(a.字段) AS 字段
SELECT Mid(a.字段,2) AS num

谢谢大家的关注和回复!
我给的只是个例子,里面的数据没那么规律,可能是姓名、性别、出生日期什么的,但隔N行重复是规律的
7#
发表于 2015-7-9 11:09:20 | 只看该作者
sxgaobo 发表于 2015-7-9 10:49
谢谢大家的关注和回复!
我给的只是个例子,里面的数据没那么规律,可能是姓名、性别、出生日期什么的, ...

Sub AtoB(ByVal Atbname As String, ByVal m As Integer, ByVal Btbname As String)
    Dim rsA As New ADODB.Recordset, rsB As New ADODB.Recordset
    Dim i As Long, j As Long
    Dim vals(m - 1) As Variant
   
    rsA.Open Atbname, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    rsB.Open Atbname, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    For i = 1 To rsA.RecordCount
        vals((i - 1) Mod m) = rsA.Fields(0).Value
        If i Mod m = 0 Then
            rsB.AddNew
            For j = 0 To rsB.Fields.Count - 1
                rsB.Fields(j).Value = vals(j)
            Next
            rsB.Update
        End If
        rsA.MoveNext
    Next
End Sub
8#
 楼主| 发表于 2015-7-11 00:20:41 | 只看该作者
本帖最后由 sxgaobo 于 2015-7-11 00:21 编辑
todaynew 发表于 2015-7-9 11:09
Sub AtoB(ByVal Atbname As String, ByVal m As Integer, ByVal Btbname As String)
    Dim rsA As New ...


谢谢版主!!
我试了,m处报错了,哪不对麻烦您给看看!!!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-5 20:17 , Processed in 0.107037 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表