Pa naravno :)
MS Access upisivanje datuma i vremena kada se koristi Login forma
Zaključano
Zakačeno
Tršo, unisoft kaže da te vređam (vidi temu), ali ti ne misliš tako, jel' da?
unisoft, unicorn, kad si već pokupovao silne knjige, deder malo ih i pročitaj, pa nećeš valjda baš sve da pitaš?
Ja mislim da si od mene dobio dovoljnu pomoć, ko hoće nek te uči
unisoft, unicorn, kad si već pokupovao silne knjige, deder malo ih i pročitaj, pa nećeš valjda baš sve da pitaš?
Potpis
Ozbiljan i odgovoran mladić
Naravno da cu ih citati.Ali trenutno nemam toliko vremena.Sada kada dodje raspust cu sce procitati - baraem se nadam da cu stici sve da ih procitam.Trenutno sam u skripcu sa slobodnim vremenom.Sutra ujutu imamam kolokvijum iz jednog preddmeta na Visoj.Naravno da sam hteo da me toliko poducavate to bi naravno podrazumevalo placanje.
Ne zahavlih ti se sto si u onom primeru cak i vise uradio nego sto sam ja trazio.Dodao si neke stvari koje meni nisu bile potrebne.Dobo kada sam video sta si napravio reko sam samo SVAKA CAST .
Nego znas sta me jedino samo muci.Danas kada sam dosao sa predavanja i zavrsio neke obaveze odvojo sam 3-4 sata da se sa ovim bavim.
Ne znam u cemu gresim ALI BAREM 10 puta i vise sam pravio novu bazu.Sve ono u tvojoj sam odstampao , kodove , raspored tabela , polja u njima , upite , sva svojstva svakog dugmeta-labela .
I posto sam napravio novi BANCKO PROJECT ja krenem sa radom : sta se desi kada sam sve 100% isto uradio kao ti .Pokrenem ja formu i kada u tabeli lblKorisnici upisem username i password .Onda idem na formu da upisem USERNAME I PASSWORD i kliknem na dugme login ON MI NE PRIHVATA PASSWORD vec mi je password username .Znaci meni samo ulzai u program kada upisemza tectbox username USERNAME a za textbox password UZERNAME.
Gledao sam proveravao sve, odstampao moj kod i svako slovo ,zarez,broj razmaka izmedju slova se poklapa sa tvoji.I NE MOGU DA NADJEM U CEMU JE PROBLEM.Ajde da kazem da se nisam trudio.ALI STVARNO SAM DOSTA PUTA PROVERAVAO U CEMU JE PROBLEM ALI NISAM NASAO RESENJE.
Ima li nesto sto si ti uradio a da nije u kodu vec u podesavaju samoga MS Access-a.
Ne zahavlih ti se sto si u onom primeru cak i vise uradio nego sto sam ja trazio.Dodao si neke stvari koje meni nisu bile potrebne.Dobo kada sam video sta si napravio reko sam samo SVAKA CAST .
Nego znas sta me jedino samo muci.Danas kada sam dosao sa predavanja i zavrsio neke obaveze odvojo sam 3-4 sata da se sa ovim bavim.
Ne znam u cemu gresim ALI BAREM 10 puta i vise sam pravio novu bazu.Sve ono u tvojoj sam odstampao , kodove , raspored tabela , polja u njima , upite , sva svojstva svakog dugmeta-labela .
I posto sam napravio novi BANCKO PROJECT ja krenem sa radom : sta se desi kada sam sve 100% isto uradio kao ti .Pokrenem ja formu i kada u tabeli lblKorisnici upisem username i password .Onda idem na formu da upisem USERNAME I PASSWORD i kliknem na dugme login ON MI NE PRIHVATA PASSWORD vec mi je password username .Znaci meni samo ulzai u program kada upisemza tectbox username USERNAME a za textbox password UZERNAME.
Gledao sam proveravao sve, odstampao moj kod i svako slovo ,zarez,broj razmaka izmedju slova se poklapa sa tvoji.I NE MOGU DA NADJEM U CEMU JE PROBLEM.Ajde da kazem da se nisam trudio.ALI STVARNO SAM DOSTA PUTA PROVERAVAO U CEMU JE PROBLEM ALI NISAM NASAO RESENJE.
Ima li nesto sto si ti uradio a da nije u kodu vec u podesavaju samoga MS Access-a.
Ajoj majoko moja nemate pojma koliko sam srecan.Majkemi bog me ima u vidu.Necete mi verovati , pomislicete ja sam onaj koji samo ubija vreme na netu i zeza ljude zbog ovog sto cu reci : verujtemi kada sam otklono problem koji je naveden u predhodnom postu pocel su mi da idu suze na oci od srece.
Jedni problem koji sam imao je vezan sa onim ComboBox-om cboKorisnik.
Posto vidim da dosta ljudi prati ovu temu.Objasnicu lepo u cemu je problem jer ce 100% neko imati istih probleam ako bude zelo da ovo doda u svoju bazu.
Problem je bio sledeci :
kada kliknete na Toolbox da bi ste stavili kontrolu GroupBox na vasu formu pali vam se Winzard za tu kontrolu.Prvo korak vas pita zelite li da podatke vezete za neku tabelu ili ne.Birate prvi korak.U drugom koraku prebacujete sva 3 polja iz te tabele.Mene sto je ovde kocilo je ono u kodu cboKorisnik.Colums (2) ja sam stalno mislo na dve kolone prva je hide po difoltu GroupBox-a a druga je vidljiva.U toku rada sa windzardom MOZETE SAMO DA JEDNU KONTROLU PRIKRIJETE.A nama treba da su HIDE sledeca FILD NAME IZ TABELE tblKorisnici : ID i password.
kako se sakriva vise fild names-a .Pa ja to da priznam nisam imao pojma kako se radi.Nego kao sto sam rekao sam bog me ima u vidu i nije hteo da se vise mucim.Posto ste zavrsi sa svim koracima podesavaanja ComboBox-a ostaje vam samo da kliknete na BUTTON finis.
E kod posledenjeg koraka CoboBox winzarad U MOM PROBLEMU JE LEZAO SPAS.Kada sam vec popustio sa zivcima ja sam sebi rekao ma ko ga sisa odoh ja na spavanje sa ovim mogu da se bakcem drugi put vazniji je meni kolokvijum sutra da polozim nego da ovo resim.
I verovali ili ne na poslednjem koraku CoboBox winzarda slucajno ali slucano pomerim misa i kliknem da text HELP WITH THIS CONTROL.I otvori se help MS access-a.
Kada gle cuda tamo sve lepo objasnjeno kako se peske sakrivaju kontrole.
Hide a column in a list box or combo box on a form
In the ColumnWidths property box, enter 0 for the column or columns that you want to hide.
For example, suppose you have a bound two-column combo box that has a SupplierID column and a SupplierName column. The SupplierID column is the first column in the list. To hide the SupplierID column, set the ColumnWidths property as shown in the following illustration.
Colum Widths : svojstvo svake kolone koju smo na pravili ima odredjenu duzini.POSTAVLJE OVE DUZINE NA NULA SKRIVAMO TU KONTROLU
Set the SupplierID column (first column) to 0 to hide it.
Specify a width for the SupplierName column.
The SupplierID column is the bound column, even though it's hidden.
Note In a combo box, the first visible column is displayed in the text box portion of the combo box when the list isn't displayed. For example, the SupplierName column in the previous example would be displayed because the SupplierID column is hidden. If the SupplierID column weren't hidden, it would be the only column that was displayed
Ja ovo caskom odradim i sa OVIM SAM RESIO SVE PROBLEME I DILEME U VEZI OVOG PROGRAMCICA.
Da naravno da sam dobi i preveliku pomoc od vas.He he nadam se da cu jednoga dana ako se to desi zajednickim znagama pomagati DRUGIM FORUMASIMA U RESAVANJU NJIHOVIH PROBLEMA.Lepo je ciniti dobra dela.
Samo ja sam jedan od onih koji su se uverili DA VECINA LJUDI NA OVOM SVETU MRZE ONE KOJI ZNAJU VISE OD NJIH.A sa tim ljudima se prave ok do ne dobiju resenje svoga probelma a poslen ko ih sisa i njih ogovaraju na svakom koraku,cim im okrenu ledja.
Nadam se da ste se uveril da ja nisam takav.Mogli ste to da zakljucite iz toga sto sam iskreno sve pisao.
Sa ovomim postom zavrsavam pricu.Jer sam resio sve dileme i probleme u vezi ovog programcica.
Stripljenje je vrlina : ja sam ovo oklonio tek posle 10 sati mucenja .
Jedni problem koji sam imao je vezan sa onim ComboBox-om cboKorisnik.
Posto vidim da dosta ljudi prati ovu temu.Objasnicu lepo u cemu je problem jer ce 100% neko imati istih probleam ako bude zelo da ovo doda u svoju bazu.
Problem je bio sledeci :
kada kliknete na Toolbox da bi ste stavili kontrolu GroupBox na vasu formu pali vam se Winzard za tu kontrolu.Prvo korak vas pita zelite li da podatke vezete za neku tabelu ili ne.Birate prvi korak.U drugom koraku prebacujete sva 3 polja iz te tabele.Mene sto je ovde kocilo je ono u kodu cboKorisnik.Colums (2) ja sam stalno mislo na dve kolone prva je hide po difoltu GroupBox-a a druga je vidljiva.U toku rada sa windzardom MOZETE SAMO DA JEDNU KONTROLU PRIKRIJETE.A nama treba da su HIDE sledeca FILD NAME IZ TABELE tblKorisnici : ID i password.
kako se sakriva vise fild names-a .Pa ja to da priznam nisam imao pojma kako se radi.Nego kao sto sam rekao sam bog me ima u vidu i nije hteo da se vise mucim.Posto ste zavrsi sa svim koracima podesavaanja ComboBox-a ostaje vam samo da kliknete na BUTTON finis.
E kod posledenjeg koraka CoboBox winzarad U MOM PROBLEMU JE LEZAO SPAS.Kada sam vec popustio sa zivcima ja sam sebi rekao ma ko ga sisa odoh ja na spavanje sa ovim mogu da se bakcem drugi put vazniji je meni kolokvijum sutra da polozim nego da ovo resim.
I verovali ili ne na poslednjem koraku CoboBox winzarda slucajno ali slucano pomerim misa i kliknem da text HELP WITH THIS CONTROL.I otvori se help MS access-a.
Kada gle cuda tamo sve lepo objasnjeno kako se peske sakrivaju kontrole.
Hide a column in a list box or combo box on a form
In the ColumnWidths property box, enter 0 for the column or columns that you want to hide.
For example, suppose you have a bound two-column combo box that has a SupplierID column and a SupplierName column. The SupplierID column is the first column in the list. To hide the SupplierID column, set the ColumnWidths property as shown in the following illustration.
Colum Widths : svojstvo svake kolone koju smo na pravili ima odredjenu duzini.POSTAVLJE OVE DUZINE NA NULA SKRIVAMO TU KONTROLU
Set the SupplierID column (first column) to 0 to hide it.
Specify a width for the SupplierName column.
The SupplierID column is the bound column, even though it's hidden.
Note In a combo box, the first visible column is displayed in the text box portion of the combo box when the list isn't displayed. For example, the SupplierName column in the previous example would be displayed because the SupplierID column is hidden. If the SupplierID column weren't hidden, it would be the only column that was displayed
Ja ovo caskom odradim i sa OVIM SAM RESIO SVE PROBLEME I DILEME U VEZI OVOG PROGRAMCICA.
Da naravno da sam dobi i preveliku pomoc od vas.He he nadam se da cu jednoga dana ako se to desi zajednickim znagama pomagati DRUGIM FORUMASIMA U RESAVANJU NJIHOVIH PROBLEMA.Lepo je ciniti dobra dela.
Samo ja sam jedan od onih koji su se uverili DA VECINA LJUDI NA OVOM SVETU MRZE ONE KOJI ZNAJU VISE OD NJIH.A sa tim ljudima se prave ok do ne dobiju resenje svoga probelma a poslen ko ih sisa i njih ogovaraju na svakom koraku,cim im okrenu ledja.
Nadam se da ste se uveril da ja nisam takav.Mogli ste to da zakljucite iz toga sto sam iskreno sve pisao.
Sa ovomim postom zavrsavam pricu.Jer sam resio sve dileme i probleme u vezi ovog programcica.
Stripljenje je vrlina : ja sam ovo oklonio tek posle 10 sati mucenja .
Tvrtko i domaci_a_nas LJUDI HAVLA VAM JOS JEDNOM NA POMOCI
pozdrav
pozdrav
Domaci_a_nas pa naravno da me nisi s nicim uvrijedio.
hmmmmmmmm jedino to što više od mene možeš popiti,, ipak si mladji..... hehehe
Unisoft, nitko od nas nemože baš sve znati.
Recimo Zidar je maher u relacijama baza injihovom kreiranju , povezivanju ... itd , pa me nebude bilo sram njega pitat
ako negdje zapnem, Nikola barata dobro s VB ( skoro ko i ja , hehehehe ) , možda je u nekom dijelu programiranja bolji od mene , i zašto da se ja sad
mučim ako on to zna, pitat ču ga ako mi je to hitno potrebno... vjerojatno bi i ja to iskopao
Vidim da ti imaš veliku volju i ljepo je to i nastavi samo tako, ali mi se čini da nekako brzo odustaneš kad zapneš
ali moraš znati da je skoro sve moguće isprogramirati....a ako se baš neda... pa pametniji smo od kompjutora.. zahebemo ga pa i to riješimo.
Znači imaš HELP u accessu i u njemu ti je baš sve objašnjeno....ako neznaš što neka funkcija radi... kao što sam ti rekao
jednu formu jedan button i na njegov klik MSGBOX nek ti ispiše što dobiješ , a ti onda mjenjaj parametre u funkciji i
prati što se dešava, tako češ najlakše shvatiti što točno radi funkcija..
Ljep pozdrav
hmmmmmmmm jedino to što više od mene možeš popiti,, ipak si mladji..... hehehe
Unisoft, nitko od nas nemože baš sve znati.
Recimo Zidar je maher u relacijama baza injihovom kreiranju , povezivanju ... itd , pa me nebude bilo sram njega pitat
ako negdje zapnem, Nikola barata dobro s VB ( skoro ko i ja , hehehehe ) , možda je u nekom dijelu programiranja bolji od mene , i zašto da se ja sad
mučim ako on to zna, pitat ču ga ako mi je to hitno potrebno... vjerojatno bi i ja to iskopao
Vidim da ti imaš veliku volju i ljepo je to i nastavi samo tako, ali mi se čini da nekako brzo odustaneš kad zapneš
ali moraš znati da je skoro sve moguće isprogramirati....a ako se baš neda... pa pametniji smo od kompjutora.. zahebemo ga pa i to riješimo.
Znači imaš HELP u accessu i u njemu ti je baš sve objašnjeno....ako neznaš što neka funkcija radi... kao što sam ti rekao
jednu formu jedan button i na njegov klik MSGBOX nek ti ispiše što dobiješ , a ti onda mjenjaj parametre u funkciji i
prati što se dešava, tako češ najlakše shvatiti što točno radi funkcija..
Ljep pozdrav
Pozdrav!
Imam jedan problem koji ne mogu sam da rijesim.
Ako ima neko raspolozen da mi pomogne...
Naime, sljedeci kod koristim na dugmicu za prijavu u bazu
Ovo ide bez greske i odradi bas ono sto mi treba. Dakle, upise mi u tabelu ko i kada je usao u program i sa kojeg racunara.
Sljedeci kod koristim prilikom zatvaranja programa
Obzirom da baza radi u visekorisnickom okruzenju desava se da istovremeno imam po nekoliko ulogovanih korisnika
Primjer:
Korisnik Datumprijave Vrijeme prijave Datum odjave Vrijeme odjave Racunar
Aco Ackovic, 19.09.2013, 21:38, .................., ................., Acko
Mujo Mujic, 19.09.2013, 21:37, .................., ................., Munja
Problem:
Kada korisnik Mujo izadje iz programa datum i vrijeme odjave upisuje se u Acina polja iako je Aco jos uvijek u programu.
Kada se Aco odjavi, samo se upisu novi podaci ponovo u Acina polja a Mujina polja datum i vrijeme odjave ostaju prazna.
Ovi podaci su mi jako bitni pa ako neko ima rjesenje, zahvaljujem unaprijed.
Imam jedan problem koji ne mogu sam da rijesim.
Ako ima neko raspolozen da mi pomogne...
Naime, sljedeci kod koristim na dugmicu za prijavu u bazu
Code:
Dim db1 As DAO.Database
Dim rst1 As DAO.Recordset
Set db1 = CurrentDb()
Set rst1 = db1.OpenRecordset("tbllogovanja", dbOpenDynaset)
rst1.AddNew
rst1!tblKorisnikaID = Me.Text13.Value
rst1!DatumPristupa = Date
rst1!VrijemePristupa = Time()
rst1!Racunar = ImeKompa()
rst1.Update
rst1.Close
Dim db1 As DAO.Database
Dim rst1 As DAO.Recordset
Set db1 = CurrentDb()
Set rst1 = db1.OpenRecordset("tbllogovanja", dbOpenDynaset)
rst1.AddNew
rst1!tblKorisnikaID = Me.Text13.Value
rst1!DatumPristupa = Date
rst1!VrijemePristupa = Time()
rst1!Racunar = ImeKompa()
rst1.Update
rst1.Close
Ovo ide bez greske i odradi bas ono sto mi treba. Dakle, upise mi u tabelu ko i kada je usao u program i sa kojeg racunara.
Sljedeci kod koristim prilikom zatvaranja programa
Code:
Private Sub Form_Close()
Dim strSQL As String
Dim db2 As DAO.Database
Dim rst2 As DAO.Recordset
Set db2 = CurrentDb()
strSQL = "SELECT tbllogovanja.ID, tbllogovanja.DatumOdjave, tbllogovanja.VrijemeOdjave FROM tbllogovanja WHERE ((tbllogovanja.ID)=(Select (ID)from tbllogovanja));"
Set rst2 = db2.OpenRecordset(strSQL, dbOpenDynaset)
rst2.Edit
rst2!DatumOdjave = Date
rst2!VrijemeOdjave = Time()
rst2.Update
rst2.Close
Private Sub Form_Close()
Dim strSQL As String
Dim db2 As DAO.Database
Dim rst2 As DAO.Recordset
Set db2 = CurrentDb()
strSQL = "SELECT tbllogovanja.ID, tbllogovanja.DatumOdjave, tbllogovanja.VrijemeOdjave FROM tbllogovanja WHERE ((tbllogovanja.ID)=(Select (ID)from tbllogovanja));"
Set rst2 = db2.OpenRecordset(strSQL, dbOpenDynaset)
rst2.Edit
rst2!DatumOdjave = Date
rst2!VrijemeOdjave = Time()
rst2.Update
rst2.Close
Obzirom da baza radi u visekorisnickom okruzenju desava se da istovremeno imam po nekoliko ulogovanih korisnika
Primjer:
Korisnik Datumprijave Vrijeme prijave Datum odjave Vrijeme odjave Racunar
Aco Ackovic, 19.09.2013, 21:38, .................., ................., Acko
Mujo Mujic, 19.09.2013, 21:37, .................., ................., Munja
Problem:
Kada korisnik Mujo izadje iz programa datum i vrijeme odjave upisuje se u Acina polja iako je Aco jos uvijek u programu.
Kada se Aco odjavi, samo se upisu novi podaci ponovo u Acina polja a Mujina polja datum i vrijeme odjave ostaju prazna.
Ovi podaci su mi jako bitni pa ako neko ima rjesenje, zahvaljujem unaprijed.
Teško je iz dva parčeta kooda videti šta se dešava.
Pitanje je da li su tabele u delu za logovanje uopšte koncipirane za višekorisnički rad. Najverovatnije da nisu jer u SQL izrazu iza Where stalno dobijaš prvo pronađeno polje tbllogovanja.ID.
Najjednostavniji način praćenja je da i u drugom delu koda, umesto SQL izraza, takođe dozvoliš unos novog zapisa uz obezbeđenje da se ID korisnika (vrednost koju imaš u Text13) nalazi u javnoj varijabli na klijentskom računaru.
Napuštanje programa nemora uvek da bude legalnom odjavom. Nestanak struje i druga nasilna gašenja računara su sastavni deo svakodnevnice.
Pitanje je da li su tabele u delu za logovanje uopšte koncipirane za višekorisnički rad. Najverovatnije da nisu jer u SQL izrazu iza Where stalno dobijaš prvo pronađeno polje tbllogovanja.ID.
Najjednostavniji način praćenja je da i u drugom delu koda, umesto SQL izraza, takođe dozvoliš unos novog zapisa uz obezbeđenje da se ID korisnika (vrednost koju imaš u Text13) nalazi u javnoj varijabli na klijentskom računaru.
Napuštanje programa nemora uvek da bude legalnom odjavom. Nestanak struje i druga nasilna gašenja računara su sastavni deo svakodnevnice.
[quote]WHERE ((tbllogovanja.ID)=(Select (ID)from tbllogovanja));"[quote] Ovo ce da radi ako i samo ako subquery Select (ID)from tbllogovanja) vraca tacno jedan rekord, a to je moguce samo u nekoj fazi testiranja, kad i nemas vise od jednog rekorda. U normalnom SQL dijalektu, kad subkveri vrati vise od jednog rekorda, onda sve pukne, to je greska koju SQL ne moze da podnese. Ne znam da li se to tacno tako desava i u Accesu, moguce je da JET procita samo prvi rekord i zanemri ostali (sto nije verovatno, jer bi to bi kolosalni bug u JET engine).
Znaci, ako nesto uopste i radi, to je sasvim slucajno.
Mozda bi trebalo da imas ovakvu logiku
Korak 1: Procitaj ime korisnika koj zatvara formu (OS user ID?)
Korak 2: U tabeli tblLogovanja pronadji POSLEDNJI log in rekord za tog korisnika (tacno 1 rekord)
Ocekuje se da polja DatumOdlogovanja i vreme Odlogovanja budu NULL u tom momentu. Ako nisu NULL, onda je negde programmanuo sa upisom logovanja.
Korak 3: Upisi datum i vreme u tabelu tblLogovanja za rekord iz koraka 2
I naravno, lakse bi bilo kad bi imao samo po jedno polje za momenat logovanja i jedno za momenat odlogovanja, gde bi Datum i Vreme bili u jednom, jer to je prirodan nacin rada sa date-time podacima u Accesu.
Sve ovo ej samo naivna teorija. Ozbiljna teorija izgled amlo drugacije i malo se drugacije resava, na komplikovaniji nacin. Razmisli da li ti ovo bas treba, jer zadatak koji resavas nije ni lak ni pocetnicki. Naivno moze da se resi, onako kako sam opisao, ali da se resi na robustan nacin, prakticno je nemoguce, pa ako ne moars, nemoj s ovim da se zamajavas, samo ces izgubiti vreme.
Znaci, ako nesto uopste i radi, to je sasvim slucajno.
Mozda bi trebalo da imas ovakvu logiku
Korak 1: Procitaj ime korisnika koj zatvara formu (OS user ID?)
Korak 2: U tabeli tblLogovanja pronadji POSLEDNJI log in rekord za tog korisnika (tacno 1 rekord)
Ocekuje se da polja DatumOdlogovanja i vreme Odlogovanja budu NULL u tom momentu. Ako nisu NULL, onda je negde programmanuo sa upisom logovanja.
Korak 3: Upisi datum i vreme u tabelu tblLogovanja za rekord iz koraka 2
I naravno, lakse bi bilo kad bi imao samo po jedno polje za momenat logovanja i jedno za momenat odlogovanja, gde bi Datum i Vreme bili u jednom, jer to je prirodan nacin rada sa date-time podacima u Accesu.
Sve ovo ej samo naivna teorija. Ozbiljna teorija izgled amlo drugacije i malo se drugacije resava, na komplikovaniji nacin. Razmisli da li ti ovo bas treba, jer zadatak koji resavas nije ni lak ni pocetnicki. Naivno moze da se resi, onako kako sam opisao, ali da se resi na robustan nacin, prakticno je nemoguce, pa ako ne moars, nemoj s ovim da se zamajavas, samo ces izgubiti vreme.
Prije svega hvala na odgovoru.
Vjerovao ili ne ovo radi bez ikakvih problema. Uredno evidentira svaki ulazak i izlazak, samo kada ih je vise istovremeno onda se desava kao sto sam opisao.
Imam jednu ispravku u SQL sintaksi koju sam napisao gore
Dakle izostavio sam rijec "Max" iza Select.
Ovo naravno nista ne mijenja ali samo zelim da ispravim kod koji koristim da bude jasniji.
Ovaj kod sam stavio i na dugmicima Log off i Exit kao i na close form i kao sto rekoh nemam ama bas nikakvih "pucanja" niti prijave bilo kakve greske.
U svakom slucaju pokusat cu pronaci neko drugo rjesenje.
Hvala jos jednom!
Pozdrav!
Vjerovao ili ne ovo radi bez ikakvih problema. Uredno evidentira svaki ulazak i izlazak, samo kada ih je vise istovremeno onda se desava kao sto sam opisao.
Imam jednu ispravku u SQL sintaksi koju sam napisao gore
Code:
strSQL = "SELECT tbllogovanja.ID, tbllogovanja.DatumOdjave, tbllogovanja.VrijemeOdjave FROM tbllogovanja WHERE ((tbllogovanja.ID)=(Select Max (ID)from tbllogovanja));"
strSQL = "SELECT tbllogovanja.ID, tbllogovanja.DatumOdjave, tbllogovanja.VrijemeOdjave FROM tbllogovanja WHERE ((tbllogovanja.ID)=(Select Max (ID)from tbllogovanja));"
Dakle izostavio sam rijec "Max" iza Select.
Ovo naravno nista ne mijenja ali samo zelim da ispravim kod koji koristim da bude jasniji.
Ovaj kod sam stavio i na dugmicima Log off i Exit kao i na close form i kao sto rekoh nemam ama bas nikakvih "pucanja" niti prijave bilo kakve greske.
U svakom slucaju pokusat cu pronaci neko drugo rjesenje.
Hvala jos jednom!
Pozdrav!
Naravno da radi.
Select Max (ID) vrca tacno jedan rekord i to onaj koji je poslednji unesen u tabelu, bez obzira koji je to korisnik. Zato ti 'gresi' kad imas vise korisnika odjednom ulogovanih, uvek vraca onog ko se zadnju ulogovao. Probaj ovo:
Select Max (ID) from tbllogovanja WHERE Korisnik = tekuci korisnik, to bi trebalo d ati vrati poslednji login za samo ovog korisnika na ovoj tekuceoj masini.
:-)
Code:
Select Max (ID) from tbllogovanja
jeste veoma razlicito od Select Max (ID) from tbllogovanja
Code:
Select (ID)from tbllogovanja
Select (ID)from tbllogovanja
Select Max (ID) vrca tacno jedan rekord i to onaj koji je poslednji unesen u tabelu, bez obzira koji je to korisnik. Zato ti 'gresi' kad imas vise korisnika odjednom ulogovanih, uvek vraca onog ko se zadnju ulogovao. Probaj ovo:
Select Max (ID) from tbllogovanja WHERE Korisnik = tekuci korisnik, to bi trebalo d ati vrati poslednji login za samo ovog korisnika na ovoj tekuceoj masini.
:-)
Nazalost, nece ni ovako..
Kao sto rekoh baza je visekorisnicka i svi rade sa FE na lokalnim racunarima sa jednom zajednickom BE i tu se izmedju ostalih nalazi i tabela logovanja.
Hajde da ovo sad za sad ostavimo po strani mozda "nadodje u voznji"
Imas li kakvu ideju kako da sa jednog racunara "ocitam" koji korisnik ili korisnici trenutno koriste bazu?
Recimo, neki query ili bilo sta samo da izvucem taj podatak i naravno kada korisnik napusti program da ga nema vise na "listi"
Pozdrav i hvala na ucescu u temi.
Kao sto rekoh baza je visekorisnicka i svi rade sa FE na lokalnim racunarima sa jednom zajednickom BE i tu se izmedju ostalih nalazi i tabela logovanja.
Hajde da ovo sad za sad ostavimo po strani mozda "nadodje u voznji"
Imas li kakvu ideju kako da sa jednog racunara "ocitam" koji korisnik ili korisnici trenutno koriste bazu?
Recimo, neki query ili bilo sta samo da izvucem taj podatak i naravno kada korisnik napusti program da ga nema vise na "listi"
Pozdrav i hvala na ucescu u temi.
Mislim da Vam i za ovo trebaju ispravni podaci u tabeli logovanja, i to sa ispravnom odjavom, da bi procitali one korisnike gdje su polja odjave prazna. A mislim da Vam treba i neki dio programa koji bi provjerio da li se u prethodnom logovanju korisnik pravilno odjavio, i da ne dozvoli novo logovanje dok se ne popune polja odjave za prethodni log.
Potpis
Sve sam fino smislio...
Još samo da propadne. :-)
Još samo da propadne. :-)
Citat:
Getsbi: Napuštanje programa nemora uvek da bude legalnom odjavom. Nestanak struje i druga nasilna gašenja računara su sastavni deo svakodnevnice.
Imajuci u vidu opasku koju je kolega @Getsbi izneo, pogledajte primer "Korisnik MDB 20130919.zip", koji mozete preuzeti sa http://zoraneremija.wix.com/eremijacv#!downloads/c1qda. Obuhvata osnovne elemente administracije.
Korisnik: admin
Lozinka: admin
izmenjeno 1 put, poslednji put Miki2013 21.09.2013. u 23:06
Izmene poruke
- Miki201321.09.2013. u 23:06zapis iz teksta poruke
Svidja mi se ovo kako si odradio, svaka cast...
I ranije sam nekada skinuo ovaj tvoj primjer i "pozajmio" rjesenje za promjenu lozinke ali nisam ga nikada stigao analizirati u cjelosti pa mi je i promaklo
ova ideja o logovanim korisnicima.
Pokusat cu da ovaj tvoj nacin implementiram u svoj program ali korak po korak jer zelim da u cjelosti shvatim kako si ovo izveo kako bih ga prilagodio bez da iznova idem sa izradom login forme jer se moja mnogo razlikuje od tvoje u samom kodu.
Ako bas nesto ne shvatim i zapnem, javim se ponovo.
Hvala mnogo majstore!
Uspio sam implementirati ovo tvoje rjesenje u potpunosti i sto je najbitnije shvatio sam kako si ga uradio...
Hvala mnogo prijatelju!
I ranije sam nekada skinuo ovaj tvoj primjer i "pozajmio" rjesenje za promjenu lozinke ali nisam ga nikada stigao analizirati u cjelosti pa mi je i promaklo
ova ideja o logovanim korisnicima.
Pokusat cu da ovaj tvoj nacin implementiram u svoj program ali korak po korak jer zelim da u cjelosti shvatim kako si ovo izveo kako bih ga prilagodio bez da iznova idem sa izradom login forme jer se moja mnogo razlikuje od tvoje u samom kodu.
Ako bas nesto ne shvatim i zapnem, javim se ponovo.
Hvala mnogo majstore!
Uspio sam implementirati ovo tvoje rjesenje u potpunosti i sto je najbitnije shvatio sam kako si ga uradio...
Hvala mnogo prijatelju!
Citat:
Miki2013: Uspio sam implementirati ovo tvoje rjesenje u potpunosti i sto je najbitnije shvatio sam kako si ga uradio... :-)
Drago mi je da ste uspeli navedeno, a posebno ako ce Vam koristiti.
Ups!
Rano sam se poceo radovati jer sam to sve testirao na jednom racunaru sa vise korisnika
Medjutim u praksi "na terenu" se desava slicno kao i sa vremenom odjave u ranijem postu.
Prvi koji se odjavi, "odloguje" i sve ostale (mislim na one ikonice) odnosno, svima upise 0 u log status.
Rano sam se poceo radovati jer sam to sve testirao na jednom racunaru sa vise korisnika
Medjutim u praksi "na terenu" se desava slicno kao i sa vremenom odjave u ranijem postu.
Prvi koji se odjavi, "odloguje" i sve ostale (mislim na one ikonice) odnosno, svima upise 0 u log status.
Hmmm ako ste bas primenili model koji sam postavio ?!?!?
Ocito sam nesto preskocio jer nam se struktura razlikuje, pokusat cu sada preko vikenda polako sve ispocetka analizirati.
Mojom greskom nisam naveo bitan detalj, a to je:
1. Tabela Licenca se nalazii u FE fajlu.
2. Tabela System mora biti linkovana iz recimo mdb fajla koji se nalazi na lokaciji gde i FE.
3. Ostale tabele se nalaze na BE i linkuju se.
Iako sam ovo opisao prilikom prvog objavljivanja aplikacije Korisnik http://www.elitesecurity.org/t416085-0#2753542
1. Tabela Licenca se nalazii u FE fajlu.
2. Tabela System mora biti linkovana iz recimo mdb fajla koji se nalazi na lokaciji gde i FE.
3. Ostale tabele se nalaze na BE i linkuju se.
Iako sam ovo opisao prilikom prvog objavljivanja aplikacije Korisnik http://www.elitesecurity.org/t416085-0#2753542