设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4525|回复: 15
打印 上一主题 下一主题

[模块/函数] 请教如何将数组里的数据导入到表里去?谢谢

[复制链接]
跳转到指定楼层
1#
发表于 2013-6-14 12:26:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用VBA的代码如下,将TXT文档处理后赋值到一个二维数组orr

sub test()
FileName = Application.GetOpenFilename("txt,*.txt", , "select", , False)
   
    Open FileName For Input As #1
    aa = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
    Close #1
     ReDim orr(1 To UBound(aa), 1 To 20)
    m = 0
    For i = 5 To UBound(aa)
                If Len(Trim(aa(i))) < 50 Then GoTo L1
                If InStr(aa(i), "-------") > 0 Then GoTo L1
                If InStr(aa(i), "Custname") > 0 Then GoTo L1
                m = m + 1
                n = 1: orr(m, n) = Trim(Left(aa(i), 45))
                n = 2: orr(m, n) = Trim(Mid(aa(i), 46, 26))
                n = 3: orr(m, n) = Trim(Mid(aa(i), 73, 26))
                n = 4: orr(m, n) = Trim(Mid(aa(i), 100, 38))
                n = 5: orr(m, n) = Trim(Mid(aa(i), 139, 25))                    
                n = 0
L1:           Next

end sub

现在想把orr内的数据赋值到Access里建好的”表1“里去。请问代码应该怎么写呢?

谢谢
               

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

点击这里给我发消息

2#
发表于 2013-6-14 16:05:42 | 只看该作者
使用ado记录集循环一条一条地添加
3#
 楼主| 发表于 2013-6-15 11:08:53 | 只看该作者
t小宝 发表于 2013-6-14 16:05
使用ado记录集循环一条一条地添加

谢谢版主关注。 对于access VBA我是新手,无法下手,能否给予ado记录循环的代码。我借此再继续摸索
?
4#
发表于 2013-6-15 14:15:02 | 只看该作者
Dim rst As ADODB.Recordset         定义ADO记录集

…….

Set rst = New ADODB.Recordset

    rst.CursorLocation = adUseClient

    rst.Open strSQL, CurrentProject.Connection, 2, 3

rst.MoveFirst    移动到第一条
while Not(rst.eof) and Not(rst.bof)
  ......
rst.moveNext
wend
rst.Close

Set rst = Nothing
5#
 楼主| 发表于 2013-6-17 11:53:02 | 只看该作者
竹笛 发表于 2013-6-15 14:15
Dim rst As ADODB.Recordset         定义ADO记录集

…….

谢谢关注

请教一下,先前我的代码已经将TXT处理好了,并赋值给了数组orr
请问,如何将数组orr插入到您的代码中去来实现添加记录呢?

再次谢谢
6#
发表于 2013-6-17 14:39:00 | 只看该作者
wt565 发表于 2013-6-17 11:53
谢谢关注

请教一下,先前我的代码已经将TXT处理好了,并赋值给了数组orr

Dim rst As ADODB.Recordset  定义ADO记录集

Dim strSQL As String     定义strsql,在下面要用到,具体用时,具体定义。

……….

Set rst = New ADODB.Recordset  

    rst.CursorLocation = adUseClient

    rst.Open strSQL, CurrentProject.Connection, 2, 3

rst.AddNew                            注:新增,修改为edit,删除为delete

……'rst(字段)=变量

rst.Update        注:新增与修改都需要更新记录集,删除与加载则不需要这句。

rst.Close

Set rst = Nothing
7#
 楼主| 发表于 2013-6-17 19:22:38 | 只看该作者
竹笛 发表于 2013-6-17 14:39
Dim rst As ADODB.Recordset  定义ADO记录集

Dim strSQL As String     定义strsql,在下面要用到,具 ...

非常感谢。

要好好揣摩揣摩才行。
8#
发表于 2013-6-18 16:20:25 | 只看该作者
wt565 发表于 2013-6-17 19:22
非常感谢。

要好好揣摩揣摩才行。

呵呵 明白了就简单了
9#
 楼主| 发表于 2013-6-21 16:33:38 | 只看该作者
竹笛 发表于 2013-6-18 16:20
呵呵 明白了就简单了

老师,恕我愚钝。 没有能弄明白。

能否请您看看我下面的数据库?

10#
 楼主| 发表于 2013-6-21 16:48:16 | 只看该作者
附件里是我的数据库和待导入的TXT文件
表PI1已经建好了。
窗体里有一个按键。希望按下按钮就可以执行TXT文件处理和导入。
代码在窗体下面

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-5-4 06:04 , Processed in 0.236932 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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