paraméter bekérés, autom. dátum, form mezőre hivatkozás

Adatbázis kezelő

paraméter bekérés, autom. dátum, form mezőre hivatkozás

HozzászólásSzerző: Butters » 2010. február 23., kedd 13:34

Üdv. Mindenkinek!
Bocs, ha kicsit hosszú leszek.
Állatorvosi rendelőnek akarok egy Oltás nyilvántartó programot készíteni. Java részt kész vagyok vele, de pár dolgot sehogy nem tudok megoldani.
Egyik problémám a Lekérdezések paraméterezése. A dokumentációban azt találtam, hogy változót ":" -tal lehet megadni ezért a következőt írtam a kódban:
Kód: Egész kijelölése   KinyitásÖsszecsukás
where "Oltas_datuma" between :datum_tol and :datum_ig

Sem az sql szerkeztő ablakban, sem a ráépített Jelentésben nem nyitja meg a paraméter bekérő ablakot, null-nak veszi mindkét változót és nem hoz adatokat, ha a kódban lecserélem a változókat konstans értékre akkor hoz eredményt. Erre cseréltem:
Kód: Egész kijelölése   KinyitásÖsszecsukás
where "Oltas_datuma" between '2008-01-01' and '2011-01-01'

Még 2.3 -as verzió alatt kezdtem írni a programot, most update -eltem 3.2 -re, de nincs változás. Furcsa még, hogy első próbálkozásomkor még 2.3 alatt egy olyanra, hogy
Kód: Egész kijelölése   KinyitásÖsszecsukás
where "Oltas_datuma" > :datum
megnyilt az input ablak, de utána sehogy sem sikerült viszont látnom.

Szintén dátum kapcsán van olyan problémám, hogy táblában beállítottam a dátum formátumot YYYY-MM-DD -ra és default értéknek CURRENT_DATE -et. Ha közvetlenül írok a táblába akkor 2-12-02 érték jelenik meg a mezőben, Formon meg a minimumnak beállított érték 1600-01-01. Jelentéseken a címsorban ahol az aktuális dátumnak kéne megjelenni ott meg 2002. 4. 26. jelenik meg, ami végkép nem tudom miből jött.

Formon van egy olyan gondom, hogy az egyik listapanel típusú oszlop sql -jében szeretnék egy másik oszlop értékére hivatkozni, de nem tudom, hogy kell. A konkrét feladat, hogy az állatok Faj és Fajta besorolásánál szeretnék a Fajtára szűkiteni, hogy csak a már megadott Faj Fajtáit hozza, tehát kutya esetén már ne hozza fel, hogy Sziámi meg Perzsa. A kódom így nézne ki, ha változóra akarnék hivatkozni és nem a grid egy másik oszlopára:
Kód: Egész kijelölése   KinyitásÖsszecsukás
select "Fajta", "Fajta_id" from "Fajtak" where nvl(:Faj_id,"Faj_id") = "Faj_id"


Utolsó gondom, szintén Formmal kapcsolatos. Nem tudom olyat lehet-e csinálni, hogy az Alűrlapnak is legyen egy alűrlapja, mert nekem Tulajdonosok-Állatai-Oltásai struktúra kellene. Buherálással tudtam csak összehozni egyáltalán, hogy a három grid rajta legyen egy Formon. Varázslóval Csináltam egy Tulaj-Állat meg egy Állat-Oltás formot és Ctrl-C Ctrl-V -vel átmásoltam az oltások gridet a Tulaj-Állat -ra aztán állítgattam az űrlap tulajdonságokat ami ránézésre jól is van beállítva, de futtatáskor az első Tulaj rekordhoz tartozó összes oltás adatot hozza és nem is változik a rekordok váltásakor
OpenOffice 3.2/Windows XP
Butters
 
Hozzászólások: 15
Csatlakozott: 2010. február 23., kedd 12:04

Re: paraméter bekérés, autom. dátum, form mezőre hivatkozás

