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

التحكم في خصائص الاستعلام؟

مغلق
بدأه أبو عاصم في 14 أغسطس 2001 · 6 رد · 709 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كثيراً ما أريد التحكم في خصائص استعلام ما عن طريق النموذج ولكن لم اهتد إلى ذلك حتى الآن مثال:

1- أريد المستخدم يتحكم في الفرز التصاعدي أو عكسه عن طريق أحد النماذج.

2- لدي معيار أكبر من 50 وأريد المستخدم يلغي المعيار إن شاء كما لو كان يريد الكل أو يريد أقل أو أكثر.

3- لدي الاختلاف في الفرز فأحيانا أريد الفرز عبر العمود الأول وأحيانا عبر العمود الثاني أو الثالث.

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

#2

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

فهل تحل المشكلة ؟

#3

بالنسبة لرغبتكم فى استخدام متغير من قبل المستخدم

1- عند عمل الاستعلام

2- اختر الحقل المراد البحث فية وضع فية القوسين واكتب الرسالة داخل المربع التى تريد مثل ادخل الرقم المراد البحث عن ويصتطيع ان يدخل علامة اكبر واصغر

المثال [ادخل الرقم المراد البحث عنه ]

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

#4

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

أعتقد أن الأخ / أبو عاصم

يتمنى ان يكون للمستخدم حرية اختيار الاستعلام .. حيث مثلا .. مرة يريد عرض الاسماء مرتبة ابجديا - و مرة يريد عرض القانتين فى مدينة ما - و اخرى يريد ان يرى ناتج المبيعات اكثر من 500 جنية و مرة اخرى المبيعات اكثر من 1000 جنية و ثالثة اقل من 200 جنية .. و هكذا .. اى استعلام عام و يكون للمتسخدم حرية اختيار اساليب الفرز و الاستعلام

هل هذا ما تريدة يا أخى

أرجو أن اكون قد فهمتك صح :) :)

تقبل تحيات

اخــــBengaـــوك

قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..

#5

أشكر الأخوة على المبادرة في الرد وربما أن الأخ خضر والأخ أبو دانية لم يفهما المقصود تماماّ.

إذ أن المقصود ما ذكره benga حيث يستطيع المستخدم التغيير في معايير أو خصائص الاستعلام.

شكراً لك أخ benga

......

#6

لن يسعفك الا الأكواد البرمجيه..

فالأكواد تمكنك من بناء أعقد أنواع الاستعلام وبناءا على توجيه المستخدم .

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

وحسب الفرز الذي يرغب به ، تستطيع تشكيل الإستعلام كما تشاء :

Private Sub FilterByUSR()
On Error GoTo ErrLog

    Dim txt As String
    Dim txtFromDate
    Dim txtToDate
    Dim TXTGroup
    Dim TXTOrder


    txtFromDate = "#" & Format(dtpFromDate, "MM DD YYYY") & "#"
    txtToDate = "#" & Format(dtpToDate, "MM DD YYYY") & "#"

    txt = "SELECT tblInvoiceDetail.ProductID, tblProduct.Product, " & _
    " tblProduct.عدد_الوحدات_في_المخزن, Sum(tblInvoiceDetail.Quantity) AS " & _
    " SumمنQuantity, Avg(tblInvoiceDetail.PriceEach) AS AvgمنPriceEach, " & _
   " Sum([priceeach]*[quantity]) AS Expr1 " & _
    " FROM tblinvoice INNER JOIN (tblProduct INNER JOIN tblInvoiceDetail ON " & _
    " tblProduct.ProductId = tblInvoiceDetail.ProductID) ON " & _
    " tblinvoice.InvoiceID = tblInvoiceDetail.InvoiceID "


TXTOrder = ""
If chkboxquantity.Value Then
  TXTOrder = " ORDER BY Sum([tblInvoiceDetail].[Quantity]) DESC"
End If

TXTGroup = "GROUP BY [tblInvoiceDetail].[ProductID], " & _
  " [tblProduct].[Product], [tblProduct].[عدد_الوحدات_في_المخزن]"





    If Not IsNull(dtpFromDate) And Not IsNull(dtpToDate) Then

        txt = txt & " WHERE tblinvoice.InvoiceDate BETWEEN " & txtFromDate
        txt = txt & " AND " & txtToDate
        txt = txt & TXTGroup & TXTOrder
    ElseIf Not IsNull(dtpFromDate) Then

        txt = txt & " WHERE tblinvoice.InvoiceDate >= " & txtFromDate
         txt = txt & TXTGroup & TXTOrder
    ElseIf Not IsNull(dtpToDate) Then

        txt = txt & " WHERE tblinvoice.InvoiceDate <= " & txtToDate
          txt = txt & TXTGroup & TXTOrder
    Else


         End If
    With [مبيعات الأصناف].Form

       .RecordSource = txt
       .Requery
    End With
    Exit Sub
ErrLog:
    If Err.Number <> 0 Then
        HandleError Err.Number, Err.Description
        Resume Next
    End If
End Sub
#7

ما قصرت يا أبا لمى..

وفكرة جيدة .. وقد تبادر لي أسئلة جديدة:

1- أن ضعيف في كتابة sql عبر الوحدة النمطية فهل هناك طريقة لتحويل sql التي في شبكة التصميم إلى إستعلام في وحدة نمطية؟ حيث أني حاولت لكن وجدتها تختلف كثيراً.

2- تقارير الأكسس يوجد فيها ميزة التجميع والفرز الجاهزة فهل هناك طريقة لتعديل خصائصها عن طريق الكود بطريقة ميسرة؟ أم لا بد من وضع استعلام في وحدة نمطية كما ذكرت في مثالك.

أشكرك وأشكر الجميع على حسن التجاوب

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

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