View Full Version : اتصال به Data Report
Juventus FC
دوشنبه 03 شهریور 1393, 18:05 عصر
درود بر اساتید
من سابق با بانک اطلاعاتی Access کار میکردم ! الآن دارم با SQL کار میکنم ! میخوام یه سری رکوردی که تو DaraGrid نمایش داده شده با Data Report به چاپ ببرم ! میخوام بدونم روش بر قراری ارتباط با اون موقع که پایگاه داده Access بود با الآن که SQL خیلی فرق میکنه باید کارهایی اضافی انجام بدم یا نه !؟
کدها همیناست دیگه ؟
Adodc1.Recordset.Close
Adodc1.Recordset.Open
Adodc1.Refresh
Adodc1.Recordset.Sort = "code"
Set factor.DataSource = Adodc1
factor.Show
تو Data Report هم تو Section 2 سر تیتر ها رو با Label مینویسیم و تو Section 1 هم با Lable اون Datafield رکورد ها رو مینویسیم ! و هر Lable تو Datafield اون مشخصه شو مینویسیم ! درسته دیگه ؟
چون برای من میگه که "Report Section do not match data source" این پیغام خطا رو میده !
vbhamed
سه شنبه 04 شهریور 1393, 09:11 صبح
سلام
شما فقط بايد ConnectionString رو مطابق بانك اطلاعاتي Sql server تغيير بدين، بقيه برنامه تغيير نداره
فقط اينكه معمولا بايد در جدولتون فيلد كليد اصلي وجود داشته باشه وگرنه ممكنه به مشكل بر بخوريد
Juventus FC
شنبه 08 شهریور 1393, 19:11 عصر
کلید اصلی برقراره ! تنها موقع نمایش Data Report این پیغام خطا میاد !
"Report Section do not match data source"
vbhamed
شنبه 08 شهریور 1393, 21:21 عصر
سلام
برای دیتا ریپورت باید یک DataEnvironment هم اضافه کنید و اون رو به بانک متصل کنید سپس دیتا ریپورت رو به DataEnvironment ارتباط بدین
Juventus FC
سه شنبه 11 شهریور 1393, 00:35 صبح
سلام
برای دیتا ریپورت باید یک DataEnvironment هم اضافه کنید و اون رو به بانک متصل کنید سپس دیتا ریپورت رو به DataEnvironment ارتباط بدین
خب حالا من DataEnvironment ایجاد کردم متصل کردم به پایگاه داده همینطور Command هم ایجاد کردم و اون Data Report :
1 ) خاصیت DataSource را برابر با DataEnvironment1 .
2 ) خاصیت DataMember را برابر با Command1 .
حالا یه ERROR جدید میده که :
http://www.shiaupload.ir/images/17751949626334454662.jpg
vbhamed
سه شنبه 11 شهریور 1393, 08:39 صبح
سلام
احتمالا دستور sql تون درست نيست يا مشكلي ديگه در ارتباط داريد، در هر صورت بهتره خود پروژه باشه تا بشه بهتر راهنمايي كرد
ضمنا ديتا ريپورت ديگه منسوخ شده است و امكانات خاصي نداره
بهتره به كريستال ريپورت، فست ريپورت يا اكتيو ريپورت فكر كنيد
Juventus FC
چهارشنبه 12 شهریور 1393, 00:23 صبح
منظور شما اینکه باید تو خود پایگاه داده SQL هم برای گذارش گیری با پروژه VB باید دستوری نوشته بشه ؟
کریستال ریپورت ، چه جوریه ؟ از Data Report بهتره ؟
vbhamed
چهارشنبه 12 شهریور 1393, 09:43 صبح
سلام
كلا بهتره دستور جستجو در كوئري شما در بانك باشه تا با استفاده از امكانات گزارشگر، چون در اون حالت موتور Sql Server مستقيما اينكار رو انجام ميده و خيلي سريعتر نتيجه رو برميگردونه
كريستال اصلا قابل مقايسه با Data Report نيست، Data Report خيلي ساده است، البته من خودم شديدا Fast Report For Com/Activex رو پيشنهاد ميكنم كه باز اون با كريستال قابل مقايسه نيست و خيلي امكانات خوبي داره و بسيار سريعه.
ایلیا آخوندزاده
چهارشنبه 12 شهریور 1393, 09:51 صبح
سلام آقای vbhamed
آیا میشه تو فست ریپورت از قابلیت جاگذاری بدون استفاده از دیتابیس استفاده کرد؟
مثلا در فرم ها اینگونه دستور جاگذاری ارسال می شد:
Form2_frm.Label1.Caption = Form1_frm.Text5.Text
vbhamed
چهارشنبه 12 شهریور 1393, 10:22 صبح
سلام
اين جزء كارهاي ساده اي هست كه فست ريپورت به راحتي انجام ميشه
شما كل بخشهاي گزارش رو هم ميتونيد تو كد نويسي تغيير بديد كنيد مثلا قسمتهاي Header, Footer, Details، تعداد صفحات گزارش (گزارشاتي كه طراحي اونها چند صفحه است نه خروجي ! ) و ...
لطفا تاپيك زير را ببينيد
http://barnamenevis.org/showthread.php?298382-%D9%85%D8%B9%D8%B1%D9%81%D9%8A-%D9%8A%D9%83-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4%DA%AF%D9%8A%D8%B1%D 9%8A-%D9%82%D8%AF%D8%B1%D8%AA%D9%85%D9%86%D8%AF
Juventus FC
چهارشنبه 12 شهریور 1393, 19:58 عصر
سلام
كلا بهتره دستور جستجو در كوئري شما در بانك باشه تا با استفاده از امكانات گزارشگر، چون در اون حالت موتور Sql Server مستقيما اينكار رو انجام ميده و خيلي سريعتر نتيجه رو برميگردونه
كريستال اصلا قابل مقايسه با Data Report نيست، Data Report خيلي ساده است، البته من خودم شديدا Fast Report For Com/Activex رو پيشنهاد ميكنم كه باز اون با كريستال قابل مقايسه نيست و خيلي امكانات خوبي داره و بسيار سريعه.
میفهمم چی میگید اما پروژه من چیزی نیست که ارزش وقت گذاری و طراحی فوق العاده ای داشته باشه ! برای همین من به همین Data Report بسنده میکنم ! منتها این Error که میده واقعا امون من و بریده آخه دلیلش چیه !؟ چه جوری این Error رفع کنم !
ایلیا آخوندزاده
دوشنبه 17 شهریور 1393, 16:37 عصر
میشه متن یا عکس ارور رو بذارید.
m.4.r.m
دوشنبه 17 شهریور 1393, 17:25 عصر
از این کد استفاده کنید و قسمت های دلخواه رو خودتون عوض کنید
On Error Resume Next
If Adodc1.Recordset.RecordCount > 0 Then
Set Cnn = New ADODB.Connection
Cnn.CursorLocation = adUseClient
Cnn.ConnectionString = Adodc1.ConnectionString
Cnn.Open
'Adoview.Close
sqltxt = "SELECT * From Morakhasi WHERE persenel_id=" & Persenel_id
Set Adoview = New ADODB.Recordset
Adoview.Open sqltxt, Cnn, adOpenStatic, adLockPessimistic
Set Report1.DataSource = Adoview
Report1.Show 1
Else
MsgBox "ÇØáÇÚÇÊí íÇÝÊ äÔÏ", vbExclamation, ""
End If
Juventus FC
چهارشنبه 19 شهریور 1393, 14:06 عصر
ممنون دوست من !
اول اینکه من فکر میکنم تابع Cnn رو باید اول اون بالا تعریف کنیم که حالا خودم تعریف کردم و مشکلی نیست اما در خط 8 پیغام خطا میگیرم برای اون Persenel_id دوم ! من جای این فیلد code دارم که باید قرار بدم و برنامه به این پیغام خطا میده ! Variable not defined ! این پیغام خطا میده !
ایلیا آخوندزاده
چهارشنبه 19 شهریور 1393, 14:24 عصر
شما sqltxt روهم تعریف کن
Juventus FC
چهارشنبه 19 شهریور 1393, 14:31 عصر
شما sqltxt روهم تعریف کن
از چه نوعی تعریف کنم ؟
vbhamed
شنبه 22 شهریور 1393, 17:03 عصر
ممنون دوست من !
اول اینکه من فکر میکنم تابع Cnn رو باید اول اون بالا تعریف کنیم که حالا خودم تعریف کردم و مشکلی نیست اما در خط 8 پیغام خطا میگیرم برای اون Persenel_id دوم ! من جای این فیلد code دارم که باید قرار بدم و برنامه به این پیغام خطا میده ! Variable not defined ! این پیغام خطا میده !
سلام
بله، شيء cnn بايد تعريف بشه به صورت زير، ولي دوستمون نمونه مثال گذاشتن، قطعا همه متغيرها مثل متغير Persenel_id و اشياء مثل Adoview و ... بايد تعريف بشن
Dim cnn As ADODB.Connection
sqlTxt هم از نوع String تعريف كنيد
Juventus FC
شنبه 22 شهریور 1393, 19:35 عصر
خب الان در این خط :
sqltxt = "SELECT * From Morakhasi WHERE persenel_id="& Persenel_id
به اون Persenel_id گیر میده ! من جدولم اسمش Table هست که جای Morakhasi نوشتم و جای اون دو تا Morakhasi هم من فیلد Code دارم که نوشتم ولی به اون code دومی که نوشتم گیر میده ! Variable not defined فکر میکنم نیاز به تعریف داره منتها من اون sqlTxt همونطور که گفتید از String تعریف کردم !
vbhamed
یک شنبه 23 شهریور 1393, 10:12 صبح
سلام
يكبار ديگه پست 17 رو بخونيد
Juventus FC
یک شنبه 23 شهریور 1393, 12:16 عصر
سلام
يكبار ديگه پست 17 رو بخونيد
آهان ! آره درست نخوندم.
حالا من همه رو تعریف کردم ! منتها به این خط گیر داده :
Set Adoview = New ADODB.Recordset
و Run Time Error "13" میده !
m.4.r.m
یک شنبه 23 شهریور 1393, 22:50 عصر
بعد از set فاصله دادین ؟
در ضمن از رفرنس ها باید تیک مربوط به Adodb رو انتخاب کنین و به برنامه اضافه کنین . این کار رو هم انجام دادین ؟
Juventus FC
دوشنبه 24 شهریور 1393, 00:55 صبح
بعد از set فاصله دادین ؟
در ضمن از رفرنس ها باید تیک مربوط به Adodb رو انتخاب کنین و به برنامه اضافه کنین . این کار رو هم انجام دادین ؟
Microsoft Adodc دارمش ولی Adodb نه ! هرچی گشتم پیداش نکردم چیه دقیقا اسمش ؟ تو رفرنس ها باید دنبال چه اسمی بگردم چونAdodb خالی نداره !
vbhamed
دوشنبه 24 شهریور 1393, 07:34 صبح
سلام
يك شيء Adodc روي فرم بزاريد و بعد حذفش كنيد، خودش رفرنس رو اضافه ميكنه، اما اسم رفرنس هم Microsoft Active Data Object ... Library است
Juventus FC
دوشنبه 24 شهریور 1393, 14:05 عصر
سلام
يك شيء Adodc روي فرم بزاريد و بعد حذفش كنيد، خودش رفرنس رو اضافه ميكنه، اما اسم رفرنس هم Microsoft Active Data Object ... Library است
خب اگه اینجوری من یک شی ADODC روی فرم دارم برای برقراری ارتباط بین پایگاه داده SQL و Data Grid .
بعد از set فاصله دادین ؟
در ضمن از رفرنس ها باید تیک مربوط به Adodb رو انتخاب کنین و به برنامه اضافه کنین . این کار رو هم انجام دادین ؟
چه بدون فاصله چه با فاصله برنامه ERROR میده !
با فاصله Run Time Error میده !
بدون فلصله Variable Not Defined میده !
Juventus FC
دوشنبه 24 شهریور 1393, 21:19 عصر
دوستان و اساتید گرامی من ، کسی نسیت بتونه مشکل چاپ گرفتن من با Data Report با پایگاه داده SQL حل بکنه ! من سابق با Access میگرفتم مشکلی نداشت ولی با SQL تا حالا کار نکردم و نمیدونم چرا این Error ها میده 1
vbhamed
دوشنبه 24 شهریور 1393, 23:07 عصر
خب اگه اینجوری من یک شی ADODC روی فرم دارم برای برقراری ارتباط بین پایگاه داده SQL و Data Grid .
چه بدون فاصله چه با فاصله برنامه ERROR میده !
با فاصله Run Time Error میده !
بدون فاصله Variable Not Defined میده !
سلام
نوشتن برنامه قانون داره فاصله ها هم حتما بايد باشن آزمايش خطا كه نيست يكبار بزاريد يكبار نزاريد
درسته اون خط اينطوريه، فاصله هاش هم بايد رعايت بشه چون Set و New كلمات كليدي هستند
Set Adoview = New ADODB.Recordset
حالا اگر تو اين خط Variable Not Defined بده بعني Adoview تعريف نشده كه بايد به صورت زير تعريف بشه
Dim Adoview As Adodb.Recordset
البته به جاي دو خط بالا ميتونيد از كد زير هم استفاده كنيد
Dim rs As New ADODB.Recordset
Juventus FC
پنج شنبه 27 شهریور 1393, 13:52 عصر
سلام
نوشتن برنامه قانون داره فاصله ها هم حتما بايد باشن آزمايش خطا كه نيست يكبار بزاريد يكبار نزاريد
درسته اون خط اينطوريه، فاصله هاش هم بايد رعايت بشه چون Set و New كلمات كليدي هستند
Set Adoview = New ADODB.Recordset
حالا اگر تو اين خط Variable Not Defined بده بعني Adoview تعريف نشده كه بايد به صورت زير تعريف بشه
Dim Adoview As Adodb.Recordset
البته به جاي دو خط بالا ميتونيد از كد زير هم استفاده كنيد
Dim rs As New ADODB.Recordset
خب الان از مرحله اون Error ها خارج شد و در مرحله نمایش Data Report این Error میده.
http://www.shiaupload.ir/images/41351846331824628599.jpg
m.4.r.m
جمعه 28 شهریور 1393, 00:00 صبح
برنامه رو بفرست . اصلاح کنم
Juventus FC
جمعه 28 شهریور 1393, 16:37 عصر
برنامه رو بفرست . اصلاح کنم
بفرما ، منتها من پایگاه داده ام SQL بود این Access چون نقل و انتقال پایگاه داده SQL همچین مشکل و گیر زیاد میده ! حالا شما ببینید همین برنامه خودتون میتونید روی این پیاده سازی بکنید و تفاوت هاش و با SQL برام بگید من تو پروژه اصلی اعمال میکنم.
m.4.r.m
شنبه 29 شهریور 1393, 22:03 عصر
این برنامه براتون درست کردم شما کد پرسنل رو تو text2 بنویس بعد Print بزن و جواب رو مشاهده کن.
Juventus FC
یک شنبه 30 شهریور 1393, 23:23 عصر
این برنامه براتون درست کردم شما کد پرسنل رو تو text2 بنویس بعد Print بزن و جواب رو مشاهده کن.
آقا ERROR میده !
http://www.shiaupload.ir/images/88560634935661640755.jpg
بعد برای خروجی چاپ گرفتن از برنامه ای با پایگاه داده SQL این کار ساز هست یا نه ! چون همش به من ERROR های بیخود میده و یک ماه و خورده ای تو این مشکل موندم ! جدا گرفتن خروجی چاپ Data Report از جدول SQL واقعا اینقدر مشکله ؟ ولله من 4 تا خروجی چاپ Data Report میخواهم بگیرم. :گریه:
kamalyit
دوشنبه 31 شهریور 1393, 09:11 صبح
سلام با کلیک روی دیتا گرید اطلاعات شخص تکست هارو پر می کنه .یه لینک لیبل دارم که آدر س فایل تو اون قرار می گیره .چی کار کنم با کلیک روی اون به آدرس مورد نظر بره . مثلا : D:\new folder\ali
Juventus FC
دوشنبه 31 شهریور 1393, 23:44 عصر
سلام با کلیک روی دیتا گرید اطلاعات شخص تکست هارو پر می کنه .یه لینک لیبل دارم که آدر س فایل تو اون قرار می گیره .چی کار کنم با کلیک روی اون به آدرس مورد نظر بره . (همتونو دوس دارم ) مثلا : D:\new folder\ali
دوست من فکر کنم این عمل شما خلاف قوانین سایت باشه ! شما یک تاپیک جدید باید برای این مشکل ایجاد کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.