الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ربط الفورم مع كريستال ريبورت

Featured Replies

بتاريخ:



الاخوه فى المنتدى عندى استفسار ارجو منكم مساعدتى

انا متعود على كريستال ريبورت و بصراحه مش عارف اشتغل على الريبورت بتاع اوراكل
فهل يوجد طريقة او امر لاستدعاء التقرير بكريستال ريبورت من الفورم

ارجو الاجابة يا اخوه

شكرا

بتاريخ:
  • كاتب الموضوع

فين الناس
فين عباقرة الاوراكل

بتاريخ:

والله يالطفي سؤالك جميل بس المشكلة
وهاذا الجواب ياحلو

على فكرة منقول من الموقع التالي

ربط كريستال ريبورت بالأوراكل

شرح عملية ربط الكريستال ريبورت 8.5 مع البرنامج
بسم الله الرحمن الرحيم

تعب الأعضاء من كثرة السؤال حول كريستال ريبورت وكيفية ربطة والاستفادة منه
وأنا بدوري بعد معاناة وكثرة أسئلة وأجوبة من هنا وهناك حاولت أن أقوم بعمل مثال
يوضح عمل تك التقارير .. وذلك على طريقتي وكل له طريقته في ربط تلك الاداة المتميزة بعضها يختصر على الكود كالذي في الرد السابق لي . .. وبعضها يعتمد على دمج الكريستال بالفيجول والتي سأبد بها وفي تصوري هي الأفضل من ناحية أنها ليست بطيئة في عرض البيانات .. فالنبدأ

ملاحظة : كما قلت سابقاً .. طريقة الربط أو الاتصال بالقاعدة البيانات ستكون بواسطة
الــ ADO وعن طريق الكود . والكريستال ريبورت الاصدار بين 7 وما فوق وقاعدة البيانات
2000 اكسس

سننشأ فورم ونسميه frmMain

أولاً : كود الأتصال بقاعدة البيانات

في التعريف العام General

Code:
Dim cn As Connection
Dim rs1 As Recordset




Code:
Set cn = New Connection
Set rs1 = New Recordset
path = App.path & "\db1.mdb"
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path & ";Persist Security Info=False"
rs1.Open "select * from customer", cn






وللقاعدة المحمية بكلمة مرور الكود هذا ولاحظ الفرق

Code:
Private Sub Form_Load()
Set cn = New Connection
Set rs1 = New Recordset
Dim path As String
path = App.path & "\db1.mdb"
cn.Open "provider=microsoft.jet.oledb.4.0;data source=" & path & ";jet oledb:database password=NIM"
cn.CursorLocation = adUseClient

rs1.Open "select * from customer", cn, adOpenDynamic, adLockOptimistic

End Sub



واعتقد ان كود الاتصال واضح
ننتقل للمرحلة الأهم

ثانياً : نقوم بعمل مديول Module1 ونكتب الشفرة التالية

Code:
Declare Function CreateFieldDefFile Lib "p2smon.dll" (lpUnk As Object, _
ByVal filename As String, ByVal bOverWriteExistingFile As Long) _
As Long



وهذا الكود لكي يقوم البرنامج بعمل قاعدة مؤقته لحفظ بيانات الاستعلام الناتج
من عملية المعاينة للتقرير

نتابع ...

ثالثاً : أدراج أداة الكريستال ريبورت


في نافذة project اضغط بالزر الأيمن وأضف الأداة

Crystal Report 8.5 أو الاصدار الموجود عندك
وقم بتبع عملية المعالج في أضافة قاعدة البيانات وأضافة الحقول وإلى آخر
في المثال كتاب يحوي شرح للعملية هذه .. وهي طريقة سهلة جدا ولكن
للمعرفة ... المهم سيقوم المعالج تلقائياً بأنشاء فورم Form1 ويحيوي ما يلي

Code:

Dim Report As New CrystalReport1

Private Sub Form_Load()
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault

End Sub

Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth

End Sub





كما سيضيف لقائمة الأداوات الاداة Crystal Report Viewer control

المهم ... الشفرة التي أنشائها المعالج وهي مواصفات للتقرير من طول وعرض وآخره
لا نحتاجها وسنستبدلها بالشفرة التالية

Code:

Dim Report As New CrystalReport1
Dim cn As Connection
Dim rs1 As Recordset

Private Sub Form_Load()

Set cn = New Connection
Set rs1 = New Recordset
path = App.path & "\db1.mdb"
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path & ";Persist Security Info=False"
rs1.Open "select * from customer", cn

Report.DiscardSavedData
Report.Database.SetDataSource rs1, 3, 1

CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault

End Sub


Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth

End Sub







طبعا هذا الكود سيكتب في الفورم المنشء من قبل المعالج

وأخيراً

رابعاً : عرض أداة التقارير

في الفورم الرئيسي Form1 سنقوم بأنشاء زر
ولنسمية Show Report

Code:
'HnHn
'عملية أنشاء قاعدة لحفظ نا تج عملية الاستعلام
CreateFieldDefFile rs1, App.path & "\customer.ttx", 1
Form1.Show



وهذا الكود مكمل للكود السابق المكتوب في المديول
customer.ttx وهذه هي قاعدة البيانات المؤقته التي يتم
تخزين ناتج الاستعلام فيها

وهذا ملخص لعملية عرض تقرير لأداة الكريستال


وأرجو أن أكون قد أديت رسالة ليستفاد منها الجميع .... وشكراً


وهذا المثال الذي تم شرحه

تم تعديل بواسطة أبو الروض

بتاريخ:

اخى العزيز يوجود كتاب للتعامل بين اوراكل وكريستال ريبورت ارجو ان يفيدك

بتاريخ:

أخي shelmasry أين الكتاب لو تكرمت

بتاريخ:
  • كاتب الموضوع

اخى ابو الروض

انا متشكر قوى

و ساجرب المثال و ارد عليك

و متشكر جدا

  • بعد 2 أسابيع...
بتاريخ:

هذة طريقة بسيط لفتح الكريستال ربورت من ال form

باستخدم OCX الخاصة بالكرستال

احاول اضافة ملف ولكن لا يقبل ممكن كتابة الميل الخاص بك حتي اقوم بالارسال علية

تم تعديل بواسطة hanyniazy

  • بعد 2 أسابيع...
بتاريخ:
  • كاتب الموضوع

الاخ hanyniazy

اسف لتاخرى فى الرد و ذلك لظروف السفر بسسبب العمل

اشكرك لاهتمامك

الميل بتاعى

[email protected]

  • بعد 8 شهور...
بتاريخ:
هذة طريقة بسيط لفتح الكريستال ربورت من ال form

باستخدم OCX الخاصة بالكرستال

احاول اضافة ملف ولكن لا يقبل ممكن كتابة الميل الخاص بك حتي اقوم بالارسال علية

60201[/snapback]





مشكور أخ هاني
ممكن ترسلي الملف انا أيضا
وأستسمحك لو توسعنا في هذا الموضوع الذي اعتقد أنه سيفيد عدد كبير

[email protected]
  • بعد 1 شهر...
بتاريخ:

ممكن تبعتهالى على الميل التالى محتاجة ضرورى
[email protected]
ولك جزيل الشكر

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.