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

#1 15. 3. 2015 17:39:41

hdplot
Člen
Registrace: 18. 2. 2015
Příspěvků: 79

Pole dotazu, které je vypočítané - VYŘEŠENO

Mám dotaz který vypadá takto: SELECT "Mnozstvi", "Mnozstvi" / 1000 FROM "Prubeh" WHERE "Mnozstvi" IS NOT NULL Problém je, že když Mnozstvi je např. 10600 tak výsledek dělení se zobrazí jako 11, při množství -500 je výsledek dělení zobrazen jako 0. Jak správně zadat dotaz (tedy jak do dotazu přidat formátování sloupce a přesnost výpočtu), aby byly zobrazeny správné výsledky? Díky za odpověď.

Editoval hdplot (16. 3. 2015 14:58:45)

Offline

#2 15. 3. 2015 18:31:26

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,678

Re: Pole dotazu, které je vypočítané - VYŘEŠENO

To vypadá jako nevhodný typ číselné proměnné. Já teď z hlavy nevím jaké jsou typy v které databázi přistupné, ale běžně například Single, Integer Long(integer) by měla být celočíselná. Proto zřejmě není možné zadat záporné číslo ve formě podílu (ačkoliv záporní hodnoty u celých čísel existují). Měla by tam existovat obecná hodnota 'numeric', ale spíš by to chtělo poslat ukázku.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 15. 3. 2015 18:57:10

hdplot
Člen
Registrace: 18. 2. 2015
Příspěvků: 79

Re: Pole dotazu, které je vypočítané - VYŘEŠENO

Taky to tak vidím, ale jak lze při definování dotazu přidat i definici typu pole. Ono když dotaz rozšířím o další sloupec (bude to teď vypadat takto: SELECT "Mnozstvi", "Mnozstvi" / 1000, 80/60 FROM "Prubeh" WHERE "Mnozstvi" IS NOT NULL tak mi tam přibude další sloupec, který obsahuje samé jedničky, ale měl by obsahovat 1,3333. A tento sloupec nemá vazbu na žádné pole databáze - je to jenom stále tentýž opakující se výpočet, tak jsem si myslel, že Base sama pozná, že se jedná o číslo a nastaví vhodný typ (tady asi float) ale to se nestalo. Tedy bych to při definici dotazu měl asi udělat já, ale nevím jak

Offline

#4 15. 3. 2015 19:44:47

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,678

Re: Pole dotazu, které je vypočítané - VYŘEŠENO

A nešlo by to řešit aliasem? - tedy pseudo výpočtovým polem?


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#5 15. 3. 2015 20:05:28

hdplot
Člen
Registrace: 18. 2. 2015
Příspěvků: 79

Re: Pole dotazu, které je vypočítané - VYŘEŠENO

Tak to vůbec netuším, co máte na mysli. Já znám pojem alias jenom jako upřesnění názvu pole. Nešlo by uvést nějaký příklad?

Offline

#6 15. 3. 2015 20:37:31

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,678

Re: Pole dotazu, které je vypočítané - VYŘEŠENO

mrkněte sem příklad výpočtu - Alias

Editoval neutr (15. 3. 2015 20:38:35)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#7 16. 3. 2015 12:11:07

hdplot
Člen
Registrace: 18. 2. 2015
Příspěvků: 79

Re: Pole dotazu, které je vypočítané - VYŘEŠENO

Ano, přesně tak to dělám - nejde o postup, ale o přesnost. Rozdíl je v tom, že ve Vaší ukázce je řešen součet - všechny vstupující čísla i výsledek jsou celá čísla. Já řeším podíl, takže vstupují celá čísla, ale výsledek je desetinné číslo, které Base nezobrazí přesně, ale zaokrouhlí jej (a to je špatně). Zatím jsem metodou pokusu a omylu zjistil, že když podíl 80/60 (viz. naši předchozí diskusi) zapíšu tak, jak je uvedeno, zobrazí Base výsledek 1. Když zapíšu 80.0/60 zobrazí výsledek 1,3, Mohlo by se tedy zdát, že přesnost výsledku určuji přesností zadání, ale není to pravda. Při 80.00/60 i při 80.000/60 a všech dalších už zobrazuje 1.33 - tedy s přesností max. na 2 desetinná místa. Nevím, jestli se toto dá někde v nastavení změnit. Stejně tak i když jsem použil příkaz (ROUND (80/60,4) - tedy příkaz na zaokrouhlení na daný počet desetinných míst (v mém případě na 4 místa) bylo zobrazeno 1,33.

Řeším tedy problém s nastavením a zobrazením vypočítaného čísla v dotazu, které musí být zobrazeno s určitou přesností a tu nedokážu nastavit více jak na 2 desetiny.

Offline

#8 16. 3. 2015 14:21:47

student
Člen
Registrace: 27. 2. 2006
Příspěvků: 94

Re: Pole dotazu, které je vypočítané - VYŘEŠENO

Neviem či som tento problém pochopil správne, ale vyskúšal som si to takto:
vytvoril som tabuľku s 2 stĺpcami  - forát Numeric. 1. cena, 2. počet. vo východzom nastavení s 2 des. miestami v každom stĺpci.
Následne som vytvoril dotaz v ktorom som delil: cena/pocet

Výsledkom bolo číslo s 2 des. miestami a aj keď som zmenil formát stĺpca v dotaze na 4 des. miesta, tak stále tam zostalo napr. 100/30 s výsledkom 3,33 a po úprave formátu na 4 des miesta 3,3300.

Ale následne som zmenil východzí formát v tabuľke = zdroj údajov na 4 des . miesta a v dotaze zostal formát na 2 des. miesta - po spustení dotazu 100,0000/30,0000 výsledok v dotaze dal 3,33 ale následne po zmene formátu v stlpci vyhodilo výsledok 3,3333.

Z toho dedukujem, že výsledok je závislý na zdrojových dátach.

Dúfam, že to pomôže

Offline

#9 16. 3. 2015 14:56:25

hdplot
Člen
Registrace: 18. 2. 2015
Příspěvků: 79

Re: Pole dotazu, které je vypočítané - VYŘEŠENO

Ano - to je ono. Díky za radu. Problém byl v tom, že jsem ve formuláři (Database - Forms) měl nastavené pole typu "Textové pole". To pak zobrazí stejný výstup, jaký je vidět v tabulce, když se spustí dotaz (Database - Queries) a zde se objevuje jenom ta přesnost na 2 desetinná místa. Pokud se ale ve formuláři zvolí pole typu "Číselné pole" lze zde nastavit přesnost a pak se to chová tak, jak popisujete, tedy píše to při dělení tolik desetinných míst, kolik potřebuji.

Ještě jednou díky

Offline

#10 16. 10. 2015 13:40:02

delorisheinen
Člen
Registrace: 7. 10. 2015
Příspěvků: 4

Re: Pole dotazu, které je vypočítané - VYŘEŠENO

When this is a question: "When you connect to the Base table CALC and a read-only, you can search, but not add. It unlocks where?" Playground Tiles
So when the database is created so that it is connected to it booklet the Calc - that information through the Base for edit nedaj. The reason is that the data are not in Base, but scrapbook in calcPlayground Tiles

Offline

Zápatí