Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sledeci inventarni broj

[es] :: Access :: Sledeci inventarni broj

[ Pregleda: 5573 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bdrago

Član broj: 25965
Poruke: 122
*.dialup.blic.net



Profil

icon Sledeci inventarni broj07.05.2004. u 14:41 - pre 242 meseci
Potrebna pomoc iskusnijih korisnika!

Pitanje:


Ako imam tabelu KNJIGE gdje je primarni kljuc na polju InvBr (inventarni broj knjige = 1,2,3 itd.) i formu za unos novih knjiga

Potreban mi je kod za:

Kada kliknem na dugme za dodavanje nove knjige, potrebno je da program provjeri vec unesene inventarne brojeve u tabeli KNJIGE i da u formi za unos knjiga u polje InvBr, za novu knjigu, upise sledeci inventarni broj po redu.

Kada je novi inventarni broj (primarni kljuc) upisan u polje forme, a zelim da odustanem od upisivanja, da ga sa zatvaranjem forme obrise iz polja forme (tj. tabele).

Unaprijed zahvaljujem!





 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Sledeci inventarni broj10.05.2004. u 14:29 - pre 242 meseci
Ako nije prekasno za to, napravi da ti polje InvBr bude Autonumber. U tom slucaju ne treba ti nikakkav kod. Sve se desava samo od sebe. Ako sacuvas record, Access ce da sacuva autonumbr, ako odustanes, nece se desiti nista, novi autonumber bice zaboravljen.

Druge opcije su komplikovanije. lako je automatski povecati invBr za 1. Tesko je spreciti nezeljeno snimanje recorda. Objasnjenje trazi vise vremena, pa cemo ga preskociti, osim ako to ne zatrazis izricito. Mozda iskustva drugih pomognu u ovom slucaju.

:-)
 
Odgovor na temu

bdrago

Član broj: 25965
Poruke: 122
*.dialup.blic.net



Profil

icon Re: Sledeci inventarni broj11.05.2004. u 06:43 - pre 242 meseci
Hvala na javljanju (vec sam pomislio da niko nece da prica sa mnom).
Nije prekasno ni za kakve promjene. To je baza koju radim da bi nesto naucio.
Ajde da kazem da se prilicno dobro snalazim u osnovnim stvarima (tabele, upiti , forme itd) ali dodje vrijeme kada treba preci i korak dalje.
Polje AutoNumber koristim u tabeli Zaduzivanje i to nije problem. Ali u tabeli Knjige
polje InvBr mi odredjuje svaku knjigu, jer moze se desiti da imam knjige sa istim naslovom.
Sto se tice snimanja zapisa, na formi imam dugme "Zaduzi" koje pritisnem kada hocu da zaduzim nekog clana sa knjigom, pa ono automatski oduzme broj zaduzenih kopija od trenutnog stanja te knjige u biblioteci i snimi zapis (uz to imam uslov da datum zaduzivanja mora biti popunjen a datum razduzivanja prazan).
Ako hocu da u toku unosa odustanem od zaduzivanja imam dugme "Odustani od zaduzivanja" kojim ne snimam zapis (CancelEvent).
Na isti nacin radim i razduzivanje, gdje gledam da je datum razduzivanja prazan, pa kada ga upisem, vratim broj zaduzenih kopija na stanje, tj. razduzim knjigu.

Dakle, trebao bih da napravim: npr.
If... Ako se dodaje novi zapis(AddNewRecord) ... Then
... procitaj vrijednost zadnjeg InvBr (Last) ...
... pa upisi u polje InvBr=Last + 1

Ali mi ne idu naredbe za ono "procitaj" i upisi".

Gdje bih mogao da nadjem nesto prevedeno sto bi mi pomoglo da naucim nesto vise o pisanju koda u Accessu. Imam Knjigu Visual Basic 6. Ne znam da li je ona za to. ako jeste, predebela je.