HozzászólásSzerző: r4zoli » 2010. február 23., kedd 14:38

Egy témában egy kérdést tegyél fel ha lehet, később másoknak könnyebb rákeresni a megoldott problémákra.

1. paraméter megadás nem működik "SQL-parancs közvetlen futtatása" opció aktivizálása után, ha kikapcsolod akkor működnie kellene a lekérdezéseidnek.

Utolsó: a 3.2-ben hibás az alűrlap kezelés, majd a 3.2.1-ben lesz csak javítva: issue 108390, a hibához melléklet .bas file tartalmazza az ideiglenes javítást (én nem próbáltam).

Alűrlap hozzáadás -- nyisd meg az űrlapot szerkesztésre, aktiváld az Űrlap navigátort (ötödik ikon az űrlaptervezés eszköztáron), jobb klikk a MainForm-on és az Új kiválasztása.

A többivel kapcsolatban, javaslom készíts új üres fájlt és másold át az adataidat, a 2.3 és a 3.2 fájl formátuma között sok változás történt, ez is lehet a problémáid egy részének az oka.
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: paraméter bekérés, autom. dátum, form mezőre hivatkozás

HozzászólásSzerző: Butters » 2010. február 23., kedd 17:20

Köszi a gyors reakciót!
Ha hazamegyek rögtön kipróbálom amiket írtál.
Volt egy olyan dolog is aminél csak a szintaktika ismeretének hiánya a gondom. Amikor a Fajta oszlopot Faj Id alapján is szűrném, ha tudnám, hogy adjam meg a listapanel tulajdonságainál megadott sql -ben, hogy a Faj_id = az űrlap Faj_id mezőjével. Erre tudsz megoldást javasolni?
OpenOffice 3.2/Windows XP
Butters
 
Hozzászólások: 15
Csatlakozott: 2010. február 23., kedd 12:04

Re: paraméter bekérés, autom. dátum, form mezőre hivatkozás

HozzászólásSzerző: Butters » 2010. február 24., szerda 17:15

Kipróbáltam amiket írtál. Először az üres adatbázist hoztam létre, gond nélkül át tudtam másolni minden objektumot ctrl-c - ctrl-v -vel.

Az alűrlapok viszonyait azonnal orvosolni tudtam az űrlapnavigátorral a leírt módon.

A paraméter bekérésnél lekérdezésben egy lépésse tovább jutottam. Az "SQL-parancs közvetlen futtatása" kikapcsolása óta rendben feljön az input ablak, de abban bármilyen formátumban próbálom a dátumot beírni mindíg felülírja a következő értékkel: #1899-12-30#. Hogy biztos ne a 2.3 -as -ból áthozott verzió legyen a gond megcsináltam azt is, hogy átmásoltam az sql -t egy text file -ba létrehoztam egy új lekérdezést és bemásoltam a kódot, de ugyanaz történik.

Táblában dátum mezőnek kezdőérték adásnál is megmaradt a probléma. Létrehoztam egy próba táblát is amiben szintén kezdő értéket állítottam be egy dátum mezőre, de az egyszerüen nem is kap semilyen kezdő értéket.
OpenOffice 3.2/Windows XP
Butters
 
Hozzászólások: 15
Csatlakozott: 2010. február 23., kedd 12:04

Re: paraméter bekérés, autom. dátum, form mezőre hivatkozás

HozzászólásSzerző: r4zoli » 2010. február 24., szerda 17:53

de abban bármilyen formátumban próbálom a dátumot beírni mindíg felülírja a következő értékkel: #1899-12-30#.

Talán ez a hiba ide is kihat: viewtopic.php?f=7&t=606

Táblában dátum mezőnek kezdőérték adásnál is megmaradt a probléma.

