Schamann.net

…děláme vJeci jinak…

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

UBound vícerozměrného pole

Nedefinované v knize:

Pokud mám pole sPole(4,5) pak UBound(sPole)=4

Pokud chci zjistit počet prvků druhého rozměru pak UBound(sPole,2)=5

UBound(pole,rozměr)

iPočetPrvkuPoleXtehoRozměru = UBound(sPole,x)

Schamann.net doporučuje smažák.info