نمایش نتایج 1 تا 13 از 13

نام تاپیک: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

  1. #1
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    https://gardesh-gar.ir
    پست
    527

    ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    با سلام!
    دوستان چطور میشه در یک اکتیو ریپورت چند Ado قرار داد؟
    البته فکر میکنم نشدنی باشه!چون بیشتر از یکی رو خطا میده!
    مشکل بنده اینه که توی اکتیو ریپورتم میخوام از اطلاعات دو تا تیبل استفاده کنم!
    مثلا فرض کنید از Tbl1 نام شخص رو میخوام بیارم تو دیتا ریپورت،و از Tbl2 شماره پرسنلی رو وارد اکتیو ریپورت کنم!چطور میتونم اینکارو انجام بدم؟!!
    یک مشکل دیگه هم اینه که در Activereport هر صفحه که میری جلو اطلاعات موجود در اون صفحه میره پایین تر!این مشکل چطور حل میشه؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    https://gardesh-gar.ir
    پست
    527

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    ما همچنان انتظار میکشیم یک بزرگوار پاسخی بده!
    یک مشکل دیگه هم به مشکلاتم اضافه شد!
    چطور میشه تو اکتیو ریپورت اعداد رو سه رقم سه رقم جدا کرد؟
    چون اینکارو تو تکست باکس میکنم،تو محاسبات اشتباه میکنه!

  3. #3

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    سلام
    براي جواب سوال اولتون بايد بگم ، درست مي فرماييد نميشه بيشتر از يك نوع رابط بانك اطلاعاتي براي اكتيوريپورت قرار بديد ، اما براي اينكه بتونيد از چند جدول اطلاعات استخراج كنيد و اونها رو نمايش بديد بايد دستورات SQL را بكار ببريد مثل دستور Inner Join
    براي سوال دومتون تويه پروپرتي فيلدي كه ميخواهيد اعداد جدا بشه گزينه OutputFormat رو پيدا كنيد و از جدول خاصيتها نوع فرمت رو Number انتخاب كنيد و تيك Use 1000 seprator را بزنيد
    number.jpg

  4. #4
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    https://gardesh-gar.ir
    پست
    527

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    نقل قول نوشته شده توسط hrj1981 مشاهده تاپیک
    سلام
    براي جواب سوال اولتون بايد بگم ، درست مي فرماييد نميشه بيشتر از يك نوع رابط بانك اطلاعاتي براي اكتيوريپورت قرار بديد ، اما براي اينكه بتونيد از چند جدول اطلاعات استخراج كنيد و اونها رو نمايش بديد بايد دستورات SQL را بكار ببريد مثل دستور Inner Join
    براي سوال دومتون تويه پروپرتي فيلدي كه ميخواهيد اعداد جدا بشه گزينه OutputFormat رو پيدا كنيد و از جدول خاصيتها نوع فرمت رو Number انتخاب كنيد و تيك Use 1000 seprator را بزنيد
    number.jpg
    سلام!دستتون درد نکنه عزیز!
    در مورد سوال اول دستور Inner Join اگه تعداد ستونهای جدول برابر نباشه خطا میده(جناب واژدی اینو بهم آموزش دادند،بنده به شخصه اصلا با این دستورات و کدهای مربوطه آشنایی ندارم)
    راه دیگری به نظرتون میرسه؟(خیلی گیرم)
    -----------------------------------------------
    در مورد سوال دوم عالیه!دستتون درد نکنه!
    فقط اگه بخوام توی تکست باکس هام هم سه رقم سه رقم جدا کنه بطوری که تو محاسباتم اخلال ایجاد نشه چه راهی رو پیشنهاد میفرمایید؟
    من از این دو روش استفاده کردم:
    روش اول از کد زیر استفاده کردم:
    Private Sub Text32_Change()
    Text32.Text = Format(Text32.Text, "##,###")
    Text32.SelStart = Len(Text32.Text)
    End Sub
    مشکلی که داره اینه که محاسباتم رو بهم میرزه و فکر میکنم فقط سه رقم سمت چپ رو تو محاسبه اعمال میکنه!
    --------
    فکر نکنم روش دوم ربطی به مشکل من داشته باشه،ولی از این راه هم رفتم!
    روش دوم هم از پراپرتی تکست باکس >> DataFormat و مابقی راه همانند همونی که شما برای اکتیوریپورت فرمودید!
    ولی هیچ تغییری ایجاد نمیشه!
    راهی به نظرتون میرسه؟
    بازهم ممنون!

  5. #5

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    نقل قول نوشته شده توسط ashkan1234
    در مورد سوال اول دستور Inner Join اگه تعداد ستونهای جدول برابر نباشه خطا میده(جناب واژدی اینو بهم آموزش دادند،بنده به شخصه اصلا با این دستورات و کدهای مربوطه آشنایی ندارم)
    سلام علیکم
    پوزش میخواهم اشتباه شد، Union به یکسان بودن جدول ها حساس بود، Inner-Join مشکلی ندارد،

    ضمیمه زیر را بررسی کنید

    موفق باشید
    فایل های ضمیمه فایل های ضمیمه
    .: مداحی دلنشین شهیدی که در زادروز ولادتش پرکشید [ تصاویر... ]
    .: مداحی دلنشین شهید غلامعلی رجبی [ تصاویر... ]

    .: لطفا سوالاتی که قابل طرح در انجمن هستند را در خصوصی ارسال نفرمائید.

  6. #6

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    براي تكست باكس من از اين كد استفاده ميكنم
    Private Sub TextBox1_Change()
    TextBox1.Text = Format$(Trim$(TextBox1.Text), "##,0")
    TextBox1.SelStart = Len(Trim$(TextBox1.Text))
    End Sub

    --------------------------------------------------------
    با اجازه آقاي واژدي من يك روش سريع براي ساخت رابطه هاي چند جدولي تو بانك اطلاعاتي اكسس بگم (اين روش فقط جهت سرعت در برنامه نويسي و هم آموزش كد نويسي مطرح ميشه) ، من خودم وقتي بعضي جاها گير ميكنم تويه نرم افزار اكسس بانك رو باز ميكنم و تو قسمت كوئري ، پرس و جويي كه قراره توش چند تا جدول رو درگير كنم ميسازم و وقتي اجراش كردم و مشكلي نداشت ، از قسمت SQL كد توليد شده رو كپي ميكنم و داخل برنامه ميذارم

  7. #7
    کاربر دائمی آواتار m.4.r.m
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    تبریز
    پست
    1,407

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    الان با ین همه توصیف و جواب بازم جایی مشکلی دارین مگه ؟

  8. #8
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    https://gardesh-gar.ir
    پست
    527

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    نقل قول نوشته شده توسط محسن واژدی مشاهده تاپیک
    سلام علیکم
    پوزش میخواهم اشتباه شد، Union به یکسان بودن جدول ها حساس بود، Inner-Join مشکلی ندارد،

    ضمیمه زیر را بررسی کنید

    موفق باشید

    ممنون جناب واژدی!
    ولی نمیدونم چرا تو Active Report جواب نداد!
    مثلا اطلاعات جدول یک رو نمایش میده ولی اطلاعات جدول دو را نه!
    چون بنده از Active Report استفاده میکنم!بجای کدهای شما این کدهارو جایگزین کردم!
    With ActiveReport1
    With .DataControl1 ' ADO DataControl
    .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & App.Path & "\DataBase\Ashkan.mdb;Jet OLEDB:Database Password=;"
    .Source = "select * from Tbl1 inner join Tbl2 on Tbl1.ID=Tbl2.ID"
    ' .Source = "SELECT * From Tbl1 "

    End With
    .Refresh
    End With
    ActiveReport1.Refresh
    ActiveReport1.Show 1

    بجای این خط:
    ' .Source = "SELECT * From Tbl1 "
    که کامنت کردم ،خط بالاییش رو جایگزین کردم!ولی جواب نمیده!
    تو فرم لود هم از این کد استفاده میکنم:
    On Error Resume Next
    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & App.Path & "\DataBase\Ashkan.mdb;Jet OLEDB:Database Password=;"
    Adodc1.RecordSource = "SELECT * FROM Tbl1"
    Adodc1.Refresh


    --------------------------------------------
    تنها چیزی که به نظرم رسید اینه که اون دوتا فیلد ID که اتونامبر هستش باعث این اتصال میشن!
    بنده تو جدولم همچین ستونی دارم ولی آتونامبر نیست و دستی عدد میگیره!
    به نظرتون مشکل چیه!؟
    -----------------------------------------------------------------------------------------------------------------------------------------------------
    جناب hrj1981 سپاس گذارم!
    واسه جدا کردن اعداد کدهامون هردو یک کار انجام میدن!
    وقتی مثلا این عدد رو 400,000,000 وارد میکنیم!کدهای بالا باعث میشن که تو عملیات محاسباتی فقط آخرین ارقام از سمت چپ محاسبه بشن!
    مثلا400,000,000 * 2 جوابش میشه=800
    یا40,000,000 * 2 جوابش میشه=80
    در صورتی که اینطوری نباید باشه!
    حالا بنده واسه اینکه این مشکل رو حل کنم،اومدم این حالت جدا کردن سه رقمی رو به صورت نمایشی قرار دادم!
    یعنی یک سری متغیر تعریف کردم و محاسبات رو بالای کدهای جدا کننده قرار دادم و ریختم داخل متغیرها!
    اینجوری دیگه تو محاسبات خطایی ایجاد نمیشه!
    حالا اگه شما راه بهتری سراغ دارید بفرمایید تا بنده و سایرین بهره ببرند!
    ضمن اینکه در روش بنده،اعداد در دیتا فیلکس سه رقم سه رقم جدا نمیشوند!(فعلا دارم دنبال یک راهی برای حل این مشکل میگردم!)

  9. #9

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    ولی نمیدونم چرا تو Active Report جواب نداد!
    مثلا اطلاعات جدول یک رو نمایش میده ولی اطلاعات جدول دو را نه!
    چون بنده از Active Report استفاده میکنم!بجای کدهای شما این کدهارو جایگزین کردم!
    With ActiveReport1
    With .DataControl1 ' ADO DataControl
    .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & App.Path & "\DataBase\Ashkan.mdb;Jet OLEDB:Database Password=;"
    .Source = "select * from Tbl1 inner join Tbl2 on Tbl1.ID=Tbl2.ID"
    ' .Source = "SELECT * From Tbl1 "

    End With
    .Refresh
    End With
    ActiveReport1.Refresh
    ActiveReport1.Show 1
    بجای این خط:
    ' .Source = "SELECT * From Tbl1 "
    که کامنت کردم ،خط بالاییش رو جایگزین کردم!ولی جواب نمیده!
    تو فرم لود هم از این کد استفاده میکنم:
    On Error Resume Next
    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & App.Path & "\DataBase\Ashkan.mdb;Jet OLEDB:Database Password=;"
    Adodc1.RecordSource = "SELECT * FROM Tbl1"
    Adodc1.Refresh
    سلام علیکم
    در ActiveReport نباید مشکلی داشته باشه ، شاید هم بخاطر AutoNumber نبودن فیلدها باشه که البته بعید میدونم اینطور باشه، روی این سیستم که بنده نشسته ام نصب نیست تست کنم،

    .
    .
    .
    وقتی مثلا این عدد رو 400,000,000 وارد میکنیم!کدهای بالا باعث میشن که تو عملیات محاسباتی فقط آخرین ارقام از سمت چپ محاسبه بشن!
    مثلا400,000,000 * 2 جوابش میشه=800
    یا40,000,000 * 2 جوابش میشه=80
    .
    .
    .
    برای محاسبه میتوانیم کاما را حذف کنیم، برای مثال:
    Private Sub Command1_Click()
    Caption = 2 * Val(Replace("400,000,000", ",", ""))
    End Sub


    یا

    Private Sub Command1_Click()
    Caption = 2 * Val(Replace("40,000,000", ",", ""))
    End Sub


    موفق باشید
    .: مداحی دلنشین شهیدی که در زادروز ولادتش پرکشید [ تصاویر... ]
    .: مداحی دلنشین شهید غلامعلی رجبی [ تصاویر... ]

    .: لطفا سوالاتی که قابل طرح در انجمن هستند را در خصوصی ارسال نفرمائید.

  10. #10
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    https://gardesh-gar.ir
    پست
    527

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    نقل قول نوشته شده توسط محسن واژدی مشاهده تاپیک
    سلام علیکم
    در ActiveReport نباید مشکلی داشته باشه ، شاید هم بخاطر AutoNumber نبودن فیلدها باشه که البته بعید میدونم اینطور باشه، روی این سیستم که بنده نشسته ام نصب نیست تست کنم،



    برای محاسبه میتوانیم کاما را حذف کنیم، برای مثال:
    Private Sub Command1_Click()
    Caption = 2 * Val(Replace("400,000,000", ",", ""))
    End Sub


    یا

    Private Sub Command1_Click()
    Caption = 2 * Val(Replace("40,000,000", ",", ""))
    End Sub


    موفق باشید
    جناب واژدی سلام عرض شد!
    خسته نباشید!
    دستتون درد نکنه!
    Replace کردن خیلی ساده تر از روشی بود که من استفاده میکردم!
    فوق العاده بود!
    فقط بعضی از فیلدها که محاسباتی هستند در دیتا فلیکس سه رقم سه رقم با کاما جدا نمیشن!
    دیتا فیلکس تنظیماتی داره که بشه فیلدهای داخلش رو سه رقم سه رقم جدا کرد؟!
    ---------------------------------------------------------------------
    دوستان اگه روشی باشه که مشکل Active Report حل بشه خیلی عالیه!
    هر کدام از دوستان فرصت داشتید ممنون میشم!

  11. #11

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    سلام علیکم؛
    خواهش میکنم شما هم خسته نباشید

    در دیتاگراید اگه منظورتون هست، میتوانیم از بخش Properties کنترل در سربرگ Format فیلد مورد نظر را انتخاب و همانند مراحلی که جناب hrj1981 در پست 3 توضییح دادند فرمت فیلد را انتخاب کنیم

    موفق باشید
    .: مداحی دلنشین شهیدی که در زادروز ولادتش پرکشید [ تصاویر... ]
    .: مداحی دلنشین شهید غلامعلی رجبی [ تصاویر... ]

    .: لطفا سوالاتی که قابل طرح در انجمن هستند را در خصوصی ارسال نفرمائید.

  12. #12
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    https://gardesh-gar.ir
    پست
    527

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    نقل قول نوشته شده توسط محسن واژدی مشاهده تاپیک
    سلام علیکم؛
    خواهش میکنم شما هم خسته نباشید

    در دیتاگراید اگه منظورتون هست، میتوانیم از بخش Properties کنترل در سربرگ Format فیلد مورد نظر را انتخاب و همانند مراحلی که جناب hrj1981 در پست 3 توضییح دادند فرمت فیلد را انتخاب کنیم

    موفق باشید
    مشکل اینه که دیتا گرید نیست!
    از این کنترل استفاده میکنم:
    TDBGrid
    که متاسفانه هرچی گشتم نتونستم تنظیمات فرمت رو براش پیدا کنم!
    آپشن هاش زیادن!!!
    ولی پیداش کردم:
    Number Format=Standard
    ولی دوتا صفر بعد ممیز میزاره که اون 2تاصفر و ممیزه اضافیه!
    سعی میکنم اینو خودم حل کنم!
    بازهم ممنون!

  13. #13
    کاربر دائمی آواتار میلاد علوی
    تاریخ عضویت
    دی 1384
    محل زندگی
    پشت کامپیوتر
    پست
    201

    نقل قول: ایجاد چند Ado در ActiveReport یا وصل شدن به چند جدول از بانک اطلاعاتی در اکتیو ریپورت

    من مواقعی که به همچین مشکلاتی برخورد میکنم یه جدول tmp تو دیتابیسم دارم که اطلاعاتو اونطوری که میخوام دسته بندی میکنم و داخل tmp ذخیره می کنم بعد از طریق ریپورترم اون tmp رو فرا خوانی میکنم به همین دلیل اصلا مثل آب خوردن مشکلات آسان می گردد

تاپیک های مشابه

  1. پاسخ: 10
    آخرین پست: سه شنبه 12 اردیبهشت 1391, 23:52 عصر
  2. مشکل به وصل شدن به صفحاتی که به بانک SQL وصل هستند
    نوشته شده توسط alihassanabadi در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: یک شنبه 23 مرداد 1390, 20:00 عصر
  3. سوال: وصل شدن به دو جدول در گزارش
    نوشته شده توسط mc_laren در بخش گزارش سازی با Crystal Report
    پاسخ: 4
    آخرین پست: یک شنبه 04 مرداد 1388, 11:57 صبح
  4. سوال: وصل شدن به دو جدول در گزارش
    نوشته شده توسط mc_laren در بخش VB.NET
    پاسخ: 1
    آخرین پست: جمعه 02 مرداد 1388, 12:31 عصر
  5. وصل شدن با asp به یک یاتک sql با چند کامپیوتر
    نوشته شده توسط بندرعباس در بخش Classic ASP
    پاسخ: 1
    آخرین پست: دوشنبه 24 اسفند 1383, 11:04 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •