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

مشكلة استعلام بقاعدة البيانات واستعراضة بالفيجوال

بدأه VBase في 13 أكتوبر 2009 · 5 رد · 1,640 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم

حياكم الله

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

المرفقات

_______.rar

#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

اخي العزيز لاحظ عند تنفيذ الاستعلام من داخل الاكسس يطلب ادخال تاريخ

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

فابمكانك تنفيذ جملة استعلام مباشرة على الجدول الرئيسي TblAcc الذي تستخدمة

لخزن البيانات واستخراج المجاميع المطلوبة وحسب اي شرط

مثال

sqls = "select sum(mdeen) as md1 ,sum(dann) as da1  from TblAcc where flowacc = '" & me.text1 & "' "
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sqls, cn, adOpenKeyset, adLockPessimistic
#3

اخي الكريم شكرا

بالنسبة للجملة التي ارفقتها لم تعمل معي مع العلم انك لم تضيف جملة البحث بين تاريخ وهي الاهم ، حيث انني قمت بما ارشدتني به من خلال الجدول TblAcc وقمت بتعديل الكود ولكنه لم يعمل يظهر لي رسالة معناه Object Required والجملة هي :

rs1.Open "SELECT numacc,nameacc,sum(madeen)as m1, sum(daan)as m2 FROM [tblacc] WHERE [date] Between #" & ms1.Text & "# AND #" & ms2.Text & "# AND [flowacc] = " & Trim(tex1.Text) & "' GROUP BY numacc ", cn, adOpenStatic, adLockReadOnly

هل يوجد خطأ بالجملة

وشكرا

#4

السلام عليكــم ورحمـة الله وبركاتــه ،،

ان جمل الاستعلام اساس الاستعلام من قاعدة البيانات وهي رائعة وسهلة

بخصوص برنامج انصحك باستخدام الاداة DTPicker للتاريخ وصيغتها داخل جملة الاستعلام

sqls1 = "select * from amountreceivd where date between #" & Format(DTPicker1, "MM/DD/YYYY") & "# and #" & Format(DTPicker2, "MM/DD/YYYY") & "#"

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

وحسب برنامجك جزء الحل الى اجزاء اولا جملة استعلام حسب التاريخ مع نوع الحساب

ويوضع الناتج في جدول مؤقت تنشاة في قاعدة البيانات تشبة عملية اضافة بيانات الى اي جدول

طبق العملية السابقة ثم اذهب الى الجدول المؤقت الذي انشاتة سترى ناتج البحث بين تاريخين وحسب

نوع الحساب

ستضيف امر اخر اي استعلام اخر لتجميع الحقول من الجدول الؤقت ومن غير وضع شرط التاريخ ونوع الحساب

لانك قسمت العملية الى جزئين

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

هذه الفكرة ضرورية عندما يكبر البرنامج ومعه قاعدة البيانات

وفي الجملة التي كتبتها خطا لاحظ

SELECT TblAcc.numacc, Sum(TblAcc.madeen) AS SumOfmadeen, Sum(TblAcc.daan) AS SumOfdaan, TblAcc.flowacc, TblAcc.nameacc
FROM TblAcc
GROUP BY TblAcc.numacc, TblAcc.flowacc, TblAcc.nameacc;

في جملة الاستعلام الحقول التي اخترتها من الجدول يجب ان تضاف الى GROUP BY

تستطيع من برنامج الاكسس في جزء الاستعلامات انشاء استعلام والاطلاع على نص الجملة من خلال SQL View

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

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

#5

اخي الكريم

=================

بالنسبة للجداول المؤقتة لاول مرة اتعامل معها ولا اعرف طريقة انشائها !!! ممكن الطريقة

وكما قلت ان اقوم بانشاء استعلام اول وهو مع التاريخ ونوع الحساب ، ومن عمل استعلام آخر به تجميع لحلق التاريخ ونوع الحساب مع العلم لم تذكر حقلي المدين و الدائن ابدا

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

اخي الكريم بعد اذنك :

=============

1- اريد فقط من المشاركة التي رفعتها ان استعرض حسابات موجود داخل جدول اسمه TblAcc وهذا الجدول يمثل الحركة لكل الحساب حسب تاريخ معين وشرط الاستعراض ان استعرض حسابات مثلا من تاريخ بداية احدده الى تاريخ نهاية مع تحديد نوع الحساب هل هو ( عملاء - صناديق ) او كلها بشرط تجميع حقلي المدين و الدائن لكل حساب على حدة

2- اردت ان اتعلم معنى الجداول المؤقتة ارى ان لها اهمية كبيرة

اخي الكريم كل الشكر لك مع خالص تحياتي

#6

السلام عليكــم ورحمـة الله وبركاتــه ،،

ارفقت مثال معدل على مثالك وفيه اضافات ان شاء الله تنفعك

مثلا اضفت الاداة felxgrid وهي اداة جميلة لعرض البيانات

h.rar

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

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

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

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

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