Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Access » Prenumeriranje u tabeli
miro35 15.09.2010 11:24
Predmet:Prenumeriranje u tabeli

Imam jednu tabelu koja se zove "tblMaticniList". U njoj imam polje koje se zove "MatBroj".Ti brojevi koji se nalaze u toj tabeli su npr. 152/10,156/10, 175/10 itd.. Ja na kraju godine trebam da ove brojeve pretvorim u 001/11,002/11,003/11 itd...Primjetili ste da je ovo /11 godina 2011. Ali ovo trebam da pretvorim samo za određeni odjel.Znači imam kolonu "SifOdjel",i za svaki odjel trebam izvrÅ¡it prenumeriranje.Evo primjer tabele:
Prilozi:
db1.rar (Velicina datoteke:8.92 KB)

miro35 15.09.2010 12:40
Predmet:Re: Prenumeriranje u tabeli

Ja postavljam pitanja i ja odgovaram Smiling Evo uspio sam nešto sam:
PreuzmiIzvorni kôd (Text):
  1. Dim db As DAO.Database
  2. Set db = CurrentDb()
  3. Dim DB1 As DAO.Database
  4. Set DB1 = CurrentDb()
  5. Dim DB2 As DAO.Database
  6. Set DB2 = CurrentDb()
  7. Dim DB3 As DAO.Database
  8. Set DB3 = CurrentDb()
  9. Dim DB4 As DAO.Database
  10. Set DB4 = CurrentDb()
  11. Dim rs As DAO.Recordset
  12. Dim rs1 As DAO.Recordset
  13. Dim rs2 As DAO.Recordset
  14. Dim rs3 As DAO.Recordset
  15. Dim rs4 As DAO.Recordset
  16. Dim racun1
  17. Dim racun2
  18.  
  19. Dim strSQL As String
  20. Dim strSQL1 As String
  21. Dim strSQL2 As String
  22. Dim strSQL3 As String
  23. Dim strSQL4 As String
  24. strSQL2 = "SELECT * FROM tblMaticniList  WHERE [SifSluzba]='" & Me.SifSluzba & "'"
  25.       Set rs2 = DB2.OpenRecordset(strSQL2, dbOpenDynaset)
  26.       With rs2
  27.     .MoveFirst
  28.     racun = rs2!MatBroj
  29.     'If (racun = Null) Then
  30.     racun = Right("0001", 4)
  31.     'Else
  32.     'racun = Right("00000" & (racun + 1), 5)
  33.     'End If
  34.     Do While Not .EOF
  35.        
  36.     rs2.Edit
  37.             rs2!MatBroj = racun & "/" & Me.Godina
  38.             rs2.Update
  39.           racun = Format$(CInt(racun + 1), "0000")
  40.        
  41.    rs2.MoveNext
  42.   Loop
  43.   End With
  44.  
  45. rs2.Close
  46. DB2.Close
  47. Set rs2 = Nothing
  48. Set DB2 = Nothing
  49. 'End If
  50. 'Me.List11.Requery

zxz 15.09.2010 13:55
Predmet:Re: Prenumeriranje u tabeli

Nisam citao tvoj kod ali prvo da vidim dali mi je jasno sta hoces.
Znaci numeracija bi isla po grupama a grupe su SifOdjel.
Za svaki odjel kretalo bi se od 001 pa nadalje.
I sad vjerovatno to radis za prenosenje podataka na neku drugu aplikaciju ili ista ali radi u drugom odjelu.
Ako je to tako najbolje bi bilo napraviti to u Query-ju pri exportu podataka.
Nemas potrebe to cuvati u ovjo bazi ili mozda imas.

miro35 16.09.2010 08:56
Predmet:Re: Prenumeriranje u tabeli

Tako je prije prenoÅ¡enja podataka ja sam već snimio bazu pod staru godinu i sad ovo radim na postojećoj bazi.Znači prvo apendujem podatke iz "tblMaticniList" u tabelu "tblInventura". Onda u toj tabeli tblInventura radim prenumeriranje po odjelima "SifOdjel",znači za svaki odjel recimo "001" odjel on treba da dodjeli brojeve 0001/11 , 0002/11 itd.. s tim da je ovo "/11" ako je 2011 godina.Onda tako za sljedeći odjel recimo "002" odjel isto 0001/11 , 0002/11 itd... i normalno koliko redova nađe u tabeli za svaki odjel toliko dodijeli brojeva.S ovom funkcijom sam uspio:Evo skratiću malo pa da vidite.
PreuzmiIzvorni kôd (Text):
  1. Private Sub Command0_Click()
  2. Dim strSQL2 As String
  3. Dim rs2 As DAO.Recordset
  4. Dim DB2 As DAO.Database
  5. Set DB2 = CurrentDb()
  6. Dim racun
  7. strSQL2 = "SELECT * FROM tblMaticniList  WHERE [SifSluzba]='" & Me.SifSluzba & "'"
  8.       Set rs2 = DB2.OpenRecordset(strSQL2, dbOpenDynaset)
  9.       With rs2
  10.     .MoveFirst
  11.     racun = rs2!MatBroj
  12.  
  13.     racun = Right("0001", 4)
  14.    
  15.     Do While Not .EOF
  16.      
  17.     rs2.Edit
  18.             rs2!MatBroj = racun & "/" & Me.Godina
  19.             rs2.Update
  20.  
  21.        racun = Format$(CInt(racun + 1), "0000")
  22.  
  23.    rs2.MoveNext
  24.  
  25.   Loop
  26.  
  27.   End With
  28.  
  29. rs2.Close
  30. DB2.Close
  31. Set rs2 = Nothing
  32. Set DB2 = Nothing
  33. End Sub

zxz 16.09.2010 09:03
Predmet:Re: Prenumeriranje u tabeli

Ja bih ti samo preporucio da napravis novo polje te u njega to upisujes jer ako nesto podje po zlu da imas i stari sifarnik.
Ukoliko ce doci do problema sa koristenjem aplikacije onda nove podatke zadrzi u starom polju a stare prepisi napr. u polje 'veza'.
Vidim da baratas kodom pa mislim da nema potrebe pisati kod.
Ti ces to odraditi.
Sa kljucem nikad dosta opreznosti.