Centar za edukaciju-BiH



#31 29.12.2010 13:13
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Server i Access baza
Tako je, misli se na sifre Kategorija
Pozdrav
↑  ↓

#32 29.12.2010 14:30
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Server i Access baza
Nemogu da te skontam sta hoces.
Citat:
Treba Izabrati odtređenu kategoriju, recimo 1 i određeni IDstroja recimo 0005899 i na temelju tog izbora treba u drugu tablicu prenijeti IDstroja;IndexSklop; IDdijela i Kom ali tako da ako se u koloni IDstroja naiđemo na Å¡ifru koja je indentična Å¡ifri IDdijela, a kategorija je veča od izabrane kategorija onda treba dopisati i te pripadajuće podatke u kolonu iDdijela

dao si mi tabelu tblshema.
Pretpostavljam kada kazes kategorija da je to ID polje. Recimo ako je to tako.
Citat:
Teba Izabrati odtređenu kategoriju, recimo 1 i određeni IDstroja recimo 0005899
meni to znaci da idem po redu iz ove tabele i citam podatke odnosno sve redove jer napisao si "recimo" sto pretpostavljam da ces utezi ovaj uvjet pa poslije sledeci itdd. znaci sve kombinacije koje imaju u tabeli.
Naime mogu ti napraviti da ovo dvoje budu ulazni parametri i onda ce se odnostit samo na taj red podataka odnosno red koji zadovoljava ulazne parametre.
Citat:
i na temelju tog izbora treba u drugu tablicu prenijeti IDstroja;IndexSklop; IDdijela i Kom
Ovo bi mozda i imalo smisla da je izbor iz druge tablice ali iz iste ako ides red po red prepisat ces sve podatke iz postojece.

Citat:
ali tako da ako se u koloni IDstroja naiđemo na Å¡ifru koja je indentična Å¡ifri IDdijela, a kategorija je veča od izabrane kategorija onda treba dopisati i te pripadajuće podatke u kolonu iDdijela

Treba dopisati podatke u kolonu to sam te vec pitaio sta ti to znaci. kolonaza odredjeni red ima samo ednu celiju ili si mislio na red.

Moras konkretno pisati inace necemo ovo zavrsiti.

tabela ta i ta i uslov u njoj taj i taj.
Polja po imenima red kolona celija.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#33 29.12.2010 15:09
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Server i Access baza
1. u "tblShema" koju sam dao Prva kolona ID je samo Autonumber koji me možda treba kasnije i ne treba te opterečivati.

2.Iz "tblShemaMontaze" treba uzdvojiti podatke po slijedećem kriteriju.

Odaberem da mi treba shema za Stroj to znači da se na početku uzimaju u obzir samo podaci iz kolone IDstroja ispred kojih je u koloni "Kategorija" broj 1.
Zatim odaberem o kojem se stroju radi i odaberem njegov IDstroja npr."0008239"
Sada Funkcija treba krenuti od prvog reda u tblShemaMonaze i preskakati sve redove dok ne dođe do reta u kojem je
Kategorija = 1 i IDstroja = 0008239
i sada sve podatke iz tog reda kopirati u tblShema

tblShema.ID = Autonumber
tblShema.IDstroja = tblshemaMontaze.IDstroja
tblShema.KomStr = tblshemaMontaze.kom
tblShema.Kategorija = tblshemaMontaze.Kategorija
tblShema.Index = tblshemaMontaze.indeXSklop '(sluzi samo za sortiranje)
tblShema.komStr = tblshemaMontaze.kom

i sada tako kopirati redom sve dok je kategorija = 1 i IDstroja = 0008239

Kada funkcija naiđe na IDdijela koji postoji i u koloni IDStroja, ali da je Kategorija veča od na početku izabrane kategotije, podatke iz tog reda nastaviti kopirati u istu tablicu i u ista polja sve dok postoji taj pronađeni IDdijela.

Nakon toga vratiti se na prvi uvjet i tako do kraja.
Pozdrav
↑  ↓

#34 29.12.2010 15:38
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Server i Access baza
Evo i još jedna slika da dodatno pojasnim

Slicice prilozenih slika:
Image3.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:204
Velicina datoteke:258.69 KB
Velicina slike: 508 x 1446 Pikseli


Pozdrav
↑  ↓

#35 29.12.2010 15:53
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Server i Access baza
Evo procedura.
ulazni parametri su Kategorija i Id stroja kao sto si i naveo uslov.
PreuzmiIzvorni kôd (Visual Basic):
  1. Function PrenesiPod(Kategorija As Integer, IdStroja As String)
  2. Dim Db As Database
  3. Dim Rs1 As Recordset
  4. Dim Rs2 As Recordset
  5. Dim Rs3 As Recordset
  6. Dim SQL As String
  7. Dim Dio As Integer
  8. Dim I As Integer
  9. Dim BrojKolona As Integer
  10.  
  11.  
  12. Set Db = CurrentDb
  13. SQL = "SELECT * FROM tblShemaMontaze " _
  14.     & "WHERE kategorija=" & Kategorija & "  AND IDstroja='" & IdStroja & "'"
  15.  
  16. Set Rs1 = Db.OpenRecordset(SQL)
  17. Set Rs3 = Db.OpenRecordset("tblShema")
  18. BrojKolona = Rs1.Fields.Count
  19. Do While Not Rs1.EOF
  20. Dio = Rs1!IdDijela
  21. Rs3.AddNew
  22.         For I = 1 To BrojKolona
  23.         Rs3.Fields(I) = Rs1.Fields(I - 1)
  24.         Next I
  25. Rs3.Update
  26. SQL = "SELECT * FROM tblShemaMontaze " _
  27.      & "WHERE IDdijela='" & IdStroja & "' AND kategorija>kategorija"
  28. Set Rs2 = Db.OpenRecordset(SQL)
  29. Do While Not Rs2.EOF
  30.         Rs3.AddNew
  31.         For I = 1 To BrojKolona
  32.         Rs3.Fields(I) = Rs1.Fields(I - 1)
  33.         Next I
  34. Rs3.Update
  35. Rs2.MoveNext
  36. Loop
  37. Rs2.Close
  38. Rs1.MoveNext
  39. Loop
  40. Rs1.Close
  41. Rs3.Close
  42. Set Db = Nothing
  43. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#36 29.12.2010 21:02
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Server i Access baza
Nažalost joÅ¡ uvjek se ne razumjemo. Ovo Å¡to si mi dao bilo bi prejednostavno. To će napraviti i Query

SELECT tblShemaMontaze.*
FROM tblShemaMontaze
WHERE (((tblShemaMontaze.kategorija)=1) AND ((tblShemaMontaze.IDstroja)="0008239"));

Jer su kopirani samo slogovi kojima je Kategorija = Početno upisanoj vrijednosti i ID stroja = Početno upisanoj vrijednosti.
Mi moramo pregledavati u kompletnoj tablici tblShemaMontaze, a ne u query-u gdje su podaci več filtrirani.

Idemo još jedanput.

1. U nekoj formi trebamo odabrati Kategoriju i ID stroja
2. Treba pokrenuti Funkciju koja će u tablici "tblShemaMontaze" pronači slog koji zadovoljava taj uvjet i kopirati taj slog u novu tablicu.
2. Sada provjeriti dali IDdijela iz tog sloga postoji bilo gdje u koloni IDstroja,
3. Ako Ne onda kopirati slijedeći slog u novu tablicu.
4. Ako DA onda otiči na slog gdje je pronađen IDdijela = IDstroja i kopirati taj slog u novu tablicu.
5 Ponovno provjeriti dali IDdijela iz tog sloga postoji bilo gdje u koloni IDstroja
itd.
Pozdrav
Ovaj post je ureden 1 puta. Posljednja izmjena 29.12.2010 21:05 od strane pmiroslav. ↑  ↓

#37 29.12.2010 22:40
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Server i Access baza
Nisi u pravu nisi vidio ovo:
SQL = "SELECT * FROM tblShemaMontaze " _
& "WHERE IDdijela='" & IdStroja & "' AND kategorija>kategorija"

Znaci prvi puta kopira red gdje je zadovoljen uslov iz ulaznih parametara.
Drugi rs podize bazu gdje zadovoljava uslov iddijela=idstroja ali samo ovog rekorda iz prvog rs-a
kada dodje na drugi slog prvog opet provjerava itd.

Mozda negdje ima greska necu reci ali tako radi.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#38 29.12.2010 22:47
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Server i Access baza
Da ima greska u Drugom SQL-u
PreuzmiIzvorni kôd (SQL):
  1. SQL = "SELECT * FROM tblShemaMontaze " _
  2.      & "WHERE IDdijela='" & IdStroja & "' AND Kategorija>" & Kategorija

evo ispravljeno:

PreuzmiIzvorni kôd (Visual Basic):
  1. Function PrenesiPod(Kategorija As Integer, IdStroja As String)
  2. Dim Db As Database
  3. Dim Rs1 As Recordset
  4. Dim Rs2 As Recordset
  5. Dim Rs3 As Recordset
  6. Dim SQL As String
  7. Dim Dio As Integer
  8. Dim I As Integer
  9. Dim BrojKolona As Integer
  10.  
  11.  
  12. Set Db = CurrentDb
  13. SQL = "SELECT * FROM tblShemaMontaze " _
  14.     & "WHERE kategorija=" & Kategorija & "  AND IDstroja='" & IdStroja & "'"
  15.  
  16. Set Rs1 = Db.OpenRecordset(SQL)
  17. Set Rs3 = Db.OpenRecordset("tblShema")
  18. BrojKolona = Rs1.Fields.Count
  19. Do While Not Rs1.EOF
  20. Dio = Rs1!IdDijela
  21. Rs3.AddNew
  22.         For I = 1 To BrojKolona
  23.         Rs3.Fields(I) = Rs1.Fields(I - 1)
  24.         Next I
  25. Rs3.Update
  26. SQL = "SELECT * FROM tblShemaMontaze " _
  27.      & "WHERE IDdijela='" & IdStroja & "' AND Kategorija>" & Kategorija
  28. Set Rs2 = Db.OpenRecordset(SQL)
  29. Do While Not Rs2.EOF
  30.         Rs3.AddNew
  31.         For I = 1 To BrojKolona
  32.         Rs3.Fields(I) = Rs1.Fields(I - 1)
  33.         Next I
  34. Rs3.Update
  35. Rs2.MoveNext
  36. Loop
  37. Rs2.Close
  38. Rs1.MoveNext
  39. Loop
  40. Rs1.Close
  41. Rs3.Close
  42. Set Db = Nothing
  43. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#39 29.12.2010 23:19
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Server i Access baza
To mi ipak ne kopira ono Å¡to treba.
U primjeru koji Å¡aljem u tablici "tblShema" je ono Å¡to prenese Funkcija koji si napravio,
a u tablici "tblShema_kako_treba" je ispravan prenos koji mi naprave moji komplicirani Queryi i funkcije.

Prilozi:
Informacije o tipu datoteke za:rar  Shema_4.rar
Preuzimanja:183
Velicina datoteke:228.73 KB


Pozdrav
↑  ↓

#40 29.12.2010 23:29
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


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.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (22):1,2,3,4,5,6 ... 21,22


Sva vremena su GMT +02:00. Trenutno vrijeme: 2: 09 pm.