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

#1 Re: Base » Vyhledávací box pro najití záznamu v tabulce » 13. 11. 2020 13:07:59

No odpověď je ano i ne. :-) Zůstalo to tam z předchozího řešení, takže do lze smazat, ale JEDEN Z DOTAZŮ (konkrétně "D_Vsechny_Ingr") JE FUNKČNÍ A NESMÍ SE SMAZAT, jinak to zahlásí chybu.


Posílal jsem to trochu ve spěchu a málo jsem si to zkontroloval. Omlouvám se.

#2 Re: Base » Vyhledávací box pro najití záznamu v tabulce » 12. 11. 2020 10:40:10

Je to složité popsat všechny vazby a návaznosti, proto jsem poslal ukázku na mejl roj@seznam.cz. Ostatní zájemci - viz odkaz "https://uloz.to/file/JScuYqylsYA1/ukazka-odb"

#3 Re: Base » Tři tabulky do formuláře (nebo víc) - VYŘEŠENO » 5. 11. 2020 12:13:06

Jak již bylo uvedeno, musí se další podformuláře přidat ručně, nelze to pomocí průvodce. Postup, který používám já je následující:


Rozklikněte si "Form navigator" - spouští se tlačítkem (najdete v nabídce "Form design" (obrázek na tlačítku je malá tabulka s kompasem). Objeví se malé nezávislé okno ve kterém je stromová struktura všech prvků formuláře. Přes pravé tlačítko na zvoleném prvku pak dostanete kontextovou nabídku, co lze s prvkem udělat (u jednotlivého prvku formuláře je to Vyjmout, Smazat, Přejmenovat a Vlasnosti), pokud je prvkem formulář nebo podformulář, tak je v nabídce ještě Nový a tím vložíte další podformulář. Lze takto opakovaně pokračovat, takže lze do jednoho formuláře vložit více podformulářů, nebo lze podformuláře vzájemně vnořovat do více úrovní.


Také lze myší ve stromu přetáhnout podformulář nebo prvek formuláře na jiné místo - tedy např. tlačítko které je součástí SubForm lze přetáhnout na MainForm a pod. Pak je ale nutné ve vlasnostech přetaženého prvku upravit např. pole tabulky, do kterého se prvek dívá - toto se přetažením automaticky nemění.


Také nabízím možnost zaslání ukázky, pokud budu znát email, kam to poslat

#4 Re: Další součásti » MAKRO - zjištění cesty k otevřenému souboru - VYŘEŠENO » 24. 8. 2020 12:31:19

Ano doplněk XRay jsem použil, ale bohužel tako konstrukce opakovaného volání rodičů mě nenapadla. Takže děkuji za radu a považuji to za vyřešené

#5 Re: Další součásti » MAKRO - zjištění cesty k otevřenému souboru - VYŘEŠENO » 21. 8. 2020 14:00:14

Jak se říká - nechval dne před večerem.


Nabídnuté možnosti jsem vyzkoušel s fungují skvěle např. z dokumenti Writeru. Ale já to potřebuji spouštět z dokumentu Base - tedy z nějakého formuláře Base a v tom případě mi to bohužel vrátí prázdný řetězec, takže zase nevím nic.


Pokud to tedy volám z formulářového okna vnořeného do Base a nikoliv přímo z dokumentu Base, tak tento příkaz není správný (vhodný). Nemá někdo ještě nějaký další typ ?  A nebo něco dělám špatně ?

#7 Další součásti » MAKRO - zjištění cesty k otevřenému souboru - VYŘEŠENO » 20. 8. 2020 13:20:13

hdplot
Odpovědí: 6

Dobrý den


Potřebuji makrem zjistit, kde se nachází (v jakém adresáři) dokument OpenOffice, který mám spuštěný a který obsahuje toto makro. Tedy příklad:


Dokument Pokus.odt je uložený v adresáři Home, a dokument obsahuje mimo jiné tlačítko. Po otevření dokumentu a stisknutí tlačítka potřebuji zjistit cestu např. C:/Data/Dokumenty/Home. Jaký příkaz basicu v makru použít, abych jako výsledek dostal požadovaný řetězec. Ten potřebuji proto, abych s ním následně v jiném makru prováděl potřebné úpravy.


Díky za radu

#8 Re: Base » Připojení Base k externím tabulkám různých databází - VYŘEŠENO » 12. 8. 2020 13:18:21

O tabulkách "spreedsheet" jsem věděl, že se Base takto chová. To mě nepřekvapilo - nejsou to typické soubory databázového typu. Ale domníval jsem se, že s klasickou databázovou strukturou umí Base pracovat (v čemž mě utvrdil fakt, že uměla přidávat a editovat tabulky Foxky) a o to víc mě zarazilo, že to neumí s Accessem.


Je jasné, že přímým pžístupem do tabulek se může rozhodit integrita mezi tabulkami, ale to už by byl další krok - vytvořit formuláře, které by tyto vazby pohlídaly a doplňovaly. Pokud ale z principu nemůžu zadat nový záznam, tak to nelze prakticky použít pro SPRÁVU DATABÁZE, ale pouze pro NAHLÍŽENÍ DO DATABÁZE. A takto napřímo jsem to nikde uvedené nenašel.


Mám tedy potvrzeno, co jsem si myslel, díky za info.

#9 Base » Připojení Base k externím tabulkám různých databází - VYŘEŠENO » 5. 8. 2020 09:24:03

hdplot
Odpovědí: 2

Tento dotaz souvisí s mým předchozím dotazem "Správa databáze FoxPro pomocí modulu BASE - VYŘEŠENO". Už to nic neovlivňuje, ale spíš jenom pro moji informaci, abych neumřel hloupý :-)


Při experimentování a hledání řešení správy databáze FoxPro jsem zkoušel vyexportovaná data převést i na jiné typy databází (např. Access a další, se kterými umí Base taky komunikovat). A narazil jsem na zajímavou věc, kterou si neumím vysvětlit.


Při připojení Base na FoxPro byly některá omezení vyplývající z podstaty databáze FoxPro, ale základní funkce (tedy přidat nový nebo editovat stávající záznam) byla zachována. Ale při připojení Base na databázi Access nebo na databázi typu Text a Spreetsheet bylo možné pouze data zobrazit a filtrovat, ale nešlo data přidávat a editovat. Jako kdyby byly tabulky zamčené pro úpravu.


Dotaz tedy zní, čím by to mohlo být způsobené. Je báze určená pouze na prohlížení těchto typů databází a nikoliv na jejich plnohodnotnou správu, nebo je chyba někde v nastavení Base nebo databázových souborů ??


Pokud toto někdo ví, tak díky za info

#10 Re: Base » Správa databáze FoxPro pomocí modulu BASE - VYŘEŠENO » 5. 8. 2020 09:07:46

Takže považuji téma za uzavřené a jenom shrnu výsledek pátrání. Po delším bádání a diskusích s neutr jsem se vydal tou cestou, že opustím FoxPro, data vyexportuji a naexportuji je do Base v jejím nativním formátu. Následně pak budu vše řešit na této platformě. Důvodem je jednak to, že Base jako taková neumí číst data FoxPro z položky MEMO a také to, že databáze na platformě FoxPro neumí relační dotazy mezi tabulkami, takže ovládání FoxPro z Base by bylo ztížené a kostrbaté.

Tímto chci velmi poděkovat neutr za cenné rady i faktickou pomoc při převodu dat.

#11 Re: Base » Správa databáze FoxPro pomocí modulu BASE - VYŘEŠENO » 30. 7. 2020 21:43:30

Není problém, můžu Vám poslat všechny soubory i soubor Base *.odb, kde už mám začátek rozpracovaný a pak také printscreen obrazovky, kde Foxka jede, aby bylo jasné, co se ode mě očekává. Ale jak Vám to mám poslat a kam ??

#12 Base » Správa databáze FoxPro pomocí modulu BASE - VYŘEŠENO » 30. 7. 2020 20:42:41

hdplot
Odpovědí: 5

Prosím o pomoc. Snažím se připojit a pracovat s databázi z FoxPro. Formát souborů je *.dbf a připojení se mě podařilo přes "Připojit k databázi" -> "dBase". Všechny tabulky vidím a můžu s nimi pracovat (editovat, přidávat položky a pod.), takže mezi tabulkami začínám připravovat vztahy a vazby tak, aby to fungovalo a zobrazovalo stejné údaje jako původní program Foxky.


Problém je, pokud má tabulka jedno z polí deklarované jako typ Memo. V tom případě si Foxka vytvořila další dva soubory. Např. tabulka "zakazky.dbf" má jednu z položek "Poznamka" typu Memo a v adresáři existují soubory "zakazky.cdx" a "zakazky.fpt". Soubory jsem přejmenoval na txt a prohlédl v Notepadu. *cdx" je nečitelný (rozsypaný čaj) a předpokládám, že je to soubor indexů ??. V souboru *.ftp"se dají dohledat texty, které se v původní FoxPro zobrazují v poli Poznamka. Jsou to tedy mnou požadovaná data.


Ale když v Base vytvořím Prvek textové pole a připojím ho k položce tabulky Poznamka, tak se v tomto prvku žádný text nezobrazuje.


Dotaz tedy zní, co a jak se musí nastavit, aby Base dokázala tyto data načíst a nebo po změně zase korektně uložit do souboru.



Díky za radu

#13 Re: Writer » Vložit obrázek na řádek - VYŘEŠENO » 14. 2. 2020 15:05:17

Možná trochu opožděně, ale zašlu svůj postup. V podstatě se shoduje s tím, jak postupuje tazatelka s malým rozdílem. Tedy:

1) Vložím obrázek - umístí se nahodile
2) Edituji vlastnosti vložení - dám umístit jako znak - na dříve nahodilém umístění se zarovná do pozice k nejbižšímu znaku
3) Znovu obrázek vyberu a dám vyjmout (CTRL+X)
4) Posunu kurzor na místo, kde chci obrázek mít a vložím (CTRL+V) - vloží se zpět, ale už s nastaveným umístěním jako znak, takže zůstane na místě kurzoru.

Není to tak moc práce a obejdu se bez makra - tedy univerzální použití kdykoliv

#15 Base » Programové ovládání prvku formuláře - VYŘEŠENO » 8. 11. 2019 08:01:56

hdplot
Odpovědí: 3

Mám databázový rozmulář s makry. Na formuláři je tlačítko a makrem ovládám text zobrazený na tlačítku. Příkaz vypadá takto:


ThisComponent.Drawpage.Forms.getByName("Form1").Button1.Label = "ABCD"


a způsobí, že příslušnému tlačítku "Button1" na formuláři "Form1" se změní zobrazený text na ABCD. Vše funguje jak má. Pokud ale chci stejným postupem změnit nějakou jinou vlastnost (např. šířku tlačítka) a napíšu obdobný příkaz:


ThisComponent.Drawpage.Forms.getByName("Form1").Button1.Width = 5


dostanu chybovou hlašku:


BASIC runtime error.
Property or method not found:Width


Ukázku s chybou Width jsem zvolil záměrně, protože Label i Width se vyskytují v editačním formuláři prvku a předpokládal jsem, že tak, jak jsou označené, tak se také interně volají (Label ano, Width bohužel ne). Ve skutečnosti ale nechci měnit ani Label, ani Width, ale barvu tlačítka, která je v editačním formuláři označená jako Background color, Zde jsem zkoušel .....("Form1").Button1.bgcolor.... a jiné podobné varianty, ale vše neúspěšně.


Možnosti jsou dvě: Buďto lze programově měnit pouze některé vlastnosti prvků formuláře (a s tím nic nenadělám), nebo je chyba v zápisu a klíčové slovo Width neexistuje (obdobně bgcolor atd) ale správně tam patří nějaké jiné klíčové slovo. ??? jaké ???


Kde lze seznam těchto příkazů najít ?
Díky za radu

#16 Re: Base » SQL dotaz na prázdnou položku - VYŘEŠENO » 5. 11. 2019 07:36:28

Děkuji za radu už to funguje. Podstatné bylo to, co napsal neutr "samotné "NULL" nic bez předpony neznamená. Správný dotaz je IS NULL tedy "je prázdné"."


Takže celý dotaz pak vypadá následovně:


SELECT * FROM "Platby_A_Dokumenty" WHERE "Dokument" IS NULL


nebo pro variantu "není prázdné" pak takto


SELECT * FROM "Platby_A_Dokumenty" WHERE NOT "Dokument" IS NULL


PS - jen pro info, používám AOO, takže tato syntaxe platí i na této konfiguraci

#17 Base » SQL dotaz na prázdnou položku - VYŘEŠENO » 4. 11. 2019 13:45:10

hdplot
Odpovědí: 3

Mám databázovou tabulku (databáze plateb a dokladů) s položkami (pro zjednodušení) ID, částka, popis, odkaz, kde odkaz je textové pole s uvedeným odkazem na soubor (faktura vztahující se k hodnotě částka). Ne ke všem částkám je vyplněn údaj odkaz - tedy existují záznamy, ke kterým není přiřazena faktura. Potřebuji napsat SQL dotaz, který vyfiltruje záznamy - je faktura X není faktura.

Jedná se mi tedy o syntaxi dotazu, jak se zeptat, jestli je dané pole prázdné, nebo jestli obsahuje nějaký (libovolný) řetězec znaků. Jěco jako je NULL nebo NOT NULL, ale nedokážu přijít na správkou syntaxi.

Díky za radu

#19 Writer » Mazání položek typu "Pole" - VYŘEŠENO » 3. 8. 2019 09:44:02

hdplot
Odpovědí: 2