Zahvaljujem na javljanju!


 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Sledeci inventarni broj11.05.2004. u 14:45 - pre 242 meseci
Ovako. Imam utisak da nije bas sve kako treba sa dizajnom same baze. Los dizajn neizbezno proizvodi potrebu za mnogo programiranja i cesto te dovodi u neresive situacije za naizgled jednostavne probleme. Posto ovo radis da naucis nesto, onda imamo vremena, pa bih te molio da nam ovde na forumu opises kako tvoja baza izgleda (tebele, primarni kljucevi, relacije). Onda cemo da krenemo odatle.

Isto mi se cini da ti tretiras Access aplikaciju kao da je to VB. Nije i u principu je mnogo lakse napisati Access aplikaciju koja radi sa Access bazom nego VB. Access aplikacije uglavnom ne zahtevaju mnogo koda za osnovne stvari. Ostavimo to za posle, prvo nam opisi bazu i sta ta baza treba da radi (da podrzi rad jedne biblioteke).

Sto se tice knjiga za ucenje, ne znam gde si, pa ne znam sta da preporucim. Ako si negede na YU prostorima i knjige na engleskom ti nisu dostupne, onda mora neko da pomogne iz bivse YU. Ako si u USA/AU/GB i slicno, potrazi "Mastering Access xxxx", author Alisson Balter. Jest debela ali je mnogo laksa za citanje nego VB knjige. Kad tu knjigu lepo savladas i nekoliko meseci se sluzis Accessom, onda si spreman za knjige koje pise Ken Getz.

:-)
 
Odgovor na temu

bdrago

Član broj: 25965
Poruke: 122
*.dialup.blic.net



Profil

icon Re: Sledeci inventarni broj12.05.2004. u 08:58 - pre 242 meseci
Posto toga ima dosta, najbolje bi bilo da mi neko objasni kako da za ovu poruku prikacim zipovanu bazu (trnutno stanje = 300 Kb), pa da se iz nje sve vidi.
A ako to nije moguce, onda cu se baciti na pisanje.

