Shvatio sam kako su podaci smješteni i kako to funkcionira.Vidim da nije bitan redosljed unosa a sortiranje sam riješio na sljedeći način.
click na command buton pooziva proceduru sort().
Prvo sam sortirao tablicu "strana" gdje su mi podaci(razlicito uneseni-datumi).Zatim sam klonirao tako sortirani tablicu set tb1=me.recordsetclone .
Zati sam unutar petlje do..while napravio upit koji uspoređuje ID u tb1(sortiranoj tablici)i tb3(unesenoj tablici) ,kad naiđe na jednakost mjenja redni broj u tablici .edit .update,uvećava redni broj za jedan i prelazi na sljedeći zapis u tb1(kloniranoj sortiranoj tablici).
Kad se upit izvrši dobivam sortirane podatke po "datumu izdavanja" i pridodane redne brojeve od najmanjeg prema najvećem.
A brojčanik postavlja na zadnji,tako da prilikom novog unosa uzima sljedeći iz tablice "parameteri".
Na kraju radi requery(ne znam dali može refresh)podataka!
STO JE BOLJE I KAD KORISTIT REFRESH A KADA REQUERY!
Hvala svima na trudu a ako tko može neka iskoristi i ovaj kod.Nije nešto ali funkcionira i može ga se još nadogradit
Public Function fsort()
Dim db3 As DAO.Database, tb1, tb3, tb As DAO.Recordset, br As Integer
rem definiranje tablica
Set db3 = CurrentDb
Set tb3 = db3.OpenRecordset("StranaA")
Set tb = db3.OpenRecordset("parametri")
Rem prvo sortira po datumu izdavanja
Me.OrderBy = "datum_izdavanja"
Me.OrderByOn = True
Rem klonira sortiranu tabelu
Set tb1 = Me.RecordsetClone
tb3.MoveFirst
tb.MoveFirst
tb1.MoveFirst
Rem dodijeljivanje rednog broja kloniranoj tablici i
Rem zapisivanje u postojeæu iz me u tb3
br = 0
Do While Not tb1.EOF
br = br + 1
Rem MsgBox "ovo je broj u tb1 " & tb1!ID
Do While Not tb3.EOF
Rem MsgBox "ovo je broj u tb3 " & tb3!ID
If tb1!ID = tb3!ID Then
With tb3
tb3.Edit
tb3!broj = br
tb3.Update
End With
End If
tb3.MoveNext
Loop
tb3.MoveFirst
tb1.MoveNext
Loop
tb3.Close
Rem postavka brojaèa na najveæi trenutni broj
tb.Edit
tb!redbr = br
tb.Update
tb.Close
db3.Close
tb1.Close
Forms![GMASKA].Requery
End Function
romano