LibreOffice base - izrada formulara , malko naprednija
|
|
|||
Zdravo Svima,
pre nego zaplačem upomoć, da napišem šta sam napravio i šta planiram Devojka mi ima opticarsku radnju i ja reko hajde da napravim neki progam , cisto da ima neku evidenciju pregleda , ko i kada ...i sl. Pomislio sam ma to je maciji kasalj, u accessu bih ja to ovako i onako, ali onda rekoh ...treba legalan software. Super tu je LibreOffice. Ja ga koristim u linuxu ali jaaaako malo...neki text dokument , neka tabelica i to je to. Napravio sam tabele ; PACIJENTI ---------------- ID IME PREZIME TELEFON PREGLEDI -------------- ID PACIJENTI_id DATUM STAVKE_PREGLEDA ----------------------- ID PREGLED_id STAVKA_ID MAGACIN --------------- ID NAZIV_STAVKE I povezao sam tabele jel da. Napravio formular za unošenje Pacijenata. Ali sad kad hocu da napravim formular za unošenje Pregleda...tu sam zaglavio.. Kako taj formular da napravim kad imam toliko povezanih polja Hteo bih da se otvori prozor i onda pronadjem Pacijenta i za izabranog pacijenta unesem stavke. Ali pacijent treba da bude ime i prezime zajedno iz padajućeg izbornika , mislim ja sam ga tako zamislio. *-------------------------------------------* | pregled XX datum | | pacijent |V| | | ---------------------------------------- | | | stavka, komada, cena | *------------------------------------------* Nadam se da sam slikovito objasnio i da će neko još pored mene shvatiti moj problem i moći da mi pomogne Hvala |
|||
|
|||
Pri unosu treba popuniti PACIJENTI_id. Na formularu je potrebna kontrola padajuće liste koja kao izvor ima tablicu PACIJENTI, a vrednost koju će polje dodeliti sadržano je u polju PACIJENTI.ID.
Da li ovakav savet pomaže? Inače, makar je ranije tako bilo, Microsoft nudi besplatan deo koji omogućava pokretanje Microsoft Access „programa“, tzv. Microsoft Access Runtime. Kako na tom računaru neće biti razvoja softvera, ova besplatna varijanta bi trebalo da bude dovoljna. Naravno, LibreOffice/OpenOffice.org Base je slobodan softver pa osim praktične postoji i ta dodatna prednost njegovog korišćenja za razvoj i pokretanje programa. U praksi je ipak češće da se Base koristi kao klijent za pristup bazama podataka, za pokretanje upita i izradu izveštaja (korišćenjem Report Builder ekstenzije). Funkcionalnost koja omogućava pravljenje nečeg što liči na gotov program je slabije razvijena nego što nudi Microsoft Access. |
|||
|
|||
Prvo da se zahvalim na brzom odgovoru. Hvala : )
" Pri unosu treba popuniti PACIJENTI_id. Na formularu je potrebna kontrola padajuće liste koja kao izvor ima tablicu PACIJENTI, a vrednost koju će polje dodeliti sadržano je u polju PACIJENTI.ID. " Ok, to mi je jasno. to sam i uradio...ali ne zadovoljava me bas najbolje. Jer u padajucem meniju onda imam ID a meni treba da u padajucem meniju bude Prezime, Ime, Broj telefona ,id da bude sakriven od korsnika. i ja napravim sql upit koji Select "ID", CONCAT("PREZIME",CONCAT(' ',"IME")) from Pacijenti...tako nesto.. u glavnom imam sad upit koji prikazuje dva polja ID i recimo polje pacijent (koje se sastoji iz 2 ili tri polja , prezime ime telefon, kako bi sto preciznije definisao pacijenta) i taj napravljeni upit stavim u onaj droplistu medjutim opet mi nudi samo ID, ne ispisuje mi polje pacijent. kako to da uradim? Hvala u napred |
|||
|
|||
U prilogu je datoteka sa odgovarajuće podešenom listom.
Kao što sam napomenuo, imamo tri parametra. Polje tabele u koje treba upisati vrednost (ovde PREGLEDI.pacijent_id), polje koje se prikazuje u listi (ovde spojeno ime i prezime iz tabele PACIJENTI) i polje koje daje vrednost koja se upisuje (ovde id iz tabele PACIJENTI). Zaista retko koristim Base, pa nisam siguran, ali izgleda da u podešavanju kontrole liste postoji opcija Granično polje (engl. Bound field) koje određuje kolonu iz upita koja će biti korišćena kao vrednost za upis. Prva kolona iz upita određuje natpis u listi, a vrednost će biti upisana u navedeno polje za podatke. Ako bismo granično polje postavili na 0, bila bi upisana vrednost iz prve kolone (spojeno ime i prezime), što nam ne odgovara. Zato ako postavimo na jedan, biće upisana vrednost iz druge kolone (ID), upravo kako treba. |
|||