Mám dokument, ve kterém existuje několik položek typu Pole (názvy kapitol) které jsou provázané na Obsah dokumentu. Tyto pole byly vytvořeny pomocí menu "Vložit" - "Pole" - "Jiné" - "Křížové odkazy" - "Vložit referenci". Následně pak byly vytvořené vazby na část dokumentu s Obsahem.


Nyní vytvářím jiný dokument, který vznikl z původního Uložit jako ... Tento nový dokument edituji a některá z polí již nejsou potřebná. Pokud je ale v dokumentu i v obsahu smažu, stále zůstávají v tabulce "Vložit" - "Pole" - "Jiné" - "Křížové odkazy", přestože již nejsou funkční, přesněji řečeno již vůbec neexistují. Tímto se ale tabulka stává stále nepřehlednější. Jak správně postupovat, aby po smazání pole i křížového odkazu zmizel tento prvek i ze seznamu, a jak dodatečně odmazat z tabulky ty prvky, které tam v soušasné době již zůstaly po smazaných odkazech.


Děkuji za radu

#20 Re: Calc » Vnořené logické výrazy - VYŘEŠENO » 31. 7. 2019 05:34:29

Jenom na vysvětlenou - v buňce E6 je počet zubů ozubeného kola. Je to ze 70% pro moji vlastní potřebu, ale i v případě využití jinými lidmi to nejsou hlupáci, i z logiky věci tam číslo menší než cca 5 nedají. Něco mezi 5 až 9 už by někoho mohlo napadnout, ale norma to nepřipouští - proto ta hláška "je menší než 9" Pokud by to mělo být exaktní, tak správně by tam měla být kontrola, že v E6 je celé číslo (12,5 zubu taky neexistuje :-) ) a to taky nedělám. Nemá to být "blbuvzdorný" výpočet, ale pomůcka pro zrychlení práce.


A tak to funguje, takže díky za pomoc

#21 Re: Calc » Vnořené logické výrazy - VYŘEŠENO » 30. 7. 2019 13:28:17

Používám AOO verzi 4.1 a ta funkci IFS NEZNÁ. Proto jsem se snažil to slepit pomocí funkce IF a tam jsem se utopil v těch závorkách. Jak byto tedy bylo s použitím pouze IF ?

EDIT:

Tak s vaší napovědou už jsem to dal :-)

=IF(D6<9;"zubů < 9";IF(D6<=16;72;IF(D6<=40;60;50)))

Díky

#22 Calc » Vnořené logické výrazy - VYŘEŠENO » 30. 7. 2019 12:16:42

hdplot
Odpovědí: 6

Už se s tím trápím celý den, asi jsem už vyzkoušel všechny možnosti zápisu kromě té správné. V buňce D6 mám číslo, které měním (zadávám). Do buňky D31 potřebuji dosadit podle D6 jiné číslo dle následujícího:

D6 < 9 do D31 dosaduji text "zubů < 9"
D6 je 9 až 16 do D31 dosazuji číslo 72
D6 je 17 až 40 do D31 dosazuji číslo 60
D6 > 40 do D31 dosazuji číslo 50

Vždycky se někde ztratím v závorkách, takže buď to hlásí error, nebo dává nesprávné výsledky. Jak má tedy správně zápis vypadat ?

#23 Base » Funkce Group pro pole typu Datum » 16. 4. 2019 14:54:54

hdplot
Odpovědí: 1

Mám tabulku, která obsajuje jedno pole "Datum" a jedno pole "Cislo" Potřebuji napsat dotaz, který určí součet polí "Cislo" podle toho, jak seskupí pole "Datum", tedy něco takového:

SELECT "Datum", SUM( "Cislo_1" ), COUNT( "Datum" ) FROM "Table1" GROUP BY "Datum"

Toto fubguje ale pouze v případě dvou stejných datumů. Jak ale postupovat, pokud chci seskupit např. podle celého měsíce, tedy vyřadit z porovnávání dny (nebo pro případ celého roku, tedy vyřadit v potovnávání dny i měsíce)

Díky za radu

#24 Re: Calc » Prázdná buňka ve vzorci - VYŘEŠENO » 16. 10. 2017 06:42:11

Jak prosté - nechápu, proč mě to nenapadlo :-(

#25 Calc » Prázdná buňka ve vzorci - VYŘEŠENO » 14. 10. 2017 07:13:52

hdplot
Odpovědí: 2

Mám vzorec =IF((ABS(C33))<60;C44;0), který potřebuji upravit tak, aby místo 0 dosazoval prázdnou buňku. Zkoušel jsem výraz NULL, ale bylo to špatně. Jaký správný výraz použít ??

Děkuji za radu

Zápatí

Používáme FluxBB