Inace, samoj postavci baze mi se ne svidjaju 3 stvari, ali ih nisam mogao rijesiti na drugi nacin:
1) ubacivanje sledeceg InvBr za knjigu
2) ubacivanje sledeceg Brc za clana
3) nacin dovodjenja na ekran zapisa knjige koju treba razduziti (rijeseno preko
combo-boxa, ali mislim da nije bas zgodno da se na formi vidi AutoNumber zapisa
posto mi on odredjuje odredjeno zaduzivanje knjige.

Molim vas da mi neko objasni kako da prikacim bazu za poruku ili da je posaljem na drugi nacin.
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Sledeci inventarni broj12.05.2004. u 16:20 - pre 242 meseci
Mozda je bolje da nam napises koje tabele imas i sta se u koju pakuje. Onda nam opisi kako si to zamislio da izvedes. Na taj nacin cemo imati 'big picture' i dacemo neke generalne odgovore, pa ce i drugi imati koristi od ove teme.

 
Odgovor na temu

bdrago

Član broj: 25965
Poruke: 122
*.dialup.blic.net



Profil

icon Re: Sledeci inventarni broj13.05.2004. u 06:46 - pre 242 meseci
Evo ovako:
Imam tri glavne tabele: Clanovi, Knjige i Poslovanje sa poljima:
(polja napisana velikim slovima su primarni kljuc)

Clanovi (BRC, PrezimeIme, Zanimanje, Adresa, Mjesto, Telefon, DatRodjenja,
DatUpisa, DatClan, Napomena)
Knjige (INVBR, Signatura, SifraZanra, NazivDjela, BrKopija, Stanje, Pisac, Izdavac,
GodIzdav, Napomena)
Poslovanje (IDZAPISA, Brc, InvBr, DatZad, ZadKopija, DatRazd, Bibliotekar,
Napomena)

Tabele Clanovi i Knjige su preko primarnog kljuca povezane sa tabelom poslovanje vezom: jedan prema vise.

Isto tako imam i pomocne tabele za sledeca polja: Bibliotekar, Pisac, Izdavac,
Zanr, Signatura i InvBr koje mi sluze za unos novih podataka: npr. ako dobijem novog izdavaca, unesem ga u tabelu Izdavac, a poslije gdje god treba, biram ga iz combo-box-a.

Baza bi trebala da radi ovako:
Kada dobijem novog clana upisujem mu podatke preko forme frmClanovi u tabelu Clanovi (DatClan=datum kada je platio clanarinu itd.)
Kada dobijem novu knjigu, upisujem je preko forme frmKnjige u tabelu Knjige (InvBr odredjuje svaku knjigu, BrKopija=ukupan broj kopija knjige, Stanje=broj kopija knjige koji se trenutno nalazi u biblioteci, itd.)

Na forni frmZaduzivanje imam dugme "Unesi podatke za novo zaduzivanje" pa preko njega unesem podatke za novo zaduzivanje (DatZad mora biti popunjen a DatRazd mora biti prazan).
Kada popunim podatke imam dugme "Zaduzi" pa kada ga pritisnem, program oduzme broj zaduzenih kopija od stanja.Kod je sledeci:

Private Sub Command25_Click()
If Not IsNull(Me!DatRazd) Then
MsgBox "Da bi mogli zaduziti knjigu morate unijeti podatke za novo zaduzenje!"
Exit Sub
End If

If Forms!frmZaduzivanje!pfmKnjige.Form.Stanje = 0 Then
Beep
MsgBox "Ova knjiga nema ni jednu slobodnu kopiju!"
InvBr.SetFocus
Exit Sub
End If

If IsNull(Me!DatZad) Then
MsgBox "Da bi mogli zaduziti ovu knjigu morate upisati datum zaduzivanja!"
DatZad.SetFocus
Exit Sub
End If

If MsgBox("Da li zelite zaduziti ovu knjigu?", vbExclamation + vbYesNo, "UPOZORENJE!") = vbYes Then
Forms!frmZaduzivanje!pfmKnjige.Form.Stanje = Forms!frmZaduzivanje!pfmKnjige.Form.Stanje - Forms!frmZaduzivanje.ZadKopija
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

Else
DoCmd.CancelEvent
End If
End Sub

Ako hocu da odustanem od zaduzivanja (u toku unosa) imam dugme "Odustani i obrisi zapis" sa kodom:

Private Sub Command32_Click()
DoCmd.SetWarnings False

If MsgBox("Da li zelite odustati od zaduzivanja?", vbExclamation + vbYesNo, "UPOZORENJE") = vbYes Then
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Brc.SetFocus

Exit Sub
Else
InvBr.SetFocus
End If
End Sub

Na frmZaduzivanje imam dvije podforme: pfmClanovi i pfmKnjige, obe sa Enable=No, pa kada u formi izaberem Brc, dole se prikazu svi podaci za tog clana. Isto je i za knjigu.

Za razduzivanje je potrebno pronaci zapis koji hocemo da razduzimo i dovesti ga da bude tekuci, pa upisem DatRazd i vratim broj zaduzenih kopija na stanje. To radim preko combobox-a (preko IdZapisa, a imam u njemu i Brc, InvBr, DatZad i DatRazd=Null koji je nevidljiv). Kod je:

Private Sub Text54_AfterUpdate()
With CodeContextObject
DoCmd.GoToControl "[IDZapisa]"
DoCmd.FindRecord .Text54, acEntire, False, , False, acCurrent, True
End With
DatRazd.SetFocus
End Sub

Problem mi je sto IdZapisa odredjuje zadizivanje a ja u combo-box-u gledam Brc i InvBr.

Kada nadjem zapis, upisem DatRazd i pritisnem dugme "Razduzi" sa kodom:

Private Sub Command53_Click()
If IsNull(Me!DatRazd) Then
MsgBox "Da bi mogli razduziti ovu knjigu morate upisati datum razduzivanja!"
DatRazd.SetFocus
Exit Sub
End If

If MsgBox("Da li zelite razduziti ovu knjigu?", vbExclamation + vbYesNo, "UPOZORENJE!") = vbYes Then
Forms!frmZaduzivanje!pfmKnjige.Form.Stanje = Forms!frmZaduzivanje!pfmKnjige.Form.Stanje + Forms!frmZaduzivanje.ZadKopija
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

Else
DoCmd.CancelEvent
DatRazd.Value = ""
End If
End Sub

Imam i dugme "Vrati stanje knjige" za prisilne intervencije, gdje mozemo prepraviti stanje, sa kodom:(gdje mozemo ispraviti stanje)
Private Sub Command39_Click()
DoCmd.OpenQuery "QVratiStanjeKnjige"
End Sub

Imam i obicno dugme za brisanje zapisa.

Svi ovi dugmici su na TabControl sa tri strane: Zaduzivanje, Razduzivanje i Ispravke.

Izvjestaji nisu problem pa necemo o njima.

Znaci, bilo bi dobro da: kada pritisnem dugme za dodavanje novog clana, program sam procita vrijednost iz polja Brc na poslednjem zapisu i doda novi Brc za jedan veci. Isto vrijedi i za InvBr nove knjige (i za bilo koju drugu Access bazu moze se iskoristiti).

Eto, nadam se da se vidi osnovno.

Zahvaljujem na javljanju!







 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Sledeci inventarni broj13.05.2004. u 15:28 - pre 241 meseci
Wow! Odlicno opisan problem. Daj mi malo vremena da prodjem kroz listinge pa cu ti odgovoriti jedno po jedno. Odgovoricu ti na sva pitanja, cisto da bi pokazali odredjene tehnike pristupa i manipulisanja podacima. Sto se tice dizajna baze, nije bas najbolji za izabrani problem. Table su OK, ali model nije kompletan i u praksi bi stvorio vise problema nego sto bi resio. No, o tome posle. Sada cemo da se bavimo tehnikom programiranja. Molim te daj mi malo vremena.

Za sada samo dva kratka saveta. Prvo, kad pises kod koji zahteva referencu na trenutno otvorenu formu, ne moras da upotrebis Forms!MojaForma!txtBox. Mozes (i treba) da pises me!txtBox. Rec "me" znaci "ja, tekuca forma" i moze se koristiti u formama i reportima. Drugo, pozivanje menu komandi na nacin
Code:

DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

je zastareo i nepouzdan. Bolje je koristiti na primer
Code:

Docmd.RunCommand  accmdSaveRecord

Pogledaj u helpu RunCommand.

:-)
 