Az Eszközök>SQL... menüben hívd fel a parancs ablakot és próbáld meg:
Kód: Egész kijelölése   KinyitásÖsszecsukás
ALTER TABLE <tableneve> ALTER COLUMN <mezoneve> SET DEFAULT <alapertelemzett_ertek>};
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: paraméter bekérés, autom. dátum, form mezőre hivatkozás

HozzászólásSzerző: Butters » 2010. február 25., csütörtök 18:07

Ismét köszönöm a segítséget!
A dll file másolása tökéletes megoldásnak bizonyult. A paraméter képernyő azóta hibátlan.
Az sql ablakban megadott default érték a régi táblában nem hozott eredményt, de létrehoztam egy újjat, ott már rendben működött. Aztán megséríült a tábla amikor kötelezőre állítottam egy mezőt, de az egyik rekordban nem volt érték. A táblát többet nem tudtam használni. Megnyitni lehetett, de szerkeszteni nem. Megint új táblát csináltam, de arra már hiába adtam ki az ALTER TABLE -t, nem történt változás. Mivel a formátum már jól működik, nem gond a formon kézzel beírni a dátumot.

Igazábol már csak a Grid oszlopára hivatkozással vagyok gondban. Semmit nem találtam rá a dokumentációban. Lehet, hogy ez nem is megoldható Base -ben?
OpenOffice 3.2/Windows XP
Butters
 
Hozzászólások: 15
Csatlakozott: 2010. február 23., kedd 12:04

Re: paraméter bekérés, autom. dátum, form mezőre hivatkozás

HozzászólásSzerző: r4zoli » 2010. február 25., csütörtök 22:44

Most, hogy jobban megnéztem az első hozzászólásodat látom miben van a probléma, az nvl() nem használható a HSQLDB-ben, az SQL parancsokról a HSQLDB dokumentáció 9.fejezetébenrészletesebben olvashatsz.
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: paraméter bekérés, autom. dátum, form mezőre hivatkozás

HozzászólásSzerző: Butters » 2010. február 26., péntek 12:32

Üdv!
Kiszedtem az nvl -t, egyelőre nem foglalkozom a null értékekkel, csak annyit hagytam meg, hogy:
Kód: Egész kijelölése   KinyitásÖsszecsukás
where "Faj_id" = "valami"."Faj_id"

A valami helyén a következő értékekkel próbálkoztam sikertelenül:
SubForm
SubForm_Grid
Tulaj_allatai
Az utolsó az a név amit a griden job klikk után a Név... menűben adtam meg. Játszottam az "" jelekkel is hátha a form objektumok köré az nem kell, de ettől sem lett jobb.
OpenOffice 3.2/Windows XP
Butters
 
Hozzászólások: 15
Csatlakozott: 2010. február 23., kedd 12:04

Re: paraméter bekérés, autom. dátum, form mezőre hivatkozás

HozzászólásSzerző: r4zoli » 2010. február 26., péntek 14:59

Talán használható megoldást találtam http://user.services.openoffice.org/en/ ... 56#p125468 angol fórum hozzászólásnál lévő minta adatbázisban, két tábla nézet kell hozzá, de körülbelül azt adja amire te gondolsz.

Minden esetre egy kísérletet megér.
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: paraméter bekérés, autom. dátum, form mezőre hivatkozás

HozzászólásSzerző: Butters » 2010. március 2., kedd 15:02

Szia!

Próbálkoztam a linkelt módszerrel, de nem jártam sikerrel. A fő gond az volt, hogy ha a grid tartalmát nem táblából vettem, hanem selectből akkor már nem lehet új rekordot rögzíteni. Úgy döntöttem nem görcsölök rajta tovább, végülis ez csak kényelmi funkció, majd talán későbbi verzióban már megoldják a griden belül másik oszlopra hivatkozást. Most már az adatok migrálásával fogok foglalkozni amiről nyitok egy új témát.
OpenOffice 3.2/Windows XP
Butters
 
Hozzászólások: 15
Csatlakozott: 2010. február 23., kedd 12:04


Vissza: Base

Ki van itt

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