Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se C a C++. Zároveň využij akce až 80 % zdarma při nákupu e-learningu - více informací.
c++ week
Avatar
Burcak
Člen
Avatar
Burcak:21.3.2016 11:09

Čau,
mám databázi v Accessu a přes Excel ji zobrazuji, upravuji, atd.
Na jednom listu jsem na ní připojený (OLEDBConnection) a zobrazuji ji normálně jako tabulku.

  1. část programu je o úpravě určitých dat ve stávající databázi
  2. kopíruji stávající databázi jako zrcadlovou
  3. měním připojení na zrcadlovou databázi
  4. aktualizuji celý sešit a konec

Chyba mě vyskakuje u bodu č.3.

Run-time Error 1004 - Microsoft Excel teď aktualizuje některá data. Zkuste to prosím znova později.

Když hnedka kliknu na "Debug" a hned spustím makro dál, tak projde bez problémů.
Zkoušel jsem různé varianty aby sešit dodělal aktualizaci dat (např. DoEvents / Application.Wait / On Error GoTo errWait(MsgBox) -> MsgBox -> spustění kódu od začátku / Zrušení aktualizací u připojení / atd...), ale buď to nefunguje už vůbec a nebo to dělá to stejné.

Pro ukázku můj kód:

2.část

ZrcadlovaDatabaze = "Z:\Technologie\Databáze\Databaze2.accdb"

FileCopy "Z:\Technologie\Databáze\Databaze.accdb", ZrcadlovaDatabaze

3.část

DoEvents
With ActiveWorkbook.Connections("Databaze").OLEDBConnection

U následujícího řádku mi nahlásí tu chybu.

.BackgroundQuery = True
.CommandText = Array("PROJEKTY_2015")
.CommandType = xlCmdTable
.Connection = Array( _
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=Z:\Technologie\Databáze\Databaze2.accdb;Mode=Share Deny Wri" _
, _
"te;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engin" _
, _
"e Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:Ne" _
, _
"w Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Co" _
, _
"mpact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:By" _
, _
"pass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False" _
)
.RefreshOnFileOpen = True
.SavePassword = False
.SourceConnectionFile = ""
.SourceDataFile = "Z:\Technologie\Databáze\Databaze2.accdb"
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
End With

Nevíte prosím co s tím, už si nevím rady. Děkuji

 
Odpovědět
21.3.2016 11:09
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Burcak
Člen
Avatar
Burcak:21.3.2016 13:55

vyřešeno, stačilo On Error Resume Next

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
21.3.2016 13:55
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.