Odgovor na temu

bdrago

Član broj: 25965
Poruke: 122
*.dialup.blic.net



Profil

icon Re: Sledeci inventarni broj14.05.2004. u 06:13 - pre 241 meseci
Hvala na javljanju!
Vec sam rekao da mi ne ide bas najbolje pisanje koda.
Kod sam sastavio gledajuci razne primjere gotovih baza podataka i primjere sa ovog foruma itd. Koristio sam i sistem da napravim neko dugme pomocu carobljaka pa onda pogledam kod za tu operaciju koji je napisao carobnjak, pa ga ugradim u svoj kod itd.
Pozdrav!
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Sledeci inventarni broj14.05.2004. u 14:16 - pre 241 meseci
Da probamo ovako. Tvoja pitanja su:
Citat:

Inace, samoj postavci baze mi se ne svidjaju 3 stvari, ali ih nisam mogao rijesiti na drugi nacin:
1) ubacivanje sledeceg InvBr za knjigu
2) ubacivanje sledeceg Brc za clana
3) nacin dovodjenja na ekran zapisa knjige koju treba razduziti (rijeseno preko
combo-boxa, ali mislim da nije bas zgodno da se na formi vidi AutoNumber zapisa
posto mi on odredjuje odredjeno zaduzivanje knjige.


Za 1) i 2) princip bi trebalo da bude isti. Za tabele Clanovi i Knjige ti imas po jednu formu, frmClanovi i frmKnjige. Te forme pokazuju podatke iz tabela Clanovi i Knjige. Mogu da imaju subforma, ali nije bitno. Kad otvoris bilo koju od ovih formi, forma ce biti pozicionirana na neki rekord, najverovatnije prvi po redosledu primarnog kjuca.

