Err: -2147467259
Informace o sloupci klíčů jsou nedostatečné nebo nesprávné. Aktualizace se týká příliš mnoha řádků.
Příkaz SELECT je málo konkrétní: je nutné ho rozšířit o jednoznačný identifikátor aby byl výsledek vždy POUZE jeden řádek. Pak tato chyba při Update recordsetu nebude naskakovat.
Tabulka knh_jizda obsahuje řádky: ID, ID_JEDNOTKY, ADRESA, TIMESCO, JEDE
Příklad: Chci změnit TIMESCO v případě, že není stejné jako minulé. Pokud bude v DB jen jeden řádek pak to bude fungovat. Pokud bude v Tabulce více řádků a shodou okolností bude u více řádků i shodné TIMESCO, pak nastane uvedená chyba.
Řěšení: Rozšířit SELECT na ostatní sloupce kde musí být jeden jednoznačný(ID_JEDNOTKY, případně lze použít *)
DataEnvironment1.Commands.Item(„VuzPohyb“).CommandText = „SELECT TIMESCO, ID_JEDNOTKY FROM knh_jizda WHERE (ID_JEDNOTKY = 000001)“
Set rs = DataEnvironment1.rsVuzPohyb
Test2Open rs
DataEnvironment1.Commands.Item(„VuzPohyb“).CommandText = „SELECT TIMESCO FROM knh_jizda WHERE (ID_JEDNOTKY = 000001)“
DataEnvironment1.VuzPohyb
If rs.RecordCount > 0 Then
If rs.Fields(„TIMESCO“).Value <> sCas Then
rs.Fields(„TIMESCO“).Value = sCas
rs.Update
End If
End If
rs.Close
Set rs = Nothing