Forum » Programiranje » [MS Access] Splošen nasvet!
[MS Access] Splošen nasvet!
alfaray ::
Torej prosil bi vas za nasvet, brez flejmanja. V službi (bolnica-magnetna resonanca) rabimo bazo oziroma schedule pacientov. Fcors uprava ne kupuje za to namenskega softvera in je na nas samih da si olajšamo delo. Ker je masa pacientov kr enormna in da niti ne omenjam da jih vpisujemo v knjige ročno, vam je takoj jasno da če želi en pacient zvedet kdaj je naročen rabimo like 1 uro da prečešemo vse knjige.
Torej bi z accesom naredil konec temu sranju na jobu.
Muči me vprašanje: Ali ena baza ali več baz. Podatkov ne potrebujemo veliko:patientID,ime,priimek,naslov,telefon,datum pregleda, ura pregleda ter organski sistem pregleda.
Naslednja stvar ki me muči je, kako definirati kolendar, da bodo valid entriji samo workdays, brez praznikov(navedeni ročno).Vrjetno z validation rulom.
Pacientov na dan bo 16. Torej bo na določen datum lahko naročenih samo 16 pacientov. Ure bodo v tabeli določene vnaprej. Kako doseči,da bi pri vnosu preko form, naslednji možen datum forma ponudila datum, ki še ni zapolnjen s 16 pacienti.
To so zaenkrat moja razmišljanja o pripravi. Če ima kdo kakršnokoli mnenje oziroma nasvet, bi zelo lepo prosil. Ne smem si narobe zastaviti baze da nau sranja pol
Anyway vsaka pomoč dobrodošla
lp
Torej bi z accesom naredil konec temu sranju na jobu.
Muči me vprašanje: Ali ena baza ali več baz. Podatkov ne potrebujemo veliko:patientID,ime,priimek,naslov,telefon,datum pregleda, ura pregleda ter organski sistem pregleda.
Naslednja stvar ki me muči je, kako definirati kolendar, da bodo valid entriji samo workdays, brez praznikov(navedeni ročno).Vrjetno z validation rulom.
Pacientov na dan bo 16. Torej bo na določen datum lahko naročenih samo 16 pacientov. Ure bodo v tabeli določene vnaprej. Kako doseči,da bi pri vnosu preko form, naslednji možen datum forma ponudila datum, ki še ni zapolnjen s 16 pacienti.
To so zaenkrat moja razmišljanja o pripravi. Če ima kdo kakršnokoli mnenje oziroma nasvet, bi zelo lepo prosil. Ne smem si narobe zastaviti baze da nau sranja pol
Anyway vsaka pomoč dobrodošla
lp
papa ma vas rad :D
- spremenil: alfaray ()
ToniT ::
Kaj pa vaš software, v katerega vpisujete storitve? Ta nima koledarja?
Ne vem, kateri software uporabljate, vendar imajo skoraj vsi programi za evidenco zdravstvenih storitev to že vgrajeno. Jaz bi najprej razmišljal v tej smeri.
Če boš začel delati na tvoj način, razmisli tudi o tem, kako bi lahko dobil podatke o pacientih iz vašega registra (da jih ne bi bilo treba dvakrat vnašati - mislim na osebne podatke).
V Accessu naj bo samo ena baza z več tabelami.
Working days lahko definiraš z funkcijo weekday() za delavnike, medtem ko bo pa potrebno za praznike napisati svojo funkcijo.
Iskanje prostih terminov je dokaj trivialna zadeva. Računalnik ti naj ponudi prvih nekaj prostih terminov (tistih, ki še nimajo nobenega ID pacienta) neglede na datum!
Ne vem, kateri software uporabljate, vendar imajo skoraj vsi programi za evidenco zdravstvenih storitev to že vgrajeno. Jaz bi najprej razmišljal v tej smeri.
Če boš začel delati na tvoj način, razmisli tudi o tem, kako bi lahko dobil podatke o pacientih iz vašega registra (da jih ne bi bilo treba dvakrat vnašati - mislim na osebne podatke).
V Accessu naj bo samo ena baza z več tabelami.
Working days lahko definiraš z funkcijo weekday() za delavnike, medtem ko bo pa potrebno za praznike napisati svojo funkcijo.
Iskanje prostih terminov je dokaj trivialna zadeva. Računalnik ti naj ponudi prvih nekaj prostih terminov (tistih, ki še nimajo nobenega ID pacienta) neglede na datum!
frke ::
Pri načrtovanju strukture baze podatkov najprej razišči, kaj tudi DOLGOROČNO pričakuješ od programa - vodenje evidence, načrtovanje, obveščanje strank, poročila za nadrejene itd.
Na začetku se splača malo bolj potruditi, ker je pozneje sorazmerno preprosto implementirati nove zahteve aplikacije.
Glede na problem gotovo potrebuješ naslednje tabele:
- tabelo strank, polja: idstevilka, priimek, ime, naslov, poštna številka, email, gsm, ... (pomembno, je da uporabite isto identifikacijsko številko, ki jo imate za stranke v vašem informacijskem sitemu)
- tabelo delovnega časa (da stranke ne bi kdo naročil na nedeljo, praznik ali med malico...)
- tabelo zaposlenih (sifra_delavca, ...)
- tabelo vrste storitev (sifra_storitve, opis storitve, cena storitve...)
- tabelo naročil (idstranke, sifra_delavca, sifra_storitve, datumura, ...)
- mogoče še kaj
Vse ostalo so obrazci, poizvedbe in poročila, ki jih je v accessu sorazmerno preprosto narediti z grafičnim vmesnikom.
Na začetku se splača malo bolj potruditi, ker je pozneje sorazmerno preprosto implementirati nove zahteve aplikacije.
Glede na problem gotovo potrebuješ naslednje tabele:
- tabelo strank, polja: idstevilka, priimek, ime, naslov, poštna številka, email, gsm, ... (pomembno, je da uporabite isto identifikacijsko številko, ki jo imate za stranke v vašem informacijskem sitemu)
- tabelo delovnega časa (da stranke ne bi kdo naročil na nedeljo, praznik ali med malico...)
- tabelo zaposlenih (sifra_delavca, ...)
- tabelo vrste storitev (sifra_storitve, opis storitve, cena storitve...)
- tabelo naročil (idstranke, sifra_delavca, sifra_storitve, datumura, ...)
- mogoče še kaj
Vse ostalo so obrazci, poizvedbe in poročila, ki jih je v accessu sorazmerno preprosto narediti z grafičnim vmesnikom.
alfaray ::
ToniT:zdravstveni informacijski sistem ima vse te stvari ki si jih omenil. Ampak, namen te baze bi naj bil enostavnejša evidenca in naročanje pacientov. Problem nastane,ker le ti pošiljajo napotnice iz cele slovenije in jih imamo v mapi, v nedigitalni obliki.Tako da jih prej vpišemo ročno, kot pa da bi ustavrjal povezavo z že obstoječim sistemom. Navsezadnje gre za 2000 pacientov letno.Drugače pa bo weekdays funkcija z definiranjem praznikov dovolj za namen te baze.
Dobr predlog, hvala za pomoč :)
Frke: Vsekakor imaš prav, da je planiranje 70% uspešne aplikacije, ampak to bo enostavnejša baza, namenjena zgolj naročanju pacientov. Tako bodo 3 tabele dovolj. Čeprav bi bilo smsiselno implementirati tudi obračunski del storitve, tega ne potrebujemo ker se storitve obračunavajo drugače, in je vsekakor to beyond tega kar potrebujemo.
Hvala!
Dobr predlog, hvala za pomoč :)
Frke: Vsekakor imaš prav, da je planiranje 70% uspešne aplikacije, ampak to bo enostavnejša baza, namenjena zgolj naročanju pacientov. Tako bodo 3 tabele dovolj. Čeprav bi bilo smsiselno implementirati tudi obračunski del storitve, tega ne potrebujemo ker se storitve obračunavajo drugače, in je vsekakor to beyond tega kar potrebujemo.
Hvala!
papa ma vas rad :D
zavajon ::
2000 zapisov letno v bazi ni dosti podatkov, to Access z lahkoto požre.
Vse podatke spravi v en mdb, ker nima nobenega smisla imeti več mdb fajlov za eno aplikacijo.
Če bi rad poganjal aplikacijo iz več računalnikov v mreži, ti priporočam, da narediš en mdb s tabelami, drugega pa z formami. Tako je na vsaki mašini samo mdb s formami, podatki so zlinkani iz mdb-ja s podatki, ki se nahaja kje na šeranem direktoriju.
Za delovnike boš moral kar sam narediti funkcijo, ker microsoft gotovo ne bo delal funkcij, ki bi upoštevale praznike v vsaki banana republiki. Enkrat sem jaz to naredil tako, da sem naredil tabelo s prazniki in potem v funkciji iskal ustrezen podatek. Ker se v teh krajih države in s tem prazniki pogosto menjavajo, je to bolje, kot če datume hardkodiraš. Pa še je problem s prazniki, ki niso vsako leto na isti datum (velikonočni ponedeljek).
Kontrole datumov pa lahko vklučiš v eventih v formi. Tisti Rules na tabelahne omogočajo prav veliko.
Tabele pa čimbolj znormaliziraj, kajti lahko se bo nekoč pojavila potreba po širitvi aplikacije ali izvozu podatkov v drugo aplikacijo. Poi normaliziranih tabelah je to ponavadi lažje.
lp
Vse podatke spravi v en mdb, ker nima nobenega smisla imeti več mdb fajlov za eno aplikacijo.
Če bi rad poganjal aplikacijo iz več računalnikov v mreži, ti priporočam, da narediš en mdb s tabelami, drugega pa z formami. Tako je na vsaki mašini samo mdb s formami, podatki so zlinkani iz mdb-ja s podatki, ki se nahaja kje na šeranem direktoriju.
Za delovnike boš moral kar sam narediti funkcijo, ker microsoft gotovo ne bo delal funkcij, ki bi upoštevale praznike v vsaki banana republiki. Enkrat sem jaz to naredil tako, da sem naredil tabelo s prazniki in potem v funkciji iskal ustrezen podatek. Ker se v teh krajih države in s tem prazniki pogosto menjavajo, je to bolje, kot če datume hardkodiraš. Pa še je problem s prazniki, ki niso vsako leto na isti datum (velikonočni ponedeljek).
Kontrole datumov pa lahko vklučiš v eventih v formi. Tisti Rules na tabelahne omogočajo prav veliko.
Tabele pa čimbolj znormaliziraj, kajti lahko se bo nekoč pojavila potreba po širitvi aplikacije ali izvozu podatkov v drugo aplikacijo. Poi normaliziranih tabelah je to ponavadi lažje.
lp
alfaray ::
Stvar sem zastavil tako da sem ločil tabele v eno bazo in forme v drugo ter jih polinkal in stvar deluje ok. Zezam pa se z naslednjim: sledil sem tvoji ideji in ustvaril tabelo Veljavnidatumi (fieldname datum4). Notri sem vnesel praznike in planirane servise aparata. Dateofexam pa je fieldname tabele v katero se vpiše datum preiskeve. Validation pa delam na formi na before update in sicer sledeče.
If IsNull(DLookup("Validates", "Veljavnidatumi", "Validates = #" & Me.Dateofexam & "#")) Then
' Veljaven datum
Else
' Preiskava ni možna na ta datum
End If
Če vpišem datum 8.2 2005, ki se nahaja v tabeli validdates dobim tole.
Vendar vseskozi dobivam syntax error in date in query expression 'Validates=#8.2 2005#'
Prosim clues?
Hvala
If IsNull(DLookup("Validates", "Veljavnidatumi", "Validates = #" & Me.Dateofexam & "#")) Then
' Veljaven datum
Else
' Preiskava ni možna na ta datum
End If
Če vpišem datum 8.2 2005, ki se nahaja v tabeli validdates dobim tole.
Vendar vseskozi dobivam syntax error in date in query expression 'Validates=#8.2 2005#'
Prosim clues?
Hvala
papa ma vas rad :D
darkolord ::
Mogoče zato ker za mesecem ni pike?
Probaj FormatDateTime(Me.Dateofexam, 0) - tole ti pretvori datum v neko standardno obliko
Probaj FormatDateTime(Me.Dateofexam, 0) - tole ti pretvori datum v neko standardno obliko
zavajon ::
SQL v Accessu ima že od začetka problem z datumi. Datum mora biti obvezno v ameriškem formatu med hashi (#mm/dd/yyyy#). Morda velja isto za Validation Rules.
FormatDateTime funkcija tudi velja.
Pazi na format datumov vedno, ko v kodi uporabljaš SQL.
lp
FormatDateTime funkcija tudi velja.
Pazi na format datumov vedno, ko v kodi uporabljaš SQL.
lp
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | MS Access (strani: 1 2 )Oddelek: Programiranje | 7431 (5489) | travica |
» | Ms access neke vrste auto numberOddelek: Programiranje | 1543 (1336) | Fim |
» | Kako do podatka v queryu iz VisualBasicScripta (VBA) v accessu?Oddelek: Programiranje | 2171 (2056) | Fim |
» | AccessOddelek: Programiranje | 1535 (1129) | Damjan Jagar |
» | asp-problem z datumomOddelek: Izdelava spletišč | 1378 (1242) | Old-Death |