Prikazi cijelu temu 30.12.2010 01:39
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


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):
  1. Function PrenesiPod(Kategorija As Integer, IdStroja As String)
  2. 'Ulaz kategorija= 1 i idstroja=0008239
  3. Dim Db As Database
  4. Dim Rs1 As Recordset
  5. Dim Rs2 As Recordset
  6. Dim Rs3 As Recordset
  7. Dim SQL As String
  8. Dim Dio As String
  9. Dim I As Integer
  10. Dim BrojKolona As Integer
  11.  
  12.  
  13. Set Db = CurrentDb 'set baze
  14. SQL = "SELECT * FROM tblShemaMontaze " _
  15.     & "WHERE kategorija=" & Kategorija & "  AND IDstroja='" & IdStroja & "'"
  16. ' gdje je kategorija=1 i idstroja=0008239 iz tabele  tblShemaMontaze
  17. Set Rs1 = Db.OpenRecordset(SQL) 'Podigni Rs1 sa gore navedenim SQL-om
  18. Set Rs3 = Db.OpenRecordset("tblShema")'POdigni u Rs3 tabelu tblShema
  19. BrojKolona = Rs1.Fields.Count 'Prebroj polja u Tabeli  tblShemaMontaze
  20. Do While Not Rs1.EOF 'Pocetak petlje sa rs1
  21. Dio = Rs1!IdDijela ' upisi u mem. dio iz polja IdDijela
  22. Rs3.AddNew ' Novi upis u tabelu tblshema
  23.        For I = 1 To BrojKolona ' broj od 1 do broja polja u tabeli  tblShemaMontaze
  24.        Rs3.Fields(I) = Rs1.Fields(I - 1) ' prepisi polje iz tabele  tblShemaMontaze u tabelu tblShema
  25. 'Posto ova tabela ima jednu kolonu vise onda zapisujem kolonu nula iz  tblShemaMontaze u kolonu 1
  26. 'Prva je autonumber
  27.        Next I
  28. Rs3.Update 'zapisi
  29. SQL = "SELECT * FROM tblShemaMontaze " _
  30.      & "WHERE IDstroja='" & Dio & "' AND kategorija>" & Kategorija
  31. 'selktuj iz tabele  tblShemaMontaze sve koji imaju u polju Idstroja vrijednost koju ima rs1 u polju 'IDDijela i da je kategorija veca od 1
  32. Set Rs2 = Db.OpenRecordset(SQL) podigni rs2 sa gornjim sql-om
  33. Do While Not Rs2.EOF ' petlja druga
  34.        Rs3.AddNew
  35.         For I = 1 To BrojKolona
  36.         Rs3.Fields(I) = Rs2.Fields(I - 1) ' ovo je sve isto kao i gore
  37. 'Predpostavljam da ovdje treba mozda upisati u polje idstroja zadani idstroja a ne postojeci
  38.        Next I
  39. Rs3.Update' zapisi
  40. Rs2.MoveNext 'pomakni za jedan red rs2
  41. Loop 'Kraj druge petlje
  42. Rs2.Close  zatvori rs2 koji se motao u drugoj petlji
  43. Rs1.MoveNext 'pomakni rs1 za jedan red
  44. Loop 'kraj prve petlje
  45. Rs1.Close
  46. Rs3.Close
  47. Set Db = Nothing
  48. 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.