Option Compare Database Option Explicit Type Imena Pt As String 'Imepomone tabele Pt_Kljuc As String 'Klju za pod tabelu Pdt As String 'Imepod tabele Pdt_Kljuc As String 'Klju u pod tabeli Pt_Podatak As Integer 'Podatak klju a u pomonoj tabeli End Type Dim Db As DAO.Database Dim RsTemp As DAO.Recordset Function Popuni() Dim Rs As DAO.Recordset Dim SQL As String, SQLTemp As String Dim ID As Integer SQL = "SELECT * FROM tblMain" SQLTemp = "SELECT * FROM tblTemp" Set Db = CurrentDb Set Rs = Db.OpenRecordset(SQL) Do While Not Rs.EOF ID = Rs!Id_Main Set RsTemp = Db.OpenRecordset(SQLTemp) RsTemp.AddNew RsTemp!No = Rs!Broj_Dokumenta RsTemp!Datum_Ukladanja = Rs!Datum_Ukladanja RsTemp!Godina_kad_je_verovatno_stvoren = Rs!Godina_kad_je_verovatno_stvoren RsTemp!Datum_kad_je_verovatno_stvoren = Rs!Datum_kad_je_verovatno_stvoren RsTemp!Naziv = Rs!Naziv RsTemp!Opis = Rs!Opis RsTemp!Sacuvan = Rs!Lock RsTemp!Id_Main = ID RsTemp.Update RsTemp.Close Pomocne_Tabele ID Rs.MoveNext Loop End Function Sub Pomocne_Tabele(ID As Integer) Dim Rs As DAO.Recordset, RsPom As DAO.Recordset, Rsdod As DAO.Recordset Dim SQL As String, SQLPom As String, SQLDod As String, SQLTemp As String Dim IP As Imena Dim Broj_Polja As Integer, I As Integer, N As Integer, N1 As Integer Dim ImePolja As String N1 = 1 SQLTemp = "SELECT * FROM tblTemp WHERE ID_Main=" & ID SQL = "SELECT * FROM tblTabele" Set RsTemp = Db.OpenRecordset(SQLTemp) Set Rs = Db.OpenRecordset(SQL) Do While Not Rs.EOF IP.Pdt = Rs.Fields(3) IP.Pt = Rs.Fields(1) IP.Pt_Kljuc = Rs.Fields(2) IP.Pdt_Kljuc = Rs.Fields(4) '************************* 'Pomona tabela '************************* RsTemp.MoveFirst SQLPom = "SELECT * FROM " & IP.Pt & " WHERE ID_Main=" & ID Set RsPom = Db.OpenRecordset(SQLPom) N = RsPom.RecordCount If N > 0 Then RsPom.MoveLast RsPom.MoveFirst N = RsPom.RecordCount End If REKORD: If N1 < N Then RsTemp.AddNew RsTemp.Update N1 = RsTemp.RecordCount GoTo REKORD End If RsTemp.MoveFirst Do While Not RsPom.EOF RsTemp.Edit IP.Pt_Podatak = RsPom(IP.Pt_Kljuc) SQLDod = "SELECT * FROM " & IP.Pdt & " WHERE " & IP.Pdt_Kljuc & "=" & IP.Pt_Podatak Set Rsdod = Db.OpenRecordset(SQLDod) Broj_Polja = Rsdod.Fields.Count - 1 For I = 1 To Broj_Polja ImePolja = Rsdod.Fields(I).Name RsTemp(ImePolja) = Format$(Rsdod.Fields(I)) Next I Rsdod.Close RsPom.MoveNext RsTemp.Update RsTemp.MoveNext Loop Rs.MoveNext RsTemp.MoveFirst Loop RsPom.Close End Sub