Najprostiji nacin da dodas novog clana je da iabere komandu new Record sa glavnog menija, ili kliknes na * navigation button. To ti otvara praznu formu i ceka da uneses podatke. Sto tebi treba jeste da Primary key polje bude popunjeno vrednoscu Max(PK)+1.

Ima vise nacina da se ovo postigne, a jedan je sledeci:
a) Uslov je da Brc nije autonumber polje. Ako jeste, nikakva funkcija nema smisla, autonumber je pod kontrolom Accessa, a ne korisnika. recimo da Brc nije autonumber. Napisi public funkciju koja izracunava Max(PK)+1. Na primer:
Code:

Function NextClan() as Long
   dim lngBroj as long
   lngbroj = 1+nz(Dmax("Brc","Clanovi"),0)
   NextClan=lngbroj
End Function

Dmax("Brc","Clanovi") treba da pronadje maximalnu vrednost polja Brc u tabeli Clanovi. Posto je Brc autonumber, MAx je istovremno i poslednji koji je unesen. Kad je tabela prazna Dmax vraca NULL, a NULL+1 = NULL pa bi funkcija pukla. Stoga, funkciaj NZ pretvara potencijalnu NULL value u 0 (zero, matmaticka nula).
b) Za polje Brc na formi, u property DefaultValue, stavi =NextClan()
c) ako vec nemas, na formi Clanovi postavi dugmad cmdAddNewRecord, smdUndoRecord, cmdSaveRecord. OnClick za ove dugmice sledi. Sav kod je napisan upotrebom wizarda, a zatim malo modifikovan. Primeti kako je Error kod poboljsan ubacivanjem broja greske i naziva funkcije u kojoj se greska javila.
Code:

Private Sub cmdUndo_Click()
On Error GoTo Err_cmdUndo_Click


    'DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
    DoCmd.RunCommand acCmdUndo
    DoCmd.GoToRecord acDataForm, Me.Name, acPrevious 'dodao Zidar

Exit_cmdUndo_Click:
    Exit Sub

Err_cmdUndo_Click:
    MsgBox Err.Description, Title:="Errror " & Err.Number & " in cmdUndo_Click()"
    Resume Exit_cmdUndo_Click
    
End Sub

Private Sub cmdSave_Click()
On Error GoTo Err_cmdSave_Click


    'DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    'Dodao Zidar:
    If Me.Dirty Then
        DoCmd.RunCommand acCmdSaveRecord
    Else
        MsgBox "No changes made to the data. There is nothing to Save"
    End If

Exit_cmdSave_Click:
    Exit Sub

Err_cmdSave_Click:
    MsgBox Err.Description, Title:="Errror " & Err.Number & " in cmdSave_Click()"
    Resume Exit_cmdSave_Click
    
End Sub

Private Sub cmdAddNewRecord_Click()
On Error GoTo Err_cmdAddNewRecord_Click


    DoCmd.GoToRecord , , acNewRec

Exit_cmdAddNewRecord_Click:
    Exit Sub

Err_cmdAddNewRecord_Click:
    MsgBox Err.Description, Title:="Errror " & Err.Number & " in cmdAddNewRecord_Click()"
    Resume Exit_cmdAddNewRecord_Click
    
End Sub


 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Sledeci inventarni broj14.05.2004. u 15:18 - pre 241 meseci
U prethodnom postu imas za pitanja 1) i 2). Da vidimo sad
Citat:

