Dátum növelés

Adatbázis kezelő

Dátum növelés

HozzászólásSzerző: leonardo » 2012. január 29., vasárnap 21:42

Sziasztok!

Most tanulom az Openoffice-t, Access2003 után.
Szeretném megoldani, hogy lekérdezésben új oszlopban hozzá tudjak adni egy dátum típusú mező értékéhez x napot.
Így nézne ki:
A táblában lenne egy "Dátum" mező, a Lekérdezésben a "Dátum" mező + pl. egy "Határidő" mező.
Pl.: azt próbáltam, hogy a Határidő mezőnek megadni, hogy "Dátum" + 1
Amennyiben jól értelmezem valamilyen adat típus hibára panaszkodik.
Ha a Dátum mező egész típusú, akkor simán kiszámolja.

Hogyan tudnám megoldani, hogy dátumhoz hozzáadjak napokat?

Üdv.
OpenOffice.org 3.2.1
OOO320m19 (Build:9505)
ooo-build 3.2.1.4, Debian package 1:3.2.1-11+squeeze4
leonardo
 
Hozzászólások: 4
Csatlakozott: 2012. január 29., vasárnap 21:22

Re: Dátum növelés

HozzászólásSzerző: tamasaz » 2012. január 30., hétfő 13:23

LibreOffice Basic Súgó
Futásidejű függvények
Dátum- és időfüggvények
DateAdd függvény [futásidejű]
tamasaz
tamasaz
 
Hozzászólások: 11
Csatlakozott: 2009. február 20., péntek 14:51

Re: Dátum növelés

HozzászólásSzerző: leonardo » 2012. január 30., hétfő 20:09

A DateAdd függvénnyel próbálkoztam elég sokat. Nem nagyon akar működni.
Hibát ír ki nekem. Mindig ilyesmit mint itt is. :
http://openoffice.2283327.n4.nabble.com ... 89301.html
Lehet, hogy meg kellene próbálnom az OpenOffice helyett a LibreOffice -t?
OpenOffice.org 3.2.1
OOO320m19 (Build:9505)
ooo-build 3.2.1.4, Debian package 1:3.2.1-11+squeeze4
leonardo
 
Hozzászólások: 4
Csatlakozott: 2012. január 29., vasárnap 21:22

Re: Dátum növelés

HozzászólásSzerző: r4zoli » 2012. január 31., kedd 18:16

leonardo írta:A DateAdd függvénnyel próbálkoztam elég sokat. Nem nagyon akar működni.
Hibát ír ki nekem. Mindig ilyesmit mint itt is. :
http://openoffice.2283327.n4.nabble.com ... 89301.html
Lehet, hogy meg kellene próbálnom az OpenOffice helyett a LibreOffice -t?


A dateAdd nem működik, ahsqldb 1.8 -ban, amit az OOo/LibO 3.3, 3.4,3.5 tartalmaz.

A Base részen nincs sok különbség a kettő között.

Ezt próbáld ki, négy hónapot ad a mai naphoz:
Kód: Egész kijelölése   KinyitásÖsszecsukás
SELECT
CAST(YEAR(CURRENT_DATE)||'-'||CASEWHEN(MONTH(CURRENT_DATE)+4>9,'','0')|| MONTH(CURRENT_DATE)+4 ||'-'||CASEWHEN(DAY(CURRENT_DATE)+4>9,'','0')||DAY(CURRENT_DATE) AS DATE)AS "Ma +4 Hónap"
From "Tabla"

Nyiss egy új SQL lekérdezés ablakot, másold át a kódot, "Tabla" neve helyett add meg az odb fájlban lévő egyik táblád nevét, és futtasd SQL közvetlen módban.
Olvasd el, és lehetőleg tartsd be az útmutatót a fórum használatához.
AOO 3.4.1 win7, LibO 4.0 win7.
Avatar
r4zoli
Site Admin
 
Hozzászólások: 850
Csatlakozott: 2008. február 17., vasárnap 4:52
Tartózkodási hely: Budapest

Re: Dátum növelés

HozzászólásSzerző: leonardo » 2012. január 31., kedd 21:13

Találtam még egy hasznos infot. :
http://user.services.openoffice.org/en/ ... 61&t=45456
Az is gond lehet, hogy linux-on próbálkozom. Az biztos, hogy a java -classpath .. -al fel kell vennem osztályt. A hsqldb.jar-t.
Talán, de nem egyszerű ha mindenhol meg kell csinálnom ahova készítek lekérdezést.

Lefuttattam a példát, hibátlanul működik is. Nem csak a current_date-re, hanem a áblában levő dátum mezőre is. Kösz.
Nem egészen értem a lekérdezést, amnnyira nem mély az sql tudásom. Amennyiben jól látom, szétszedi a dátum tagjait
évre, hónapra, napra és a hónaphoz van hozzáadva 4 .
Viszont ha erre alapulóan szeretnék csinálni még plusz oszlopokat, akkor igen hosszú és bonyolult lekérdezést kell írnom.
Gonolom futásidőben létrehozott mezőre nem lehet tovább hivatkozni. Pl ha még 4 hónapot írnék hozzá akkor nem tudom
megtenni azt hogy a "Ma +4 Hónap" mezőt helyetteítem be a CURENT_DATE helyére. Azaz a fenti kódot be kell helyettesíteni önnmagában a kódban
mindenhová ahol jelenleg a CURRENT_DATE van.
Lehet, hogy egy kicsit túlbonyolítom a dolgot. Nem is sejtettem, hogy LibreOffice-ban ilyen nagy gond megnövelni decimális számmal
egy dátumot.
OpenOffice.org 3.2.1
OOO320m19 (Build:9505)
ooo-build 3.2.1.4, Debian package 1:3.2.1-11+squeeze4
leonardo
 
