Predmet:Re: Server i Access baza
Evo slozi polja u TblsHema ovako:
id
Kaegorija
IdStroja
Index
IdDijela
KomStr
Ovo zadnje nadam se da je broj komada
Procedura:
PreuzmiIzvorni kôd (Visual Basic):Function PrenesiPod(Kategorija As Integer, IdStroja As String)
'Ulaz kategorija= 1 i idstroja=0008239
Dim Db As Database
Dim Rs1 As Recordset
Dim Rs2 As Recordset
Dim Rs3 As Recordset
Dim SQL As String
Dim Dio As String
Dim I As Integer
Dim BrojKolona As Integer
Set Db = CurrentDb 'set baze
SQL = "SELECT * FROM tblShemaMontaze " _
& "WHERE kategorija=" & Kategorija & " AND IDstroja='" & IdStroja & "'"
' gdje je kategorija=1 i idstroja=0008239 iz tabele tblShemaMontaze
Set Rs1 = Db.OpenRecordset(SQL) 'Podigni Rs1 sa gore navedenim SQL-om
Set Rs3 = Db.OpenRecordset("tblShema")'POdigni u Rs3 tabelu tblShema
BrojKolona = Rs1.Fields.Count 'Prebroj polja u Tabeli tblShemaMontaze
Do While Not Rs1.EOF 'Pocetak petlje sa rs1
Dio = Rs1!IdDijela ' upisi u mem. dio iz polja IdDijela
Rs3.AddNew ' Novi upis u tabelu tblshema
For I = 1 To BrojKolona ' broj od 1 do broja polja u tabeli tblShemaMontaze
Rs3.Fields(I) = Rs1.Fields(I - 1) ' prepisi polje iz tabele tblShemaMontaze u tabelu tblShema
'Posto ova tabela ima jednu kolonu vise onda zapisujem kolonu nula iz tblShemaMontaze u kolonu 1
'Prva je autonumber
Next I
Rs3.Update 'zapisi
SQL = "SELECT * FROM tblShemaMontaze " _
& "WHERE IDstroja='" & Dio & "' AND kategorija>" & Kategorija
'selktuj iz tabele tblShemaMontaze sve koji imaju u polju Idstroja vrijednost koju ima rs1 u polju 'IDDijela i da je kategorija veca od 1
Set Rs2 = Db.OpenRecordset(SQL) podigni rs2 sa gornjim sql-om
Do While Not Rs2.EOF ' petlja druga
Rs3.AddNew
For I = 1 To BrojKolona
Rs3.Fields(I) = Rs2.Fields(I - 1) ' ovo je sve isto kao i gore
'Predpostavljam da ovdje treba mozda upisati u polje idstroja zadani idstroja a ne postojeci
Next I
Rs3.Update' zapisi
Rs2.MoveNext 'pomakni za jedan red rs2
Loop 'Kraj druge petlje
Rs2.Close zatvori rs2 koji se motao u drugoj petlji
Rs1.MoveNext 'pomakni rs1 za jedan red
Loop 'kraj prve petlje
Rs1.Close
Rs3.Close
Set Db = Nothing
End Function
Evo ova ti procedura radi ono sto si na slici pokazao a i opisao sam ti svaki korak.
Jedino sto pretpostavljam da se prepisuje zadani idstroja gdje nadje da je id dijela jednak idstroja.
Ako si ti u svom query da ovaj isti uslov onda ti nije dobar query jer imas viska podataka u njemu.
Imas 27 podataka koji zadovoljavaju uslov po ulaznim parametrima
i imas jos 57 onih koji imaju iz ovih 27 iddijela upisan u idstroja
to je ukupno 84.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.