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

برنامج ضخم جداً بده شوية مساعدة

مغلق
بدأه مختار سيد صالح في 18 يونيو 2003 · 5 رد · 874 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أقوم بعمل برنامج محاسبي ضخم جداً و في جزء منه يوجد سجل المواعيد وواجهتني المشاكل التالية

السؤال التالي للأخوة الأفاضل

أولاً كيف أخلي البرنامج يعرض السجلات اللي حقل التاريخ فيها يساوي تاريخ الجهاز

ثانياً :

كيف أخلي البرنامج تلقائياً

لما بيصير وقت الموعد بيعطي البرنامج تنبيه

msgbxo,beeb

نفس الشي

بس المهم الطريقة

#2

بالنسبة للسؤال الأول ...

Sql = "Select * From Tb1 Where Time1 ='" & Datetime.Time & " '"

ويمكن أن تستخدم هذا الأمر في تايمر لحل السؤال الثاني ولكن سيصبح من الصعب عمل ذلك حيث أنه سيستهلك موارد النظام ، وسيكون الشرط في التايمر بعد الأمر السابق عبارة عن اسناد ناتج الإستعلام لقاعدة البيانات ومن ثم اختبار عدد السجلات ، فإذا كان صفراً فلا توجد أي سجلات ولذلك يخرج من الإجراء وإلا فإنه يظهر رسالة .

والله تعالى أعلم .

#3

شكراً فتى الفيجوال اجرب و ارد لك;)

#4

فتى الفيجوال ما مشى الحال

#5

لو تديني ثلاثة أيام فقط علشان أخلص امتحانات أعمل لك مثال خفيف حول هذه الفكرة ... وعذراً على التأخير .

#6

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

حسب ما فهمت من سؤالك أن لديك قاعدة بيانات فيها حقل خاص بالتاريخ والوقت وليكن اسم هذا الحقل Date_Time مع حقل خاص بالإسم Name كمثال .

بعد اجرائك الربط مع قاعدة البيانات بواسطة أداة الداتا كنترول أو بالداو أو الأدو ( وسأتحدث عن الداو ويمكنك أن تقوم بنفس العمل بأي طريقة ) ستنتج لديك قاعدة بيانات وليكن اسم متغيرها Dt1 وجدول محتوي على الحقول وليكن اسم متغيرها Tb1 وليكن اسم الجدول في قاعدة البيانات الأساسية Table1 .

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

سنبدأ أولاً بوضع متغير نخزن فيه التاريخ الحالي ( سأقتصر على التاريخ ويمكنك فعل ذلك مع الوقت أيضاً ) .

Dim NowDate

NowDate = TimeDate.Date

ثم نقوم باستعلام في قاعدة البيانات عن التاريخ الحالي ونخزن ناتجها في متغير وليكن Sql كمثال .

    SQL = "Select Name from Tabel1 Where Date_Time ='" & NowDate & " '"

ويمكنك وضع Name,Age,Mem,....... كما يحلو لك لتظهر في الإستعلام بدلاً من الأسم فقط ، كما يمكنك وضع * لاظهار جميع الحقول كما يلي :

    SQL = "Select * from Tabel1 Where Date_Time ='" & NowDate & " '"

ثم نسند ناتج الإستعلام إلى قاعدة البيانات التي ربطناها بقاعدة البيانات فيما سبق كما يلي :

    Set Tb1 = Dt1.OpenRecordset(SQL, dbOpenDynaset)

وهكذا نكون قد انشأنا جدولاً يحتوي على الأشخاص الذين تاريخهم على التاريخ الحالي .

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

        Dim Many

        If Tb1.RecordCount <> 0 Then

        Tb1.MoveLast

        Tb1.MoveFirst

        Many = Tb1.RecordCount

        Else

        Many = 0

        End If

وهكذا يكون المتغير قد احتوى على عدد الأشخاص ، ولهذا نقوم بشرط إذا كان عدد السجلات = صفراً فإننا ننهي الإجراء .

If Many = 0 Then Exit Sub

ومن ثم نضع أسماء الأشخاص إن وجدت في قائمة .

List1.Clear

Tb1.MoveFirst

For I = 1 To Many

List1.AddItem Tb1!Name

Tb1.MoveNext

Next I

هذا مثال بسيط ويمكن أن تنفذه كما يحلو لك ، وإذا لم تكن الفكرة قد اتضحت سوف أضمن هذه الأفكار في مثال بعد غد إن شاء الله لكي أكون قد أنهيت الإختبارات .

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

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

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