3) nacin dovodjenja na ekran zapisa knjige koju treba razduziti (rijeseno preko
combo-boxa, ali mislim da nije bas zgodno da se na formi vidi AutoNumber zapisa
posto mi on odredjuje odredjeno zaduzivanje knjige.


Umesto "dovodjenja na ekran zapisa knjige koju treba razduziti", meni se vise svidja sledece. Zamisli kveri koji lista sve rekorde iz tebele Poslovanje, za zadati Brc. Taj kveri ce da pokaze sve knjige koje je ikada uzeo clan Brc. Tebe zanimaju nerazduzene, pa ces da ubacis WHERE u kveri i tako dobijes samo nerazduzene knjige za datog Brc. Dakle,
Citat:

qryNerazduzeni =
"SELECT IDZAPISA,Brc,InvBr,DatZad,DatRazd WHERE DatRazd IS NULL".

Mozes da dodas JOIN na Knjige pa da ubacis i naslov knjige. Napravis datasheet formu baziranu na ovom kveriju, naprimer frmNerazduzeni_DS. Sad ovu formu stavis kao subformu na frmClanovi, a isto tako i na formu frmKnjige. Kad god se pozicioniras na nekog clana, vidis njegove nerazduzene knjige. Kako niko nema stotine nerazduzenih knjiga, verovatno je da ces ih sve videti na jednom ekranu. Onda lepo pogledas knjigu koju je tvoj Brc doneo da razduzi i pogledas na ekran i vidis koja je to knjiga u pitanju. Kako da je razduzis? Razduzivanje ima dva koraka:

1) Upisi DatRazd u odgovarajuci zapis u tabeli Poslovanje
2) U tabeli knjige postavi Stanje=Stanje+1
Hoces ovo da "Undo"? prosto,
1) Postavi DatRazd=NULL [bold](tvoja procedura Command53_Click() kaze DatRazd="" sto NE VALJA, DatRazd je DateTime podatak i ne moze da primi "")[bold]
2) U tabeli knjige postavi Stanje=Stanje-1

Samo razduzenej bi mogao da uradis direktno u subformi - jednostavno upises datum razduzenja. Odustajes? Obrisi datum razduzenja. Problem je promena stanja. Ovo su vezane operacije i moraju da se izvrse ili obadve ili ni jedna. Razduziti knjigu a ne promeniti stanje nema smisla. Zato se mora raditi TRANSAKCIJA, koja sadrzi obe ove operacije i ako se negde desi greska, obe operacije se ponistavaju (ROLLBACK).

Trebaju ti dve funkcije, koje ces da pozoves po potrebi sa tvoje forme ili subforme. prvo funkcije. Kod pisem napamet, direktno u poruku, pa moze da zapne, ali tro ti je ideja:
Code:

public function Razduzi(lngIDZAPISA as long, lngBrknjige as long, datDatRazd as Date) as boolean

ON ERROR goto ERROR_CODE
 dim db as DAO.database
 dim rs as DAO.recordset
 dim rsStanje as DAO.recordset
 dim strSQL as string
 dim strSQLstanje as string
 dim flgInTransaction as boolean

 set db=currentdb()

 strSQL =  "SELECT IDZAPISA, DatRazd FROM Poslovanje WHERE IDZAPISA=" & lngIDZAPISA 

 strSQLstanje="SELECT Stanje FROM Knjige WHERE InvBr=" & lngBrknjige 

 set rs=db.openrecordset(strSQL )
 set rsStanje=db.openrecordset(strSQLstanje)

 Begin Transaction
 flgInTransaction = TRUE
  'razduzimo knjigu
  rs.edit
     rs!DatRazd = datDatRazd 
  rs.update

  'promenimo stanje
  rsStanje.edit
     rsStanje!Stanje=rs!Stanje+1
  rsStanje.Update

 Commit Transaction

EXIT_HERE:
 OnError resume next
 rs.close
 rsStanje.close
 set db=nothing
 Exit function

