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 Evo uspio sam neÅ¡to sam:PreuzmiIzvorni kôd (Text):Dim db As DAO.Database
Set db = CurrentDb()
Dim DB1 As DAO.Database
Set DB1 = CurrentDb()
Dim DB2 As DAO.Database
Set DB2 = CurrentDb()
Dim DB3 As DAO.Database
Set DB3 = CurrentDb()
Dim DB4 As DAO.Database
Set DB4 = CurrentDb()
Dim rs As DAO.Recordset
Dim rs1 As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim rs3 As DAO.Recordset
Dim rs4 As DAO.Recordset
Dim racun1
Dim racun2
Dim strSQL As String
Dim strSQL1 As String
Dim strSQL2 As String
Dim strSQL3 As String
Dim strSQL4 As String
strSQL2 = "SELECT * FROM tblMaticniList WHERE [SifSluzba]='" & Me.SifSluzba & "'"
Set rs2 = DB2.OpenRecordset(strSQL2, dbOpenDynaset)
With rs2
.MoveFirst
racun = rs2!MatBroj
'If (racun = Null) Then
racun = Right("0001", 4)
'Else
'racun = Right("00000" & (racun + 1), 5)
'End If
Do While Not .EOF
rs2.Edit
rs2!MatBroj = racun & "/" & Me.Godina
rs2.Update
racun = Format$(CInt(racun + 1), "0000")
rs2.MoveNext
Loop
End With
rs2.Close
DB2.Close
Set rs2 = Nothing
Set DB2 = Nothing
'End If
'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):Private Sub Command0_Click()
Dim strSQL2 As String
Dim rs2 As DAO.Recordset
Dim DB2 As DAO.Database
Set DB2 = CurrentDb()
Dim racun
strSQL2 = "SELECT * FROM tblMaticniList WHERE [SifSluzba]='" & Me.SifSluzba & "'"
Set rs2 = DB2.OpenRecordset(strSQL2, dbOpenDynaset)
With rs2
.MoveFirst
racun = rs2!MatBroj
racun = Right("0001", 4)
Do While Not .EOF
rs2.Edit
rs2!MatBroj = racun & "/" & Me.Godina
rs2.Update
racun = Format$(CInt(racun + 1), "0000")
rs2.MoveNext
Loop
End With
rs2.Close
DB2.Close
Set rs2 = Nothing
Set DB2 = Nothing
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. |