الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لا يتم تنفيذ جملة الاستعلام في الكريستال ريبورت

مغلق
بدأه azhar69 في 29 يونيو 2005 · 12 رد · 1,398 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني الافاضل

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

ملف مرفق

ولكم خالص الشكر

crystalreport.zip

#2

سيدي إن الخطأ ليس في الكود الذي كتبته ولكن في الفكر الذي استخدمته

جعلت مصدر بيانات التقريرعند التصميم هو قاعدة البيانات وهذا يجعل التقرير يحضر البيانات مباشرة من الجدول وليس من ال Dataset

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

وسوف يتم تنفيذ تقريرك

ويمكنك بدلا من كتابة أمر sql أن تكتب

Crysatlreport.recoredselectionformula ="{student.age}=" & textbox1.text

#3

اخي الفاضل

كما ترى في الكود فانني انشات فعلا dataset جديدة وهي DatasetSTUDENT1 تحتوي على جملة الاستعلام

وهي مصدر البيانات للتقرير..

اما طريقة انشائي للتقرير فهي صحيحة كما اظن وكما يلي:

اخترت add new item واضفت مشروع كريستال ريبورت جديد

ظهرت لي شاشة اختيار قاعدة البيانات..فاخترت قاعدة البيانات

ثم اخترت الجدول..ثم اضفت الحقول الى التقرير

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

داخل DatasetSTUDENT1

كما ان الرسالة الخاصة بعدد السجلات الناتجة من الاستعلام تكون صحيحة وتطابق الشروط فعلا..

اذن اين هو الخطا؟؟

اذا امكن ان تزودوني ببرنامج بسيط او تصحيح برنامجي المرفق

ولكم خالص الشكر

#4

أخي العزيز من الواضح أنك فهمتني خطأ

فعلا أنت قمت بعمل dataset ولكنك عندما قمت بتصميم التقرير لم تستخدمها

ما كنت أقصده هو أن تنشأ dataset وتجعلها مصدر لبيانات التقرير عند التصميم لأن ما حدث هو

أنت صممت التقرير على بيانات جدول قاعدة البيانات مباشرة

ثم قلت له خذ البيانات من ال dataset هنا هو لن يلتفت للكود لأنك فعليا حددت له أن مصدر البيانات هو الجدول بكامل بياناته وذلك عندما كنت تصمم التقرير

أفعل الآتي

1- أنشأ اتصال في ال Server Explorer

2- اسحب الجدول والقه فوق النموذج

3- سوف ينشأ لك كائنان هما Connection و ال Adapter

4- قف على ال Adapter واختر Generate dataset

5- بعدما تنشأ dataset

6- قم بعمل report جديد

7- استخدم ال dataset كمصدر للبيانات وأنت تصمم التقرير عن طريق

استخدم project data

ثم أختر Ado.net Dataset

حدد dataset

#5

عدلت لك الكود وها هو الملف

crystalreport.zip

#6

اخي العزيز...

انت صممت برنامجك عن طريق dataset wizard

ووضعت ادوات dataset,connection,adapter

على الفورم يدويا...ولكني اتكلم عن انشاء هذه الادوات داخل الكود واسناد القيم لها

كما هو موجود في برنامجي...برنامجك صحيح ولكنك انشات الادوات وقت التصميم..

لكي تعرف قصدي ارجو منك تحميل كتاب الاخ خالد الجديعي وقراءة الصفحات الاخيرة

http://www.dotnet4arab.com/download/vbdotnetbook.zip

والخاصة بالكريستال ريبورت وسترى بانني صممت البرنامج كما هو مشروح لديه بالضبط

وسترى النتائج الصحيحة التي ظهرت عنده والتي بدورها لم تظهر عندي...

لدي سؤال الى جميع الاخوة:انا عندما اشغل الكريستال ريبورت تظهر اولا شاشة تسجيل البرنامج

حيث اختار التسجيل فيما بعد..فهل هناك علاقة بفشل تنفيذ جملة الاستعلام مع عدم تسجيل نسخة

الكريستال؟؟هذا شك من عندي فقط..

كما انني عندما شغلت برنامج الاخ ahm_im لم تظهر عندي شاشة طلب تسجيل البرنامج

بينما تظهر في البرامج التي اصممها على جهازي.

ارجو من جميع الاخوة المشاركة

وهذا هو الكود

Dim CN As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" _

& "Data Source=" & Application.StartupPath & "\db1.MDB;")

Dim sql As String

sql = "select * from student where cdbl(age)= '" & TextBox1.Text & "'"

Dim OleDbDataAdapter1 As New OleDbDataAdapter(sql, CN)

Dim DatasetSTUDENT1 As New DataSet

DatasetSTUDENT1.Clear()

OleDbDataAdapter1.Fill(DatasetSTUDENT1, "student")

If DatasetSTUDENT1.Tables("student").Rows.Count >= 1 Then

MessageBox.Show(DatasetSTUDENT1.Tables("student").Rows.Count)

Dim rpt As New reportstudent

rpt.SetDataSource(DatasetSTUDENT1)

CrystalReportViewer1.Zoom(20%)

CrystalReportViewer1.ReportSource = rpt

CrystalReportViewer1.RefreshReport()

End If

#7

اريد رد سريع يا اخوان

#8

وينكم اخواني الافاضل

هل الموضوع بهذه الصعوبة

هل لاحد الاخوان ان يصمم برنامج بسيط جدا يخص الموضوع

#9

للرفع رجاءا

#10

اخواني المشرفين

هل من مجيب

#11

للرفع يا اخوان

#12

السلام عليكم

1.rar

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#13

اخي الكريم

شكرا جزيلا على البرنامج..جملة الاستعلام تعمل في برنامجك..لكنها لم تعمل على

برنامجي...اعتقد بانني توصلت الى السبب..وهو انه هناك خطا ما في خطوات اضافة

التقرير الى البرنامج...حيث انني عندما حذفت التقرير من برنامج واضفته من جديد فشلت

جملة الاستعلام..وهذا يعني ان الخطا في خطوات اضافة التقرير..اما الطريقة التي اضيف

فيها التقرير فهي كما يلي:

1- نختار add new item ونختار crystal report

2- تظهر شاشة انواع التقارير فنختار as a blank report

3- من field explorer نختار add database

4- نحدد مسار قاعدة البيانات ثم نحدد الجدول ثم ok

5- من field explorer نختار الحقول ونسقطها على التقرير

فما هو الخطا هنا؟؟

مع خالص الشكر

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…