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

تمرير البارامتر عن طريق الداتا كنترول

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

السلام عليكم

انا عندى قاعده بيانات فيها استعلام هذا الاستعلام مبنى على 2 بارامتر عايز اعرف ازاى اعرف 2 بارامتر دول فى الفيجوال بيسك

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

ارجو ان يكون كلامى واضح

#2

السلام عليكم...

نرجو فقط توضيح نوع قاعدة البيانات (Access أو SQL Server أو غير ذلك) و هل تستعمل الـ DAO أم ADO للاتصال بقاعدة البيانات.

و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

السلام عليكم

قاعده البيانات اكسس 2003 وانا بستخدم الداتا كنترول العاديه

يعنى بربط الداتا كنترول بقاعده البيانات

ارجو المساعده

#4

مثلاً الإستعلام الاتي :

Select * From MyTable Where Mid ( MyField , 1 , 5 ) ='Ahmed'

في هذا الإستعلام استخدمت Function يطلب 3 برامترات واريد ان احدد البرامتر الاول والثالث من خلال 2 تكست بوكس وايضاً نتيجة الدالة وهي Ahmed نختارها من تكست بوكس في الفيجوال بيسك

إذاً نسخدم الكود التالي مع اداة الداتا كنترول

Data1.RecordSource = "Select * From MyTable Where Mid ( " & Text1.Text & " , 1 , " & Val(Text2.Text) & " ) ='" & Text3.Text & "'"
Data1.Refresh

هل هذا ما تريده ؟؟!

تم تعديل هذه المشاركة بواسطة محمد مصطفي غريب في 6 فبراير 2010 في 17:55

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#5

شكر للاخ محمد مصطفى للرد بس للاسف ان مش ده الى انا اريده

انا عندى استعلامين وليكن الموظفين والتانى العموله

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

استعلام العموله مينى على استعلام الموظفين يعنى بياخد بياناته من استعلام الموظفين فعشان استعلام العموله يتفنذ لازم استعلام الموظفين يتفتح الاول وعشان استعلام الموظفين يتفتح هيطلب منه البارامتر X

ازاى انا بقى فى الداتا كنترول الى واصل بالاستعلام العموله يمرر البارامتر x للاستعلام الموظفين؟؟؟؟؟؟؟؟؟

ارجو ان يكون كلامى واضح ولو فى اى استفسار او شئ مجهول ارجو انك تقولى عشان اوضحه عشان الموضوه ده مهم جدا ليه ومش عارف اوجد له حل

ولك جزيل الشكر

#6

ارجوا فقط ان تضع مثال على جدولين

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#7

الاخد عزيز محمد غريب

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

انا عايز اعمل داتا كنترول واصله بالاستعلام COMMISSION

ارجو الافاده

sample.rar

#8

السلام عليكم...

1. في قاعدة البيانات:

أ. افتح الاستعلام EMPLOYEE في وضعية التصميم، ثم انقر في أي مكان داخل نافذة التصميم بالزر الأيمن و اختر الأمر "معلمات" (Parameters).

ب. قم بتعريف البارامترين (FROM و TO) و اجعل نوعهما "تاريخ/وقت" (Date/Time).

* ملاحظة: قمت بتغيير اسمي البارامترين من FROM و TO إلى FromDate و ToDate لأن FROM و TO قد يعاملهما ACCESS على أنهما أجزاء من عبارات SQL المحجوزة. و أنصحك بالابتعاد عن مثل هذه التسميات.

ج. احفظ الاستعلام، ثم أغلق نافذة التصميم.

2. في Visual Basic:

أ. اضبط الخاصية DatabaseName للـ Data Control على مسار قاعدة البيانات لديك، إما أثناء التصميم أو بالكود هكذا (مع استعمال مسار قاعدة البيانات لديك):

Data1.DatabaseName = "E:\VB 6 Apps\sample.mdb"
Data1.Refresh

ب. اترك الخاصية RecordSource للـ Data Control فارغة.

ج. استعمل كود كالتالي لتعيين قيم البارامترات و فتح الاستعلام ثم إسناد مجموعة السجلات الناتجة إلى الـ Data Control.

Private Sub Command1_Click()
    Dim QD As DAO.QueryDef

' إنشاء كائن يمثل الاستعلام    
    Set QD = Data1.Database.QueryDefs("COMMISSION")
' ضبط قيم البارامترات للاستعلام    
    QD.Parameters("FromDate").Value = CDate(Text1.Text)
    QD.Parameters("ToDate").Value = CDate(Text2.Text)
' إنشاء مجموعة سجلات من الاستعلام و تعيينها إلى مكون البيانات    
    Set Data1.Recordset = QD.OpenRecordset(dbOpenSnapshot)
    QD.Close
' ListBox السطور التالية فقط للتوضيح بعرض البيانات في    
    Do While Not Data1.Recordset.EOF
        List1.AddItem Data1.Recordset("Name") & " = " & CStr(Data1.Recordset("Sales"))
        Data1.Recordset.MoveNext
    Loop
End Sub

افترضت في المثال أن التاريخ الأول و التاريخ الثاني تتم قراءتهما من مربعي نص (TextBox) و طبعاً يمكنك استبدالهما حسب برنامجك.

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#9

حسناً اعتقد ان الاخ najy_zl لم يقصر , جزاه الله كل الخير :)

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

فمثلاً تطبيق على المثال الذي وضعته يمكنك عمل هذا الاستعلام كما بالمرفقات

بالتوفيق ,,,

VB Query.rar

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#10

السلام عليكم ورحمه الله

انا عاجز عن الشكر بصراحه انا استخدمت الطريقتين والحمد لله نفعوا بس بالنسبه للطريقه الاولى بتاعت naji انت عملتها عن طريق List لو انا عايز اعرضها عن طريق داتا جريد اعمل ايه؟

وبالنسبه للاخ محمد غريب شاكر جدا لطريقته لانها وفرت وقت طويل

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

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

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

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

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