PDA

View Full Version : کریستال ریپورت



adib202
پنج شنبه 23 مهر 1388, 09:37 صبح
سلام
کسی میدونه چطور میشه بیش از یک ارتباط با دیتا بیس رو برای کریستال ریپورت ایجاد کرد؟
منظورم رو واضح تر بگم.
مثلا اگه دو تا table توی دیتا بیس داشته باشیم میشه از هر دوی اونا توی یک فرم از کریستال ریپورت استفاده کرد؟
اگه ممکنه نحوه ارتباط دو شی adodc با کریستال ریپورت یا اگه پروژه آماده ای دارید بزارین.مرسی

powerboy2988
پنج شنبه 23 مهر 1388, 10:05 صبح
منظورتون اينه......؟؟؟

adib202
پنج شنبه 23 مهر 1388, 11:11 صبح
بله.امکان داره یه پروژه تو این مایه بزارین.ممنون میشم

powerboy2988
پنج شنبه 23 مهر 1388, 12:08 عصر
دوست عزيز خيلي واضح توضيح دادم بهتون... خودتون اگر انجام بدين بهتره و پيشرفت مي كنيد.

adib202
پنج شنبه 23 مهر 1388, 22:11 عصر
درسته ولی یه کم با محیط کریستال ریپورتی که من کار می کنم متفاوته.
ببینید ؛ من واسه ارتباط ریپورت با دیتا بیس توی فرمم از این کد استفاده می کنم.





Cnn.Open
Adoview.Close
SQLTEXT = "SELECT * FROM table1 WHERE ID=" & Adodc1.Recordset.Fields("ID")
Set Adoview = New ADODB.Recordset
Adoview.Open SQLTEXT, Cnn, adOpenStatic, adLockPessimistic
Set report.DataSource = Adoview
report.Show


حالا می خوام یک ارتباط دیگه ای هم ایجاد کنم.یعنی به عبارتی با دو table در دیتا بیس گزارش تهیه کنم

mpmsoft
پنج شنبه 23 مهر 1388, 22:30 عصر
پاس دادن چند DataSource به کریستال



Rpt.DataBase.Table(1).SetDataSource Rs1
Rpt.DataBase.Table(2).SetDataSource Rs2
....



سپس در کریستال در Database Expert می تونید Link های بین فیلدها رو بر قرار بکنید
ملاحظه بفرمائید همچی مشخصه

adib202
شنبه 25 مهر 1388, 12:44 عصر
ممنون از راهنماییتون
یه سوال دیگه
از روی فرم چطور میشه مقدار یک textbox رو که به دیتا بیس متصل نیست روی کریستال منتقل کرد؟

powerboy2988
شنبه 25 مهر 1388, 15:28 عصر
شما يك متغير تو كريستال ريپورت تعريف مكني و توي design گزارش مي زاري و با اين دستور اون مقدارتو بهش پاس مي كني. ...


Report.FormulaFields.GetItemByName("txtdate").Text = "'" & Trim(Text1.Text) & "'"