Èske MS Access siprime vyolasyon kle prensipal sou foure?

Mwen nan pwosesis pou yo re-ekri yon baz done Aksè MS sèvè SQL epi yo te jwenn yon pwoblèm etranj nan Aksè ke mwen espere ke yon moun ka ede ak .

Mwen gen yon tab kite a rele li 'Main' ak yon kle Prensipal sou kont la ki endèks epi ki pa pèmèt pou kopi. Sanble ase senp men pwoblèm mwen an fèt lè done yo ap foure.

Demann INSERT mwen an se (kantite jaden yo te limite pou konsizyon)

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

Pwoblèm lan se sa a, si mwen kouri SELECT pòsyon rechèch mwen an mwen jwenn 2365 dosye men lè mwen kouri INSERT mwen jwenn 2364 dosye. Se konsa, mwen te fè kèk tcheke ak mwen te jwenn yon sèl kont kopi diferans ki genyen ant dosye yo se SentDate la ak kantite lajan an. Men, Aksè se mete sèlman youn nan dosye yo epi yo pa voye nenpòt kalite mesaj erè oswa anyen. Pa gen anyen nan rechèch la ki di chwazi dat ki pi resan an, elatriye.

Egzanp Done:

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

Nan echantiyon an mwen gen yon sèl kont ki kopi 45678912 lè mwen kouri INSERT mwen, mwen pa jwenn okenn erè epi mwen jwenn dosye soti nan 8/1/2011.

Poukisa Aksè pa voye yon erè lè sa a vyole PK sou tab la? Èske gen kèk kapris nan Aksè yo chwazi yon dosye ak jis sote lòt la?

Mwen totalman stumped pa pwoblèm sa a pou nenpòt ki èd ta dwe gwo.

5
задан Taryn 18 August 2011 в 23:13
поделиться