SQL – MS Access是否克制插入的主键斗嘴?
我正在从头编写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) (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |