加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

SQL – MS Access是否克制插入的主键斗嘴?

发布时间:2021-02-25 04:09:29 所属栏目:编程 来源:网络整理
导读:我正在从头编写MS Access数据库到SQL处事器,并在Access中发明白一个稀疏的题目,我但愿有人可以提供辅佐. 我有一个表,让我们称之为’Main’,并在索引的帐户上行使主键,而且不应承一再.看起来很简朴但我的题目是在数据被插入时产生的. 我的INSERT查询是(为简捷

我正在从头编写MS Access数据库到SQL处事器,并在Access中发明白一个稀疏的题目,我但愿有人可以提供辅佐.

我有一个表,让我们称之为’Main’,并在索引的帐户上行使主键,而且不应承一再.看起来很简朴但我的题目是在数据被插入时产生的.

我的INSERT查询是(为简捷起见,字段数目有限)

INSERT INTO Main (Account,SentDate,Amount)
SELECT C.Account,C.SentDate,C.Amount
FROM 
    (CALLS C LEFT JOIN Bals B ON C.Account = B.ACCT_ID) 
LEFT JOIN AggAnt A ON C.Account = A.Account

题目是,假如我运行查询的SELECT部门??,我获得2365笔记录可是当我运行INSERT时,我获得2364笔记录.以是我做了一些搜查,发明一个帐户一再,记录之间的差别是SentDate和Amount.但Access只插入个中一笔记录而不会抛出任何范例的错误动静或任何内容.查询中没有任何内容暗示选择最近的日期等.

样本数据:

Account    SentDate   Amount
12345678   8/1/2011   123.00
23456789   8/1/2011   45678.00
34567890   8/1/2011   7850.00
45678912   8/1/2011   635.00
45678912   5/1/2011   982.00
56789123   8/1/2011   2639.00

在示例中,当我运行INSERT时,我有一个一再的帐户45678912,我没有错误,我从2011年8月1日得到了记录.

为什么Access违背表中的PK时不会抛堕落误?在Access中有一些怪癖选择一笔记录而只是跳过另一笔记录吗?

我完全被这个题目困扰以是任何辅佐城市很棒.

办理要领

你是怎样运行查询的?假如您正在行使DoCmd.RunSQL,请切换到行使DAO数据库工具的.Execute要领,并行使dbFailOnError.
Dim db As DAO.Database
Dim strInsert As String
strInsert = "your insert statement"
Set db = CurrentDb
db.Execute strInsert,dbFailOnError
Set db = Nothing

编辑:假如Main是SQL Server表的ODBC链接,我会在db.Execute strInsert,dbFailOnError之后搜查Errors Collection (DAO)

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读