zxz 29.12.2010 23:29
Predmet:Re: Server i Access baza

Pogledat cu ovo tvoje ali ja sam napravio onako kako sam te razumio.
Po meni moze biti greska samo u ovom drugom Query-u pa cu ga opisati a ti reci jeli to to:
"SELECT * FROM tblShemaMontaze " _
& "WHERE IDdijela='" & IdStroja & "' AND Kategorija>" & Kategorija
i vjerovatno je ovdje greska:
IDdijela='" & IdStroja
Da nije obratno da nadje sve one koji imaju u polju idstroja isto i prva u polju iddijela.
onda bi drugi SQL bio:
PreuzmiIzvorni kôd (SQL):
  1. SELECT * FROM tblShemaMontaze " _
  2.     & "WHERE IDStroka='" & dio & "' AND Kategorija>" & Kategorija

Ako je to onda zamijeni Drugi SQL sa ovim.
Sad cu pogledati tvoje.

zxz 29.12.2010 23:50
Predmet:Re: Server i Access baza

Sad vidim da ti ni polja nisu ista pa moramo prvo ovo rijesiti. Ja sam u pocetku kopirao tabelu tblShemaMontaze u Tblshema i pobrisao podatke iz nje.
Sad vidim da tvoja tabela tblshema nema ista polja kao tblShemaMontaze.
Neznam zasto je to tako. Rekao si mi samo da si dodao ID polje autonumber.
Ako kopiras iste redove valjda bi i polja trebala biti ista prvo da to rijesimo.
Ako nisu ista onda koje polje odgovara kojem polju.

zxz 30.12.2010 01:39
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.

pmiroslav 30.12.2010 13:47
Predmet:Re: Server i Access baza

Ovako stoje stvari.
Na dobrom si putu ali pošto imamo 5 kategorija O,1,2,3,4 mislim da treba ima ti 4 petlje.
Jer ako krenemo od Kategorija = 0 i naiđemo na IDstroja = IDdijela pod kategorija = 1, onda moramo gledati dali se opet njemu pripadajući IDdijela pojavljuje u koloni IDstroja i tako provjeriti sve do kategorija = 4

zxz 30.12.2010 13:53
Predmet:Re: Server i Access baza

Netreba ti 5 petlji.
Pretpostavljao sam ja to kada si ti poceo pisati. Kategorije cemo rijesiti time sto cemo na pocetku ubaciti for petlju od 0 do 4. aizbaciti ulazni parametar kategorije.
Samo neznam kako ces rijesiti id stroja. Pretpostavljam da treba i zasve id stroja a ne za jedan i nisi mi odgovorio jel u id stroja prepisujes id dijela.

pmiroslav 30.12.2010 14:57
Predmet:Re: Server i Access baza

Uvjek mora biti prepisan slog iz reda u kojem se petlja nalazi.

Kategorija IDstroja Index IDdijala kom
0 0001528 1 0000001 2 ' prepisat ovo
1 0000001 2 0000005 1 ' prepisat ovo
1 0000001 3 0000006 1 'prepisati
3 0000006 7 0000010 2 'prepisat

itd.

zxz 30.12.2010 15:23
Predmet:Re: Server i Access baza

Da ali sto si ti ono radio kada nadjes red u kojem imas u polju id stroja isti ide kao u prvom iddijela onda si pisao zadani idstroja a ne ovaj koji je bio tu u toj celiji tog nadjenog reda.

pmiroslav 02.01.2011 09:23
Predmet:Re: Server i Access baza

Dobro jutro, evo me ponovno.
Ona kolona IDstroja, može biti i zadani IDstroja, ali bitno je u koloni IDdijela dobiti sve pripadajuće elemente.
Da bi možda bilo jasnije Å¡to meni treba u Attachmentu Å¡aljem moju skraćenu bazu da vidiÅ¡ kako to radi.
Tamo imam tablice:
0_tblKombinacija
1_Stroj
2_Sklop
3_Podskl
4_cvor

i iz njih raznim koninacijama Querya i Funkcija izvlačim podatke koji na kraju budu složeni u tablici ShemaTransfer

Sada sam ja sve podatke iz gore navedenih tablica kopirao u novu tablicu tblShemaMontaze, nadajući se da će se iz tejedna tablice na jednostavniji način moči izvuči podaci u tablicu tblShema u kojoj bi trebali biti isti bodaci kao u staroj tablici tblShemaMontaze.
Prilozi:
Proces.rar (Velicina datoteke:285.76 KB)

zxz 02.01.2011 12:38
Predmet:Re: Server i Access baza

Da vidim jesmo li se razumjeli.
Ti hoces kada odaberes neki stroj da sve njegove elemente sklopove podsklopove cvorove itd.. iz ovih tablice prebacis u neku novu tabelu.

pmiroslav 02.01.2011 13:06
Predmet:Re: Server i Access baza

To hoču.
Ali i kada odaberem samo sklop da onda dobijem njegove elemente
ili odaberem samo podsklop pa dobijem njegove elemente.

tblKombinacija mi služi da mogu lansirati naloge za više strijeva odjednom.