Microsoft Office Access
uređuje Branislav Mihaljev, MVP

Bookmark and Share
Matična strana sajta
  Novo na sajtu
  Mapa sajta
  Beleške
  Kontakt
  Pretraga MSKB

 Blog Praktikuma
  RSS feed
  P@W @Tw

  Izvezi stranicu u PDF
 
Office Praktikum

Još o Accessu
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

 
       

Sponzori sajta

SBB CS 1.6 game server: 82.117.200.1
 
Connectivity by SBB

 


 

Informacije

NOVOSTI

I još dva nova priloga o Excelu
Novi prilozi o Wordu
Novi i prilozi u temi "razno o Officeu"
Novi članci o novostima u Officeu 2010!

SADRŽAJI ZA PREUZIMANJE

Lokalizacija Total Commandera 7.51Obe jezičke školjke za popularni program na srpskom sad funkcionišu u bilo kojoj varijanti Windowsa!
RNDalica.ExcelDodatak za Excel 2007/2010 za generisanje slučajnih podataka!
YuConv.ExcelDodatak za Excel 2007/2010 za konverziju pisama!
YuConvNetDodatak za Word 2007/2010 za konverziju pisama i kodnih rasporeda!

SKREĆEMO PAŽNJU

Kako pretraživati MSKB
a pronaći ćete i još mnogo novih sadržaja...

KONTAKT

Da li znate za pravila koja važe pri kontaktu sa nama? Molimo vas da se obavestite o tome!
 
POZIVAMO VAS

i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.

  (C) 2000-2010 Praktikum na Webu
 

Povraćaj obrisane tabele

Nivo:  NIVO 3 - klinite za objašnjenje


Da li vam se ikada desilo da obrišete veoma važnu tabelu Accessove baze, a niste skoro napravili kopiju? Prvo što se desi je da vas zahvati panika i velika je verovatnoća da ćete napraviti takav skup radnji "zahvaljujući" kojima vašu tabelu nikada nećete povratiti. Ali, samo polako...

U meniju Tools/Options, u dijalogu Edit/Find mogu se isključiti kontrolna pitanja u vezi sa brisanjem objekata i slogova, promenom zapisa i pokretanjem akcionih upita. Kad su kontrolna pitanja isključena, nehotice se tabela lako može obrisati pritiskom na taster DEL. Kada dođete u ovakvu situaciju, prvo što treba da uradite je da - ne radite ništa, barem dok ne prođe talas panike, jer se pod određenim okolnostima i sa visokom verovatnoćom tabela može povratiti.

Prvo proverite da li je tabela bila sastavni deo baze ili je ona pokazatelj (link) na tabelu druge baze. Ako je u pitanju pokazatelj, sama tabela nije obrisana i može se ponovo priključiti postojećoj bazi kroz dijalog File/Get External Data/Link Tables.

U drugom slučaju, kada je tabela sastavni deo baze, proverite da li je dostupna opcija Undo kojom se operacija može vratiti unazad (kombinacija tastera CTRL+Z radi to isto, ali dobro pazite da li je aktivna srpska ili engleska tastatura). Veoma je bitno da ništa dalje ne radite od momenta brisanja jer je operacija Undo moguća samo za jednu, poslednju operaciju.

Pogledajte prethodni prilog u kome smo pisali o omogućavanju operacije Undo
kod akcionih upita bez obzira na broj slogova koji se ažuriraju.

Poslednje što možete učiniti jeste da pokrenete sledeću funkciju, kojom možete vratiti obrisanu tabelu, ali samo ako baza nije zatvarana, ako je tabela obrisana iz Accessovog interfejsa i ako nad bazom nije rađena reparacija (Compact And Repair).

Function SpasiTabelu(Optional sName As String)

Dim db As DAO.DATABASE
Dim tdf As DAO.TableDef
Dim sTable As String
Dim sSQL As String
Dim sMsg As String

If IsMissing(sName) Then sName = "RestoredTable"
If Len(sName) = 0 Then sName = "RestoredTable"

Set db = CurrentDb()

For Each tdf In db.TableDefs
  If Left(tdf.Name, 4) = "~tmp" Then
    sTable = tdf.Name
    sSQL = "SELECT [" & sTable & "].* INTO " & sName
    sSQL = sSQL & " FROM [" & sTable & "];"

    db.Execute sSQL

    sMsg = "Obrisana tabela je vraćena pod imenom " & sName
    MsgBox sMsg, vbOKOnly, "Vraćena"
    GoTo Exit_Undelete
  End If
Next

MsgBox "Tabelu nije moguće vratiti!", vbOKOnly, "Greška"

Exit_Undelete:
Set db = Nothing
Exit Function

Err_Undelete:
MsgBox Err.Description
Resume Exit_Undelete

End Function

Funkcija može povratiti poslednju obrisanu tabelu, a ako imate "teži" prst koga ste duže zadržali na tasteru DEL i obrisali više tabela, ostale su bespovratno obrisane. Funkciju postavite na kartici modula, dodavajući novi modul. Ona se pokreće na ekranu Visual Basic Editora, izdavanjem sledeće komande u prozoru Immediate:

SpasiTabelu ("Naziv_tabele")

Ukoliko funkcija prijavi grešku, a koristite Access 2000 ili 2002, na ekranu Visual Basic Editora u dijalogu menija Tools/References pronađite i uključite Microsoft DAO 3.6, jer funkcija koristi ovu biblioteku.

Više o vraćanju obrisanih tabela možete pronaći u Microsftovoj bazi znanja, u članku Q179161

 

  (C) 2000-2010 Praktikum na Webu

Branislav Mihaljev, Access bajtovi, PC 81


 
 

Vrh stranice  Prethodna stranica  Naslovna strana  Mapa sajta  Pretraga

AFORIZAM ZA DANAS OVIH DANA SLUŠAMO...

Copyright © Praktikum na Webu, 2000-2010; Valinor Design; sva prava pridržana.