Centar za edukaciju-BiH



#1 02.06.2017 10:35
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Query od vise tabela
Imam jednu glavnu tabeluu kojoj upisujen meke podatke.
Imam jos 10 drugih tabela u koi na osnovu ID od glavnu tabelu upisujen podatke koi mogu sadrzati vise redova za jedan isti ID.

Sad mi treba da mogu izvaditi queri ili ako nije to moguce da napravim temp tabela koja ce ih sadrzati sva podatke is glavne tbele i sva podatka iz pomocnih tabala ali to da bude tako sto prvo ce se upise u jedan red podatke iz glavne tabeli i prvi red iz pomocnih tabela a sledeci redove sodrzace podatke samo od pomocni tabela so to sto colone gdje su podatke iz glavne tabele ostace prazne.

Ovo naravno mi treba da mogu kasnije izvrsit pretragu nad ovaj query ili tabeloj.
Sve ideje su dobro dosli

Prilozi:
Informacije o tipu datoteke za:bmp  relacii.bmp
Preuzimanja:351
Velicina datoteke:1.52 MB
Informacije o tipu datoteke za:rar  Query.rar
Preuzimanja:331
Velicina datoteke:1.73 KB

Ovaj post je ureden 1 puta. Posljednja izmjena 02.06.2017 10:37 od strane Gjoreski. ↑  ↓

#2 02.06.2017 21:11
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Query od vise tabela
Podatke mozes dobiti ali nemozes dobiti prazna polja kao sto si to naveo u exelu.
Znaci nebi bila prazna polja nego bi se podatak ponavljao.
To mozes izvesti samo na formi.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 02.06.2017 21:55
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Query od vise tabela
Pa neka bude na formi nije mi problem samo da tako izgeda kao u exelu.

Ja znam da ce se podatke ponavljati to sam vec uradio ali ovo mi teba bas ovako.
Mozda najbolje bi bila Temp tabela koja bi se punila i praznila iz neke procedure.
Ovaj post je ureden 1 puta. Posljednja izmjena 02.06.2017 21:58 od strane Gjoreski. ↑  ↓

#4 02.06.2017 21:58
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Query od vise tabela
Moze i na izvjestaju ako ti treba za sztampu tako.
Jeli moraju biti redovi i kolone?
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 02.06.2017 22:02
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Query od vise tabela
Ne treba mi stampu na izvestaj, trebace mi export u excelu za dalje obrade.
Ipak sam ja Temp tabela pa mogu sa njom da radim bilo sta .
↑  ↓

#6 02.06.2017 22:26
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Query od vise tabela
Citat:
Ipak sam ja Temp tabela pa mogu sa njom da radim bilo sta .

Jesil mislio da je najbolje rijesiti preko temp tabele ili te nisam razumio.
Naravno da se moze rijesiti pomocu temp tabele.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#7 02.06.2017 22:37
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Query od vise tabela
Dobro si razumeo.
Mozda imas neka funkcija o ovome ili nesto slicno?
↑  ↓

#8 02.06.2017 23:44
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Query od vise tabela
evo i databazi

Prilozi:
Informacije o tipu datoteke za:rar  Baza .rar
Preuzimanja:310
Velicina datoteke:216.33 KB

↑  ↓

#9 03.06.2017 10:55
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Query od vise tabela
Evo ti kod.

Bilo je par gresaka u nazivima polja pa popravi.
PreuzmiIzvorni kôd (Visual Basic):
  1. Option Compare Database
  2. Option Explicit
  3. Type Imena
  4. Pt As String            'Imepomone tabele
  5. Pt_Kljuc As String      'Klju
  6. za pod tabelu
  7. Pdt As String           'Imepod tabele
  8. Pdt_Kljuc  As String    'Klju
  9. u pod tabeli
  10. Pt_Podatak As Integer   'Podatak klju
  11. a u pomonoj tabeli
  12. End Type
  13. Dim Db As DAO.Database
  14. Dim RsTemp As DAO.Recordset
  15.  
  16. Function Popuni()
  17. Dim Rs As DAO.Recordset
  18. Dim SQL As String, SQLTemp As String
  19. Dim ID As Integer
  20.  
  21. SQL = "SELECT * FROM tblMain"
  22. SQLTemp = "SELECT * FROM tblTemp"
  23. Set Db = CurrentDb
  24. Set Rs = Db.OpenRecordset(SQL)
  25. Do While Not Rs.EOF
  26. ID = Rs!Id_Main
  27. Set RsTemp = Db.OpenRecordset(SQLTemp)
  28. RsTemp.AddNew
  29. RsTemp!No = Rs!Broj_Dokumenta
  30. RsTemp!Datum_Ukladanja = Rs!Datum_Ukladanja
  31. RsTemp!Godina_kad_je_verovatno_stvoren = Rs!Godina_kad_je_verovatno_stvoren
  32. RsTemp!Datum_kad_je_verovatno_stvoren = Rs!Datum_kad_je_verovatno_stvoren
  33. RsTemp!Naziv = Rs!Naziv
  34. RsTemp!Opis = Rs!Opis
  35. RsTemp!Sacuvan = Rs!Lock
  36. RsTemp!Id_Main = ID
  37. RsTemp.Update
  38. RsTemp.Close
  39. Pomocne_Tabele ID
  40. Rs.MoveNext
  41. Loop
  42.  
  43. End Function
  44.  
  45.  
  46. Sub Pomocne_Tabele(ID As Integer)
  47. Dim Rs As DAO.Recordset, RsPom As DAO.Recordset, Rsdod As DAO.Recordset
  48. Dim SQL As String, SQLPom As String, SQLDod As String, SQLTemp As String
  49. Dim IP As Imena
  50. Dim Broj_Polja As Integer, I As Integer, N As Integer, N1 As Integer
  51. Dim ImePolja As String
  52.  
  53. N1 = 1
  54. SQLTemp = "SELECT * FROM tblTemp WHERE ID_Main=" & ID
  55. SQL = "SELECT * FROM tblTabele"
  56. Set RsTemp = Db.OpenRecordset(SQLTemp)
  57. Set Rs = Db.OpenRecordset(SQL)
  58. Do While Not Rs.EOF
  59. IP.Pdt = Rs.Fields(3)
  60. IP.Pt = Rs.Fields(1)
  61. IP.Pt_Kljuc = Rs.Fields(2)
  62. IP.Pdt_Kljuc = Rs.Fields(4)
  63.  
  64. '*************************
  65. 'Pomona tabela
  66. '*************************
  67.  
  68. RsTemp.MoveFirst
  69.  
  70. SQLPom = "SELECT * FROM " & IP.Pt & " WHERE ID_Main=" & ID
  71. Set RsPom = Db.OpenRecordset(SQLPom)
  72.     N = RsPom.RecordCount
  73.     If N > 0 Then
  74.     RsPom.MoveLast
  75.     RsPom.MoveFirst
  76.     N = RsPom.RecordCount
  77.     End If
  78. REKORD:
  79.     If N1 < N Then
  80.     RsTemp.AddNew
  81.     RsTemp.Update
  82.     N1 = RsTemp.RecordCount
  83.     GoTo REKORD
  84.     End If
  85.     RsTemp.MoveFirst
  86.     Do While Not RsPom.EOF
  87.     RsTemp.Edit
  88.     IP.Pt_Podatak = RsPom(IP.Pt_Kljuc)
  89.     SQLDod = "SELECT * FROM " & IP.Pdt & " WHERE " & IP.Pdt_Kljuc & "=" & IP.Pt_Podatak
  90.     Set Rsdod = Db.OpenRecordset(SQLDod)
  91.     Broj_Polja = Rsdod.Fields.Count - 1
  92.         For I = 1 To Broj_Polja
  93.         ImePolja = Rsdod.Fields(I).Name
  94.         RsTemp(ImePolja) = Format$(Rsdod.Fields(I))
  95.         Next I
  96.     Rsdod.Close
  97.     RsPom.MoveNext
  98.     RsTemp.Update
  99.     RsTemp.MoveNext
  100.     Loop
  101. Rs.MoveNext
  102. RsTemp.MoveFirst
  103. Loop
  104. RsPom.Close
  105. End Sub

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

#10 04.06.2017 21:18
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Query od vise tabela
Evo ovaj tvoj cod sam preradio malo i za moih potreba je sasvim OK mada uvek se moze i bolje.
E sad imam drugo pitajne oko pretrage (ona pretraga koja je istoriska) na svi polja u tabeli.
Ja sam to uradio ali za vise redova ova bice problem .

Ako ima neko da da neki savet bi bilo OK.
Imam ja i jedna druga pretraga koja trazi odredene reci u udredenoj coloni .
Ako neko ima bolje resene zeleo bi pogledati.

I treco pitajne kako selektirati samo 2 redova u listbox.
odnosi se na lstPolja

Prilozi:
Informacije o tipu datoteke za:rar  Dokumenti.rar
Preuzimanja:327
Velicina datoteke:122.63 KB

↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 8: 56 am.