Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 Re: Base » Sdílení a zápis do BASE v síti pro více uživatelů » 24. 5. 2010 08:21:48

tak jsem to konečně vyřešil.
Než se s tím pořád trápit, zaplatil jsem firmě a ta mi celou aplikaci hodila na internet.
Naprogramovali to v ajaxu, php a javascriptu, napojili na databázi. Něco to stálo, ale je to funkční a přistupovat mohu třeba z 50 počítačů odkudkoli.
Myslím, že oo Base ma zakladni problem s tim ,že je postavena jen pro jednoho uživatele.
Druhá zásadní věc je, že objektový model oo Base a calc je příliž složitý a velmi nepřehledný. Pro uživatele prakticky neschůdná cesta. Naprogramovat něco v makrech třeba  excelu je mnohem jednodušší než v Calcu. Nerad to říkám ale je to bohužel tak.

#2 Re: Base » Přesunutí záznamu do jiné tabulky » 1. 2. 2010 14:18:20

Zapisovat vše do jedné tabulky a pak filtrovat je určitě nejsnadnější metoda.
Přesun by měl být možný  pomocí maker.
Z 1. tabulky přečíst hodnoty patřičného řádku, otevřít 2.tabulku, vložit hodnoty.
Vrámci 1 tabulky jsem něco podobného dělal.Přečetl hodnoty, něco změnil, dopočítal a znovu vložil do tabulky.

#3 Re: Base » Sdílení formuláře » 20. 1. 2010 14:42:19

Taky jsem četl, že HSQL je jen pro jednoho uživatele.
To mě ale trochu deptá. To je zásadní omezení, které databázi v mých očích absolutně znehodnocuje. Databáze přece musí umožňovat přístup více uživatelů naráz.

Na internetu jsem našel toto:
http://hsqldb.org/web/hsqlDocsFrame.html
ve stati LOCK TABLE nevím jestli tomu dobře rozumím, ale pro HSQL by
přístup z více počítačů v síti neměl být problém.
Vyzkoušel jsem v oo Base v Basic makrech několik objektů u kterých jsem se pokoušel změnit nějakou vlastnost, ale výsledek se nedostavil.
Netuší někdo alespoň přibližně v kterém objektu bych měl hledat ? A cestu k němu ?
Jde mi prostě jen o to, abych byl schopen vypnout kontrolu uživatelů. Zjistil jsem totiž, že  pro 2. uživatele se Base automaticky otevře jen pro čtení. Úprava není možná i když 1. uživatel vše uzavře. To je naprosto zbytečné, protože pokud jeden uživatel upravuje 2 různé tabulky je mu úprava též umožněna.
Děkuji

#4 Re: Base » Vzorce » 20. 1. 2010 14:21:35

Požadovanou hodnotu lze též spočítat a zapsat do tabulky automaticky při zápisu pomocí makra, ktré se spustí např. při vyplnění vstupního pole formuláře.
Též je možné pomocí makra celou tabulku číst řádek po řádku a potřebné hodnoty pomocí vzorce vypočítat a do tabulky doplnit.

Takto to lze udělat i když potřebuji spočítat třeba součet nějakého sloupce.
Je to však jaksi neohrabané a trvá to trochu.
Neví někdo prosím , jak je možné v makrech jednoduše získat pole celé tabulky, nebo alespoň sumu sloupce?
Tak abych nemusel procházet záznam po záznamu ?
Děkuji

#5 Re: Base » Sdílení a zápis do BASE v síti pro více uživatelů » 14. 1. 2010 13:47:18

zdá se mi že na adrese http://hsqldb.org/web/hsqlDocsFrame.html
ve stati LOCK TABLE je hledaná odpověď. Nevím jestli tomu dobře rozumím, ale pro HSQL by
přístup z více počítačů v síti neměl být problém.
Vyzkoušel jsem v oo Base v Basic makrech několik objektů u kterých jsem se pokoušel změnit nějakou vlastnost, ale výsledek se nedostavil.
Netuší někdo alespoň přibližně v kterém objektu bych měl hledat ? A cestu k němu ?
Děkuji

#7 Re: Base » Sdílení a zápis do BASE v síti pro více uživatelů » 13. 1. 2010 13:11:08

Děkuji za tip.
S Angličtinou si sice neporadím, ale bude jistě obdobná stránka v Němčině.
Jsem ale přesvědčen, že i někde v OO Base bude existovat soubor, kde toto jištění půjde vypnout. Jenom vědět kde.

#8 Re: Base » Sdílení a zápis do BASE v síti pro více uživatelů » 12. 1. 2010 10:12:26

Děkuji velmi za odpověď.
MySql a propojení bych se musel naučit. Pokud bych se do toho pustil, budou ta původní makra fungovat  , nebo to budu muset komplet přeprogramovat ? Dalo dost práce to odladit.
Nevíte kam bych se mohl obrátit, kde by mi někdo poradil, jestli není možné tu blokaci na 1 uživatele někde změnit, tak aby Base prostě "ZAPOMĚLA" kdo se přihlásil jako první ?
Žádný konflikt zájmů tam totiž u 2 různých tabulek nenastává.

Děkuji za nějaký tip
Martin

#9 Base » Sdílení a zápis do BASE v síti pro více uživatelů » 11. 1. 2010 15:44:31

Martin13
Odpovědí: 15

Dobrý den,
poradí mi někdo ?
Potřebuji, aby bylo možno zapisovat do 1 DATABASE ze dvou míst v síti.
Jedná se o zápis do dvou různých tabulek v jedné DATABASI pomocí dvou různých formulářů.
Pokud to otevřu z jakéhokoli místa jen 1 x funguje to.
Pokud se ale přihlásí 2. uživatel má možnost pouze prohlížet.
Při pokusu o zápis pomocí maker se vygeneruje chyba:
Vyskytla se vyjímka
Type: com.sun.star.sdbc.SqlException
Message:No insert privileges

Není přece možné, že neexistuje metoda LOCK/ UNLOCK, nebo něco obdobného, co umožní zápis jinému uživateli.

Taky je divné, že nelze zapisovat do různých tabulek v 1 Databási, u kterých přece nehrozí riziko zápisu do jednoho řádku.

Pokud někdo má nějaké řešení budu moc vděčný.
Zatím jsem na internetu našel jen to, že HSQL je určena pouze pro 1 uživatele.
To je ale velká škoda, chtělo by to alespoň nějakou možnost, jak tuto ochranu úplně vypnout, aby si to uživatelé mohli hlídat sami.
Tím myslím, že si každý bude zapisovat jen do své tabulky.

Děkuji Martin

Zápatí

Používáme FluxBB