设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

关于excel保存数据到access中,设置成主键报错,帮助看看

[复制链接]
跳转到指定楼层
1#
发表于 2014-1-28 14:01:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于excel保存数据到access中
请大家看看附件中的例子是,excel保存数据到access中但是有一个问题如果我将数据中的“用户编号”字段设置成主键,为了防止出现重复数据,但是在EXCEL中操作就会报错,请大家帮助修改一下代码,谢谢

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2014-1-28 15:36:08 | 只看该作者
db.mdb的表“用户表”中的“用户编号”字段,设为了主键且设为无重复,而该表中已存在用户编号为1001、1002、1003、1004的四条记录,所以再按保存时因出现重复而报错如,即再新加入的记录必须是编号大于“用户表”中现有最大用户编号1004的无重复记录才行。
3#
 楼主| 发表于 2014-1-28 15:59:58 | 只看该作者
koutx 发表于 2014-1-28 15:36
db.mdb的表“用户表”中的“用户编号”字段,设为了主键且设为无重复,而该表中已存在用户编号为1001、1002 ...

koutx 老师我明白,但是如果不小心操作呢?我想如何添加一个代码来提示“相关数据已经存在,不能重复”这个提示语句来替换系统的错误提示,谢谢
4#
发表于 2014-1-28 17:46:51 | 只看该作者
照下面改一下试试:
Private Sub CommandButton1_Click()
    Dim cnn As New ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim rst2 As New ADODB.Recordset
    Dim sq1 As String
    Dim sqlM As String
    Dim x As Long
    x = [a65536].End(xlUp).Row
   
    cnn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\db.mdb"
    sq1 = "select * from 用户表"
    sqlM = "select Max(用户编号) From 用户表"
    rst.Open sq1, cnn, adOpenKeyset, adLockOptimistic
   
    For i = 2 To x
        rst2.Open sqlM, cnn, adOpenKeyset, adLockOptimistic
        If Range("a" & i) > rst2.Fields(0) Then
            rst.AddNew
            rst.Fields("用户编号") = Range("a" & i)
            rst.Fields("姓名") = Range("b" & i)
            rst.Fields("年龄") = Range("c" & i)
            rst.Fields("基本工资") = Range("d" & i)
            rst.Fields("津贴") = Range("e" & i)
            rst.Fields("工资合计") = Range("f" & i)
        
            rst.Update
        
            rst2.Close
        Else
            MsgBox "重复"
            rst2.Close
        End If
    Next i
   
    cnn.Close
    Set cnn = Nothing

   
    MsgBox "保存成功"
End Sub
5#
 楼主| 发表于 2014-2-4 15:39:21 | 只看该作者
koutx 谢谢帮助!请问关于提示"重复"的提示框能否出现一次呢?而不是有多少条数据就提示多少次?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 04:59 , Processed in 0.102711 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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