ERROR_CODE:
 if flgInTransaction then
    Rollback Transaction
 endif
 
 select case err.number
   case else
      MsgBox Error.description, Title:="Error " & err.number & " in Razduzi()"
      resume EXIT_HERE:
 end select

end function


Funkcija "PonistiRazduzenje" izgleda isto, sem sto ide
Code:

 rs.edit
     rs!DatRazd = NULL
  rs.update

  'promenimo stanje
  rsStanje.edit
     rsStanje!Stanje=rs!Stanje-1
  rsStanje.Update



Ove funkcije pozivas na neki zgodan nacin i saljes im parametre. Na primer, u subformi frmNerazduzeni_DS, mozes da pozivas funRazduzenje posto uradis DoubleClick() na DatRazd, a funPonistiRazduzenje mozes da pozivas sa DoubleClick na DatZad.

Toliko o ucenju nekih novih nacina da se rese problemi. Sto se tice dizajna baze, o tome detaljnjie neki drugi put. Ovo je OK za vezbu ali u praksi bi bilo katasrofa, posle samo nedelju dana rada. Dobar dizajn bi te oslobodio razmisljanja o brojanju knjiga i azuriranjustanja kad god se knjiga uzneme ili vrati. A sta ces kad ti neko ostavi kjigu na stolu i ode kuci. Ko je razduzio knjigu? Znamo da je Stanje=Stanje+1, ali koga da razduzimo? O tome drugi put, za sada imas dovoljno zabave, a ja moram da nesto i radim da zaradim platu.

:-)
 
Odgovor na temu

bdrago

Član broj: 25965
Poruke: 122
*.dialup.blic.net



Profil

icon Re: Sledeci inventarni broj16.05.2004. u 05:51 - pre 241 meseci
Hvala Zidaru!
Trebace mi vremena da ovo malo prostudiram.
Pozdrav!
 
Odgovor na temu

bdrago

Član broj: 25965
Poruke: 122
*.dialup.blic.net



Profil

icon Re: Sledeci inventarni broj17.05.2004. u 14:37 - pre 241 meseci
Probao sam ovaj prvi dio za sledeci InvBr i to radi bez problema.
Za drugi dio napravio sam upit (DatRazd=Null) pa na osnovu njega formu, pa sam je prevukao na formu gdje biram broj clana (sada je ona podforma).
Sve je to u redu ali program mi neda da vrsim bilo kakve izmjene u podformi, npr. da upisem DatRazd. Probao sam preko Properties dijaloga: Allow Edit je Yes a opet neda izmjene. Ne znam zasto???
Sto se tice koda za drugi dio (razduzivanje i stanje) to mi nije bas najjasnije (ali bice bolje).
P.S. Jeste li nekad imali problem da vam umjesto slova z (kao zvaka) otkuca obicnu liniju: I (prebacivac tastature je na latinici)
Razumio bih da to radi na svim formama ,ali nije tako. Negdje radi a anegdje ne (u istom programu (.mdb).
Istovremeno, ostala slova sa kvacicama su dobra.

 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Sledeci inventarni broj17.05.2004. u 18:40 - pre 241 meseci
YU slova - to ne znam.

Subforma ne dozvoljava edit/insert. To se desava kad je upit na kome se forma bazira non-updateable, a to se desava kad neka od tabela koje su JOINovane u upitu nema PK. probaj da otvoris dataheet formu samu za sebe, pa vidi da li moze da se modifikuju podaci. Jos bolje, otvori kveri i vidi da li mozes da editujes podatke.

Ako je tvoja datasheet forma bazirana na tabeli transakcije, jedina polja koja smes da menjas su DatZad i DatRaad. Ostalo ti Access nece (ne bi trebao) dozvoliti, ukoliko su ti relacije medju tabelama psotavljene pravilno (enforce referential integrity, no cascading for dlete and update)
 
Odgovor na temu

[es] :: Access :: Sledeci inventarni broj

[ Pregleda: 5573 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.