Centar za edukaciju-BiH



#21 17.12.2010 17:25
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Autonumber se ponavlja
Ok. Cini mi se da ti je getsbi vec dao kod za to.
Sada dolazi ono do pocetka kako ovaj kljuc zamijeniti za stari. Prvo u osnovnoj tabeli dodas jedno polje.
Najbolje tekstualno sa napr 8 cifara i onda treba naprabiti kod da se unesu cifre od:000000001 pa na dalje.
Ako pak neces tekst onda ti stavljaj brojeve 1 do...
Neznam hoces li ovaj kod pokusati sam napraviti a za prenos u ostale ja cu ti napraviti kada to zavrsis.
Znas racunar bolje i brze radi ako je kljuc string nego broj a ti kako hoces.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#22 17.12.2010 18:59
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Autonumber se ponavlja
Evo napravio sam neÅ¡to za brojeve iako se i meni čini elegantije da to bude string ali neznam kako to napraviti.
Kako do sada u tablici imam 40.000 slogova mislim da će biti dovoljna 7 cifrena Å¡ifra i volio bih da bude u obliku
0000001, 0000002 itd.

Prilozi:
Informacije o tipu datoteke za:rar  PrimjerID_2.rar
Preuzimanja:173
Velicina datoteke:78.26 KB


Pozdrav
↑  ↓

#23 17.12.2010 19:40
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Autonumber se ponavlja
Prvo ID_String stavi da ima samo 8 karaktera.
Indeksiraj polje da nema duplikata
Iskljuci aktivx ili adoako ga ne koristis jer ima dao.

Stavi ovaj kod u neki modul i pokreni:
PreuzmiIzvorni kôd (Visual Basic):
  1. Function OnisiID()
  2. Dim Db As Database
  3. Dim Rs As Recordset
  4. Dim Sql As String
  5. Dim I As Single
  6. Dim IStr As String * 8
  7.  
  8. Sql = "SELECT PROCES.ID_String FROM PROCES"
  9.  
  10. Set Db = CurrentDb
  11. Set Rs = Db.OpenRecordset(Sql)
  12. Rs.MoveFirst
  13. Do While Not Rs.EOF
  14. I = I + 1
  15. IStr = Format(I, "00000000")
  16. Rs.Edit
  17. Rs.Fields(0) = IStr
  18. Rs.Update
  19. Rs.MoveNext
  20. Loop
  21. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#24 17.12.2010 19:45
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Autonumber se ponavlja
Ako ovo gore prodje kako valja onda uradi sledece:

Postavi na formi za unos polje ID_String. Mozes ga napraviti nevidljivim tako da ti sve ostane isto.
Na on Current forme stavi ovaj kod:
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub Form_Current()
  2. Dim Db As Database
  3. Dim Rs As Recordset
  4. Dim Sql As String
  5. Dim IDstr As String * 8
  6. Dim IDBroj As Single
  7.  
  8. Sql = "SELECT Last(PROCES.ID_String) AS LastOfID_String " _
  9.      & "FROM PROCES"
  10.  
  11. Set Db = CurrentDb
  12. Set Rs = Db.OpenRecordset(Sql)
  13. If Rs.Fields(0) <> "" Then
  14. IDBroj = Val(Rs.Fields(0))
  15. End If
  16. IDBroj = IDBroj + 1
  17. IDstr = Format(IDBroj, "00000000")
  18. Me.ID_String.DefaultValue = IDstr
  19. Rs.Close
  20. Set Db = Nothing
  21. End Sub

Ovo ostavi ovako da par dana radi da mozes pratiti da je sve uredu.
Onda ces napraviti ovo polje u svim tabelama koje su sad vezane za ovu.
Napravit cemo kod da prenese ovaj novi kljuc.
Raskines stru rel vezu te vezes reaciono ovim kljucem i to je to.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#25 17.12.2010 20:53
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Autonumber se ponavlja
Evo napravio sam tako, ali mi se Å¡ifra ne upisuje u formatu 0000001 več kao običan broj 1, 2 itd

Prilozi:
Informacije o tipu datoteke za:rar  PrimjerID_3.rar
Preuzimanja:171
Velicina datoteke:81.12 KB


Pozdrav
↑  ↓

#26 17.12.2010 21:02
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Autonumber se ponavlja
Pobrisi format na polju u tabeli i popravi ovo ja sam pogrijesio.
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub Form_Current()
  2. Dim Db As Database
  3. Dim Rs As Recordset
  4. Dim Sql As String
  5. Dim IDstr As String * 8
  6. Dim IDBroj As Single
  7.  
  8. Sql = "SELECT Last(PROCES.ID_String) AS LastOfID_String " _
  9.      & "FROM PROCES"
  10.  
  11. Set Db = CurrentDb
  12. Set Rs = Db.OpenRecordset(Sql)
  13. If Rs.Fields(0) <> "" Then
  14. IDBroj = Val(Rs.Fields(0))
  15. End If
  16. IDBroj = IDBroj + 1
  17. IDstr = Format(IDBroj, "00000000")
  18. 'ovo popravi:
  19. Me.ID_String.DefaultValue = "'" & IDstr & "'"
  20. Rs.Close
  21. Set Db = Nothing
  22. End Sub

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#27 17.12.2010 23:13
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Autonumber se ponavlja
Ispravio sam funkciju kako si rekao i primječujem da mi se sada popuni tablica ali polje u formi ostaje prazno, pa to malo zbunjuje.
Pozdrav
↑  ↓

#28 17.12.2010 23:17
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Autonumber se ponavlja
Mozda imas format na polju. To sam probao kada si drugi puta poslao i sve radi.
Mada ti to polje i nemora biti vidljivo.
Ako ne uspijes zakaci opet.
.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#29 17.12.2010 23:31
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Autonumber se ponavlja
Nemam format na polju, ali ipak ne radi.
JoÅ¡ me zanima Å¡to će se desiti ako pronjenim ID polje u glavnoj tablici, a u aplikaciji ima puno Querya u kojima su postavljene veze na postojeće ID polje. Pa isto tako sa formama koje su vezane za tu tablicu. A ima i dosta funkcija koje se pozivaju na taj ID.

Prilozi:
Informacije o tipu datoteke za:rar  PrimjerID_4.rar
Preuzimanja:173
Velicina datoteke:79.77 KB


Pozdrav
Ovaj post je ureden 1 puta. Posljednja izmjena 17.12.2010 23:33 od strane pmiroslav. ↑  ↓

#30 17.12.2010 23:41
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Autonumber se ponavlja
Vjerovatno mislis na tvoj autonumber.
neznam kakve funkcije imas jer on se automatski upisivao. Mozda na after update.
Svejedno sve funkcije mozes prenijeti na ovo novo polje kada zazivi.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (6):1,2,3,4,5,6

Sva vremena su GMT +02:00. Trenutno vrijeme: 10: 43 pm.