Error -2147467259

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

About Mirek Šalamon

Jsem programátor na volné noze a cestovatel.
This entry was posted in Visual Basic. Bookmark the permalink.

Comments are closed.