Řádek nelze nalézt a aktualizovat. Pravděpodobně byly od posledního čtení změněny některé hodnoty.
Run-time error: -2147217864 (80040e38):
The specified row could not be located for updating. Some values may have been changed since it was last read.
Tato chyba se objeví v případě, že do otevřeného recordsetu ukládáme stejnou hodnotu jaká už v databázi je, a následně tento recordset chceme Updatovat. Sloupec HODNOTA obsahuje znaky „ABCD“ a do stejného sloupce opět vkládám znaky „ABCD“ Procedura skonci popisovanou chybou na červeném řádku při pokusu o rs.Update
Příklad:
sText = „ABCD“
Set rs = DataEnvironment1.rsUloz
DataEnvironment1.Uloz
rs.Fields(„HODNOTA“).Value = sText
rs.Update
rs.Close
Řešení:
Kontrolovat zda vkládaná hodnota není stejná jako již existující záznam v databázi (Stejný výsledek dostaneme i při pokusu o vložení NULL do sloupce který NULL obsahuje).
sText = „ABCD“
Set rs = DataEnvironment1.rsUloz
DataEnvironment1.Uloz
If rs.Fields(„HODNOTA“).Value <> sText Then
rs.Fields(„HODNOTA“).Value = sText
rs.Update
End If
rs.Close
Po této úpravě již procedura proběhne bez uvedené chyby.