اذهب الي المحتوي
أوفيسنا

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


الردود الموصى بها

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

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

ثم نربطه بالتقرير وعند فتح التقرير تظهر لنا رسالة ادخال قيمة معلمة ثم نضع رقم العميل وتظهر لنا البيانات ولكن

لا نستطيع تغيير شكل هذه الرساله

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

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

اريد ان اشرح موضوعي بإستخدام المثال التالي :-

لدي قاعدة بيانات بها معلومات عن العملاء

احمد رقمه 1

محمد رقمه 2

سالم رقمه 3

واريد عرض بيانات محمد فقط

فإن علي القيام بالآتي :-

اولا : انشاء نموذج وليكن اسمه (تحديد بيانات عميل) ثانيا :- إنشاء استعلام

ثالثاا : اشاء تقرير

رابعا:انشاء وحدة نمطية

في النموذج نضع تسمية ( لإعطاء بيانات عن العميل اكتب الرقم )

نضع مربع نص ونسميه رقم العميل افتح خصائص النموذج وفي تبويب "غير ذلك" امام خاصية منبثق حرر الى نعم

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

   Me.Visible = False
اعمل زر آخر وسمه(الغاء) وفي خصائصه في حدث عند النقر اكتب الامر
DOCMD.CLOSE
وفي خصائص النموذج تحت التبويب حدث ننقر انشاء حدث عند الفتح ونكتب بين السطرين
 Me.Caption = Me.OpenArgs
نتجه الآن الى الإستعلام ةفي عرض التصميم نكتب تحت رقم العميل عبارة SQL هذه
[forms]![تحديد بيانات عميل]![رقم العميل]
نتجه الآن الى التقرير افتح خصائص التقرير وفي التبويب حدث انقر امام اجراء حدث ستفتح لك الآن نافذة فيجوال بيسك اكتب بين السطرين :
Private Sub Report_Open(Cancel As Integer  
END SUB
الكود التالي :
DoCmd.OpenForm "تحديد بيانات عميل", , , , , acDialog, "تحديد بيانات عميل"
If Not IsLoaded("تحديد بيانات عميل") Then
Cancel = True
End If
ملاحظة تبدو كتابة الكود معكوسة لذا ارجو نسخها ومن ثم لصقها في نافذة الكود في الاكسس وسوف تظهر انشاء الله بالشكل الطبيعي) اتجه الآن الى الوحدة النمطية وقم بنسخ ثم لصق الكود التالي:-
Option Compare Database
Option Explicit

Function IsLoaded(ByVal strFormName As String) As Integer
 ' Returns True if the specified form is open in Form view or Datasheet view.
    
    Const conObjStateClosed = 0
    Const conDesignView = 0
    
    If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then
        If Forms(strFormName).CurrentView <> conDesignView Then
            IsLoaded = True
        End If
    End If
    
End Function
وعند طلبك الإستفسار عن عميل وهو غير مسجل لديك يتم عرض رسالة تقول بانه لا توجد بيانات لهذا العميل لعمل ذلك اتبع الآتي : افتح خصائص التقرير : في التبويب حدث وامام خاصية عند عدم وجود بيانات انقر انشاء حدث في نافذة الكود بين السطرين :-
Private Sub Report_NoData(Cancel As Integer)

End Sub
انسخ ثم الصق الامر التالي
MsgBox "لا توجد بيانات للعميل المراد البحث عنه تأكد من صحة كتابة الرقم  "
Cancel = True

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

إذا اعجبكم هذا الموضوع سوف نتابع انشاء الله كيفية عرض البيانات خلال فترة زمنية

يعني مثلا عرض تفاصيل فاتورة العميل من الفترة حتى الفترة .

وشكرا لكم .

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

  • 5 months later...

السلام عليكم ايها الاخوة الاكارم

كيف أضع التاريخ الذي يظهر بسبب استعلام موضوع بين قوسين [ ] ومصمم له تقرير قبل أن تطبع يسألك ادخل مجال التاريخ في النافذة الاولى تضع البداية وفي النافذة الأخرى تضع تاريخ النهاية

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

ولكم الشكر

رابط هذا التعليق
شارك

اخى الكريم

التواريخ البداية والنهاية لا توضع في التقارير توضع في الاستعلام ثم تبني التقرير بناء على الاستعلام الذي فية نافذة

[ ادخل بداية التاريخ] و نافذة [ادخل نهاية التاريخ]

رابط هذا التعليق
شارك

اخي العزيز

افضل طريقة للحصول على ماتريده هو اتباع مايلي:

1- قم بعمل نموذج ولنسميه [reports_date] ويحتوي على مربعي نص الاول يحتوي على التاريخ الافتتاحي ولنسميه [from] والثاني يحتوي على التاريخ الختامي ولنسميه [to] واعمل زر امر يقوم بفتح التقرير.

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

Between [Forms]![reports_date]![from] And [Forms]![reports_date]![to]
3- قم بعمل مربع نص في التقرير واجعل مصدر بياناته كمايلي:
="البيانات من تاريخ "&[Forms]![reports_date]![from]&" الى تاريخ "&[Forms]![reports_date]![to]

4- قم بحفظ واغلاق التقرير ثم افتح النموذج وقم بكتابة التاريخين وانقر زر فتح التقرير ولاحظ النتيجة.

مع تحياتي,,,

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information