Hozzászólások: 4
Csatlakozott: 2012. január 29., vasárnap 21:22

Re: Dátum növelés

HozzászólásSzerző: Zizi64 » 2012. január 31., kedd 22:54

LibreOffice-ban ilyen nagy gond megnövelni decimális számmal egy dátumot.


kicsit off, amit mondok:
Calcban nem gond, ott a dátum a lebegőpontosan ábrázolt dátum-idő adatnak az "egész" része, és a törtrész az idő. Tehát ha hozzáadok 4,00 értéket, akkor a napok növekednek.
(Tehát ÁLTALÁNOSAN nem igaz az állítás az Open/LibreOffice-ra, de ez téged nem segít ki...)
Sok sikert!
Kovács Tibor (Win7x64Prof/W10x64prof: LO6.1.6;
winPenPack/PortableApps: LO3.3.1-6.2.5, AOO4.1.6
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3444
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Dátum növelés

HozzászólásSzerző: r4zoli » 2012. február 1., szerda 8:28

leonardo írta:Találtam még egy hasznos infot. :
http://user.services.openoffice.org/en/ ... 61&t=45456
Az is gond lehet, hogy linux-on próbálkozom. Az biztos, hogy a java -classpath .. -al fel kell vennem osztályt. A hsqldb.jar-t.
Talán, de nem egyszerű ha mindenhol meg kell csinálnom ahova készítek lekérdezést

Nem kell, csak akkor ha külső hsqldb szerverhez akarsz csatlakozni.
Lefuttattam a példát, hibátlanul működik is. Nem csak a current_date-re, hanem a áblában levő dátum mezőre is. Kösz.
Nem egészen értem a lekérdezést, amnnyira nem mély az sql tudásom. Amennyiben jól látom, szétszedi a dátum tagjait
évre, hónapra, napra és a hónaphoz van hozzáadva 4 .
Viszont ha erre alapulóan szeretnék csinálni még plusz oszlopokat, akkor igen hosszú és bonyolult lekérdezést kell írnom.

Csinálj egy nézetet a számított mezőkkel és azt add meg a lekérdezés forrásaként.
Gondolom futásidőben létrehozott mezőre nem lehet tovább hivatkozni. Pl ha még 4 hónapot írnék hozzá akkor nem tudom
megtenni azt hogy a "Ma +4 Hónap" mezőt helyetteítem be a CURENT_DATE helyére. Azaz a fenti kódot be kell helyettesíteni önnmagában a kódban mindenhová ahol jelenleg a CURRENT_DATE van.
Lehet, hogy egy kicsit túlbonyolítom a dolgot. Nem is sejtettem, hogy LibreOffice-ban ilyen nagy gond megnövelni decimális számmal egy dátumot.

Ez a beépített hsqldb 1.8.0.10 miatt van így, annak a szintaxisát kell betartani: http://hsqldb.org/doc/guide/index.html
Olvasd el, és lehetőleg tartsd be az útmutatót a fórum használatához.
AOO 3.4.1 win7, LibO 4.0 win7.
Avatar
r4zoli
Site Admin
 
Hozzászólások: 850
Csatlakozott: 2008. február 17., vasárnap 4:52
Tartózkodási hely: Budapest

Re: Dátum növelés

HozzászólásSzerző: leonardo » 2012. február 6., hétfő 13:05

Probálkoztam a fenti dolgokkal, de nem sok sikert értem el. Nem könnyen használható a Base bonyolultabb dolgokra.
Kíváncsiságból kipróbáltam ODBC-vel mysql-hez kapcsolódni. Ott ugye simán megy a DATE_ADD() függvény még libreoffice-on keresztül is. Igaz valamiért nem tudja átvinni az ékezetes betűket. Phpmyadminban működnek persze az ékezetes betűk. Ez már egy más téma, erre keresek megfelelőbb topicot. Azt hiszem lemondok a Libreoffice-ról, legalább is a lekérdezések megírásában. Egyszerűen megoldható dolgoknál megycsinálom, összetettebbeknél meg mysql szerver és Libreoffice csak előtétprogramként.

Megj.: nem véletlen kéri el az MS azt a sok pénzt az Access-ért. Elismerem a progi tudását, nem kell hozzás sok tudás, hogy bonyolult adatbázist készítsünk.
OpenOffice.org 3.2.1
OOO320m19 (Build:9505)
ooo-build 3.2.1.4, Debian package 1:3.2.1-11+squeeze4
leonardo
 
Hozzászólások: 4
Csatlakozott: 2012. január 29., vasárnap 21:22

Re: Dátum növelés

HozzászólásSzerző: r4zoli » 2012. február 6., hétfő 20:36

Nem könnyen használható a Base bonyolultabb dolgokra.

Senki nem mondta, hogy egyszerű.
Vagy fizetsz vagy tanulsz.
De az access is problémás ha a fájlalapú adatbázissal használod, ha meg csatlakozol vele külső adatbázishoz, akkor hasonló problémáid lehetnek.
Olvasd el, és lehetőleg tartsd be az útmutatót a fórum használatához.
AOO 3.4.1 win7, LibO 4.0 win7.
Avatar
r4zoli
Site Admin
 
Hozzászólások: 850
Csatlakozott: 2008. február 17., vasárnap 4:52
Tartózkodási hely: Budapest


Vissza: Base

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég