LO Base - jak automaticky aktualizovat tabulku klienta

Dobrý den.

Používám LO Base jako klienta pro MariaDB. Když dojde ke změně dat v tabulce na servru, nepřenese se tato změna automaticky do klienta. Klient si z musí říci tlačítkem GUI “Obnovit”. Snažil jsem se dát dohromady makro, které by volalo “Obnovit”, ale nějak se mi nedaří. Dokázal byste, prosím, někdo poradit? Dík.

Ahoj, mám to podobně, ale data aktualizuju až v Calcu. Ručně :slight_smile:

Zkusil jsem nahrávat makro ( musí se povolit ) a vylezlo toto :

sub reload
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$B$12"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DataAreaRefresh", "", 0, Array())

Snad ti to jako nakopnutí bude stačit.

Milan

Musím to napsat tady … Moje LO Base je k mariaDB připojeno přes ODBC. Databáze, k níž se připojuji, má asi 2-3MB, samotný soubor odb pak 4,7kB, čili u mně se aktualizace nekoná v odb souboru, ten žádná data neuschovává, a vždy je má čerstvá.
Jaký typ spojení používáte, případně zkuste jako v bugtrackeru popsat, jak odb soubor vytvoříte, abych mohl zkusit ( nejen já ) tu chybu nasimulovat. Nevím jak vy, mám openSUSE 15 a LO 6.1.3.2

Dík za odpověď.

Nahrávání maker funguje v LO jen ve Writeru a Calcu, ale ne v Base. Já nepoužívám Calc, ale Base. Toto makro jsem na netu už i našel. Ve volání metod Calc x Base jsou ale odlišnosti a metoda “CurrentController” není nalezena. Zatím jsem nepřišel na jakou jinou metodu mám zavolat.

Jindra

aha, ono se dá komentovat tady … pardon, dopsal jsem to k odpovědi …

Tak jsem zkusil vytvořit sestavu v tom odb, ale nelze ji otevřít, vždy to spadne.

Ahoj.

Připojuji se se po síti z W7 + LO 6.1.4.2. MariaDB běží na Debianu Stable. Zamýšleno je to pro jednoduchou centrální DB s přístupem z několika různých počítačů. Connector jsem použil jdbc z webu MariaDB, ale funguje i ten z MySQL. Připojení bylo přesně dle návodů. Propojení klient - dbserver funguje bez problémů.Teď jsem vyzkoušel i připojení přes odbc. Také funguje. Tedy také až na refresh. Stále je nutno klikat na “Obnovit”. Když makro co jsi mi poslal, překopíruji a spustím, výsledek je: “Vlastnost nebo metoda nenalezena: CurrentController.” Toto makro je popsáno i v dokumentu “OO Base Macro Programming By A. Pitonyak”. Připojoval jsem se i z Debianu testing s Mate a LO 6.1. Výsledek je stejný.

Jindra