Centar za edukaciju-BiH



#1 11.05.2012 08:53
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Generiranje broja dokumenta
Imam 'tblDokumenti' u koju upisujem zajedno više vrsta skladišnih dokumenata:
Predatnica gotovih proizvoda
MeđuskladiÅ¡na otpremnica
Povratnica
Primka

Ovisno o vrsti dokumenta koje određuje izbor sa Combom 'idDokumenta' broj dokumenta (text box 'BrojDok') bi trebao ispred broja imati različiti prefiks

Predatnica gotovih proizvoda > GP*0001
MeđuskladiÅ¡na otpremnica > MO*0001
Povratnica > PO*0001
Primka > PR*0001

Problemi je Å¡to mi se bez obzira na prefiks uvijek generira slijedeći veći broj, a želi bi da mi brojevi idu redom ovisno o prefiksu.

GP*0001; GP*0002; GP*0003
MO*0001; MO*0002

itd

Kod na formi:
PreuzmiIzvorni kôd (vbnet):
  1. Private Sub IDdokumenta_AfterUpdate()
  2. Dim Prefix As String
  3.  
  4. Select Case Me.IDdokumenta
  5.  
  6. Case 2 ' Primka PR
  7. Me.Skladiste_Label.Caption = "KONTO"
  8. Prefix = "PR*"
  9. Me.BrojDok = BrojDokumenta(Prefix)
  10.  
  11. Case 3 'Predatnica GP
  12. Me.Skladiste_Label.Caption = "KONTO"
  13. Prefix = "GP*"
  14. Me.BrojDok = BrojDokumenta(Prefix)
  15.  
  16. Case 4 'Povratnica
  17. Me.Skladiste_Label.Caption = "KONTO"
  18. Prefix = "PO*"
  19. Me.BrojDok = BrojDokumenta(Prefix)
  20.  
  21. Case 10 'Meuskladišna otpremnica
  22. Me.Skladiste_Label.Caption = "SKLADIÅ TE"
  23. Prefix = "MO*"
  24. Me.BrojDok = BrojDokumenta(Prefix)
  25.  
  26. End Select
  27. End Sub

Modul:
PreuzmiIzvorni kôd (vbnet):
  1. Function BrojDokumenta(Pref As String)
  2. Dim Db As Database
  3. Dim SQL As String
  4. Dim Rs As Recordset
  5. Dim i As Integer
  6.  
  7. Set Db = CurrentDb
  8.  
  9. SQL = "SELECT Max(Right(BrojDok,4)) FROM tblDokumenti"
  10. Set Rs = Db.OpenRecordset(SQL)
  11. If Format$(Rs.Fields(0)) <> "" Then
  12. i = Val(Rs.Fields(0))
  13. End If
  14. i = i + 1
  15. BrojDokumenta = Pref & Format(i, "0000")
  16. Rs.Close
  17. Set Db = Nothing
  18. End Function


Prilozi:
Informacije o tipu datoteke za:rar  PrimjerBrDoc.rar
Preuzimanja:361
Velicina datoteke:18.38 KB


Pozdrav
↑  ↓

#2 11.05.2012 11:07
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Generiranje broja dokumenta
Ipak sam nakon dosta muke našao rješenje. U modulu asm ispravio SQL

SQL = "SELECT Max(Right(BrojDok,4)) FROM tblDokumenti WHERE Left(BrojDok,3)= '" & Pref & "'"
Pozdrav
↑  ↓

#3 12.05.2012 20:29
dex Van mreze
Super Moderator
Registrovan od:23.02.2012
Postovi:625


Predmet:Re: Generiranje broja dokumenta
Evo ovako je jednostavnije. Obrati paznju da sam u tabelu tblDokumenti dodao polje BrDok kao integer, jer je mnogo komotnije traziti max nedju brojevima. U tabelu tblTransakcijeVrsta dodao sam polje prefix jer mi se tako ucinilo da je najlakse izvuci prefix za odredjenu vrstu dokumenta. Za izvor forme sam postavio QryDokumenti, tako mi je bilo najlakse da izvucem prefix. Pogledaj dogadjaj after update za IDdokumenta na formi. Pozdrav
↑  ↓

#4 12.05.2012 20:37
dex Van mreze
Super Moderator
Registrovan od:23.02.2012
Postovi:625


Predmet:Re: Generiranje broja dokumenta
Uf! Dok provalim kako se upladuje

Prilozi:
Informacije o tipu datoteke za:rar  PrimjerBrDocDex.rar
Preuzimanja:349
Velicina datoteke:22.37 KB

↑  ↓

#5 14.05.2012 23:50
dex Van mreze
Super Moderator
Registrovan od:23.02.2012
Postovi:625


Predmet:Re: Generiranje broja dokumenta
Sad je moj red da se zahvalim ZXZ-u jer mi je dao ideju kako da eliminisem polje BrDok i jos uprostim funkciju

Prilozi:
Informacije o tipu datoteke za:rar  PrimjerBrDocDex2.rar
Preuzimanja:366
Velicina datoteke:21.00 KB

↑  ↓

#6 15.05.2012 00:36
dex Van mreze
Super Moderator
Registrovan od:23.02.2012
Postovi:625


Predmet:Re: Generiranje broja dokumenta
Mozda je ipak ispravnije ovo raditi sa max.
Sta ako se neki dokument izbrise?
↑  ↓

#7 15.05.2012 11:20
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Generiranje broja dokumenta
Jeste u pravu si.
Ako ostoji dozvola brisanja onda treba zadnji last umjesto recordcount.
Ja licno ne dozvoljavam brisaje unesenih skoro nikad.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#8 22.11.2012 00:47
denoza Van mreze
Clan
Registrovan od:03.08.2011
Postovi:12


Predmet:Re: Generiranje broja dokumenta
Može li se ovaj primjer od dexxxl malo prilagoditi viÅ¡ekorisničkom sučelju?
↑  ↓

#9 22.11.2012 13:02
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Generiranje broja dokumenta
Nije mi jasno Å¡to misliÅ¡ pod 'Prilagoditi viÅ¡ekorisničkom sučelju'
Ovo kako je, treba dobo raditi u takvom sučelju, jedino Å¡to tablice trebaju biti na serveru i linkovane, a kod koji generira broj dokumenta je na formi kod svakog korisnika.
Pozdrav
↑  ↓

#10 23.11.2012 22:34
denoza Van mreze
Clan
Registrovan od:03.08.2011
Postovi:12


Predmet:Re: Generiranje broja dokumenta
Mislio sam na onu mogućnost da pretpostavimo da 2 korisnika u isto vrijeme odaberu isti dokument.
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +02:00. Trenutno vrijeme: 2: 18 am.