| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 644 人关注过本帖
标题:从 excel 中导入数据到 access,运行正常,但数据库文件中数据没变啊
只看楼主 加入收藏
有钱的狗
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-5-3
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:2 
从 excel 中导入数据到 access,运行正常,但数据库文件中数据没变啊
Private Sub Command3_Click()
    Dim i As Integer
    Dim s As Integer
    Dim rst As New ADODB.Recordset
    Dim rs As New ADODB.Recordset
    If fn1count <= fncount Then
        rst.Open "select * from [" & & "]", cn, adOpenDynamic
        rs.Open "select * from " & Combo1.Text & "", conn, adOpenDynamic, adLockBatchOptimistic
        rs.MoveLast
        i = rst.RecordCount
        Do While Not rst.EOF
            On Error Resume Next
            rs.AddNew
            For s = 0 To fn1count - 1
                rs.Fields(s).Value = rst.Fields(s).Value
            Next s
            rs.MoveNext
            rst.MoveNext
            i = i - 1
            If i = 0 Then
                faccess.Caption = "数据导入完毕!"
                rs.Update
                MsgBox "已经成功导入" & rst.RecordCount & "条记录!", vbInformation, "温馨提示"
            Else
                faccess.Caption = "数据正在导入请稍候……"
            End If
        Loop
    Else
        MsgBox "Excel 表数据字段数大于Access表数据字段数!", vbInformation, "温馨提示"
    End If
   
    Set rs = Nothing
    Set rst = Nothing
    rs.Close
    rst.Close
End Sub
搜索更多相关主题的帖子: 数据库文件 access excel 
2014-05-04 14:39
有钱的狗
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-5-3
收藏
得分:0 
突然发现 adLockBatchOptimistic  改成 adlockoptimistic  
后就行了
菜鸟,不懂  rs.Open "select * from " & Combo1.Text & "", conn, adOpenDynamic, adLockBatchOptimistic
后面的adOpenDynamic, adLockBatchOptimistic 是什么意思  还请高手指点一二
2014-05-04 15:17
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:20 
回复 2 楼 有钱的狗
adOpenForwardOnly > adOpenDynamic > adOpenKeyset > adOpenStatic
游标类型有以下四种类型:
1、 AdOpenForwardOnly (默认值)一次只能向前移动一行。
2、 AdOpenKeyset 打开键集类型游标。
3、 AdOpenDynamic 打开动态类型游标
4、 AdOpenStatic 打开静态类型游标。
AdOpenForwardOnly和AdOpenStatic这两种游标使得记录集只读,它表示创建数据的一个快照。后者比前者灵活,因为它可以允许任意方向移动。
AdOpenKeyset允许任意移动,并且允许更改记录集。其他用户对记录集的添加和删除,这个游标反映不出来。但它能反映出其他用户对记录集的更改。
AdOpenDynamic允许所有操作,其他用户对记录集的添加、删除、更改在此记录集中
都是可见的。
LockType= adLockOptimistic
Options 省略
大家需要注意的是:当使用AdOpenKeyset时,要求记录集中每条记录都有唯一的关键字。否则,执行的结果就不是您所要的所有记录了。
清楚了游标类型,再来看看锁类型LockType
AdLockReadOnly (默认值)只读 --- 不能改变数据。
AdLockPessimistic 悲观锁(逐个)--- 为确保成功完成编辑记录所需的工作,
在编辑时立即锁定数据源的记录。
AdLockOptimistic 乐观锁(逐个)--- 只在调用Update 方法时才锁定记录。
AdLockBatchOptimistic 乐观批更新---用于批更新模式(与立即更新模式相对)。
对于悲观锁、乐观锁的解释:
乐观的锁策略是把记录必须加锁的时间减到最短,当用户对记录的内容进行编辑时,乐观锁不起作用,其他用户可以访问和编辑数据,但当其中的一个用户想要更新数据时,记录就会加上锁;
悲观的锁策略是当第一个用户打开记录进行编辑的时候,记录就会加锁,直到使用记录的用户解除锁时锁才不起作用。一旦悲观锁起作用,其他的用户就看不到数据,直到该锁被解除;
对于AdLockBatchOptimistic,只能与AdOpenKeyset游标一起使用。它在更新时不会立即把更新过的记录写入到数据源中,而是把对许多条记录所做的改动先放在客户计算机中,然后把更新过的记录作为一批写入数据源
2014-05-04 15:26
快速回复:从 excel 中导入数据到 access,运行正常,但数据库文件中数据没变啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021411 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved