Hmm. Sljedeci problem :p
Isao sam prepravljat kod bez DataEnviromenta. Dakle punit DataReport rucno, i naravno naletio na problem.
Desava se to da kreiram rsParent recordset sa child recordestom.
Kolko sam uspio skuzit citajuci na netu to se dobije ovim sqlstingom dolje. Dakle postoje dvije tablice u bazi. Racuni i ARacun. U Racuni su polja BrRacina, Datum, Vrijeme, Cijena i jos neki a u ARacun tablici su polja PoRac, ADatum, AVrijeme, ACijena, AKolicina itd...
Ako sam dobro skuzio child recordset je u parent recordsetu kao polje pa ga treba:
Code:
Set rsChild = rsParent.Fields("ARacun").Value
valjda. I to sve prolazi. I u DataReportu imam 6 sekcija i to prolazi. Ali nakon DataReport.show pise Error da DataField"PoRac" nije pronaden. Kako nije pronaden ako mu je ime povukao i provjerio sam da ima data u tim poljima pomocu
Code:
'Text7.Text = rsChild.Fields(1).Value
Ne znam kako da prijavim DataReportu da postoji i rsChild recordset. Brijem da bi
Code:
DataReport3.DataMember = rsParent.DataMember
trebalo odradit taj posao.
Dakle evo cijeli kod u Command_Click, molim pomoc ako nekom ovo ima bilo kakvog smisla..
HVALA.
Code:
Dim strSQLUpit As String
Dim conVeza As ADODB.Connection
Dim rsParent As ADODB.Recordset, rsChild As ADODB.Recordset
'Izvor podataka koji se koristi u DataReportu
Set conVeza = New ADODB.Connection
strSQLUpit = "SHAPE {SELECT Racuni.* FROM Racuni WHERE BrRacuna =" &
Text7.Text & "} APPEND ({SELECT ARacun.* FROM ARacun ORDER BY PoRac} AS ARacun RELATE BrRacuna TO PoRac)"
conVeza.ConnectionString = "Data Source=C:\Servis\Racuni.mdb;Provider = MSDataShape;Data Provider = Microsoft.Jet.OLEDB.4.0;"
conVeza.Open
Set rsParent = conVeza.Execute(strSQLUpit)
'Povezuje se izvestaj sa izvorom podataka
Set DataReport3.DataSource = rsParent
Set rsChild = rsParent.Fields("ARacun").Value
DataReport3.DataMember = rsParent.DataMember
'Vrsi se prikazivanje vrednosti polja u kontrole izvestaja(dataReporta)
DataReport3.Sections("Section1").Controls.Item("Text1").DataField = rsParent.Fields(0).Name
DataReport3.Sections("Section1").Controls.Item("Text2").DataField = rsParent.Fields(1).Name
DataReport3.Sections("Section1").Controls.Item("Text3").DataField = rsParent.Fields(2).Name
DataReport3.Sections("Section6").Controls.Item("Text5").DataField = rsChild.Fields(0).Name ' OVO OVDJE NE VALJA :-O
DataReport3.WindowState = vbMaximized
'Fizicki prikazujemo izvestaj
'Text7.Text = rsChild.Fields(1).Value
DataReport3.Show
'Ponistavamo objekte
Set rsParent = Nothing
Set conVeza = Nothing
Set rsChild = Nothing
Hvala unaprijed
Danijel
[Ovu poruku je menjao DankoH dana 21.10.2007. u 19:53 GMT+1]