Barvna shema: Svetla
Trenutno dejavna stran: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » troubleshooting » Spremembe v drevesu se ne shranijo

Spremembe v drevesu se ne shranijo

Vozlišče, ki ste ga v pogledu obrazca preimenovali, premaknili, dodali ali izbrisali, ali celica, ki ste jo uredili v drevesnem seznamu, je v kontrolniku videti spremenjena, tabela pa je nespremenjena; po Requery ali ponovnem odprtju obrazca sprememba izgine.

Okolje

Vse različice kontrolnikov WklTreeView in WklTreeList.

Vzrok

Velja eno od naslednjega:

  • AutoSave je False: spremembe vplivajo samo na prikaz. Celico je takrat mogoče urejati ne glede na to, kaj dovoljuje vir; vnesena vrednost ostane na zaslonu, dokler Requery znova ne prebere vira. ValidateCell pride, preden je vrednost prevzeta (s Cancel), AfterCellUpdate pa po tem (brez njega). Aplikacija, ki spremembo zapiše sama (na primer s shranjeno proceduro), to naredi v ValidateCell in prekliče, če pisanje ne uspe, ker AfterCellUpdate prikaza ne more več razveljaviti; vrednosti, ki jih pisanje spremeni drugje (različica vrstice, časovni žig), se prikažejo po Requery.
  • Drevo je bilo naloženo iz Recordset ali z LoadFromFile, LoadFromStream, LoadFromString ali AsJSON brez RecordSource: ni vira zapisov, v katerega bi lahko pisal.
  • BeforeUpdate (ali AfterLabelEdit, NodeDrop, ValidateCell) je nastavil Cancel = True; celotna operacija je bila razveljavljena.
  • Access je pisanje zavrnil (pravilo za veljavnost, obvezno polje, zaklenjen vir ali vir samo za branje, na primer poizvedba, ki je ni mogoče posodobiti). Drevo takrat ostane nespremenjeno, DataError pa sporoči vzrok.

Rešitev

  1. Preverite AutoSave (list z lastnostmi, zavihek Drugo).
  2. Če je treba spremembe shraniti, vežite z RecordSource namesto z Recordset.
  3. Obravnavajte DataError, da vidite sporočilo Accessa:

    Private Sub Tree1_DataError(ByVal DataErr As Long, ByVal Description As String, Response As Integer)
        Debug.Print DataErr, Description
    End Sub
  4. Preverite, ali je vir zapisov mogoče posodobiti: odprite ga kot podatkovni list in isto polje spremenite ročno.
sl/wiki/msaccess/comctl/troubleshooting/changes-not-saved.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille