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

سؤال متعلق بجمع قيم حقل في مربع نص عند الاستعلام عنها

مغلق
بدأه العالم في 26 أكتوبر 2006 · 7 رد · 723 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

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

اخواني الاعضاء والمشرفين .. حياكم الله ..

لدي قاعدة بيانات بها جدول واحد وهذا الجدول يحتوي على خمسة حقول وهو خاص بالموظفين .. حيث انني استخدم الكود التالي لاستعراض الجدول في اداة الداتا قريد وكذلك من اجل ان يقوم المستخدم بالاستعلام عن موظف معين من خلال ادخال اسمه في مربع النص المسمى Text1 والنقر على زر بحث .. الى هنا الكود سليم وجيد وهو كالتالي :

If Text1.Text = "" Then
MsgBox "من فضلك ادخل اسم الموظف ", vbCritical
Exit Sub
End If
If rc1.State = adStateOpen Then rc1.Close
rc1.Open "SELECT * FROM [tblrepot] WHERE [fpcs] = '" & Trim(Text1) & "'", cn, adOpenStatic, adLockReadOnly
Call bin

ولكنني حاولت ان اضيف مربع نص آخر وليكن Text2 وغرضه يستعرض حقل الراتب للموظف اي اقصد (( مجموع الرواتب لكل الموظفين ) اي عملية جمع وقمت باستخدام الكود الكود التالي :

Sub bin()
Dim vc As New ADODB.Connection
Dim va As New ADODB.Recordset
vc.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=0101; Data Source=" & App.Path & "\Datas.DAT"
sql = " select sum (ftotal) from tblrepot "
va.Open sql, vc, adOpenStatic, adLockOptimistic
Label12.Caption = va(0).Value
end sub

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

ارجوا حل هذه المشكلة ولكم مني جزيل الشكر و التقدير

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#2

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

أنت كتبت الكود بطريقة صحيحة ولكن يجب عليك أن تظيفي كلمة Where

مثلا :

Sub bin()
Dim vc As New ADODB.Connection
Dim va As New ADODB.Recordset
vc.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=0101; Data Source=" & App.Path & "\Datas.DAT"
sql = " select sum (ftotal) from tblrepot  WHERE [fpcs] = '" & Trim(Text1) &  "'"
va.Open sql, vc, adOpenStatic, adLockOptimistic
Label12.Caption = va(0).Value
end sub

موفقة إن شاء الله

الحاج نقيبل برمجة عامة

#3

السلام عليكم

سؤالي تقريبا مشابه لسؤال الأخ الكريم

سؤالي هو كيف أجمع أعداد من حقل قاعدة بيانات موضوعة في قائمة وأضع الناتج في مربع نص

يعني

القائمة هي :

11

12

13

15

16

----

الناتج هو : 67

وللتوضيح لقد أرفقت مثال ولكن بدون قاعدة بيانات

وشكرًا لكم جميعًا

علمًا أنني أستخدم أداة Data يعني لو سمحتوا الكود يكون للأداة Data

Example.zip

تم تعديل هذه المشاركة بواسطة ail_fahad777 في 27 أكتوبر 2006 في 01:02

#4

للرفع

up

up

up

#5

معقووووووووووووووولة سؤالي مرة صعب

للرفع يا جمااااعة مرة ثانية

#6

180.gif

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

sql = " select sum [اسم الحقل] from [اسم الجدول] "

على العموم الطريقة مشابهة تمام لهذا الطريقة على هذا الرابط

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

Dim X%

	Do Until rs.EOF
	X = val(X) + rs.Fields("اسم الحقل")
	rs.MoveNext
	Loop

'HnHn : الناتج النهائي

Text1 = X

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

rs.MoveNext

rs : تمثل السجلات والتي هي Data1.Recordset كما تريدها انت

تم تعديل هذه المشاركة بواسطة HnHn في 28 أكتوبر 2006 في 20:57

سجل ايميلك هنا

googlejb5.gif ليصلك كل ما هو مفيد في عالم البرمجة
#7

شكرًا لك أخي الكريم hnhn

لكن أنا ما أستخدم جمل sql لأني ما أعرفها

جزاك الله خير

#8

استخدم جمل التكرار اذا وقد وضحت طريقتها في الرد السابق

سجل ايميلك هنا

googlejb5.gif ليصلك كل ما هو مفيد في عالم البرمجة

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

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

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

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

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

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