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

كيفية اظهار حقول و تسميات بشرط

بدأه malak157 في 17 سبتمبر 2011 · 17 رد · 1,038 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

في قاعدة البيانات المرفقة هناك تقرير اسمه HormR

اريد ان يظهر الحقل FSH و كذلك معلومات الشرح عليه فقط عندما تكون قيمة هذا الحقل اكبر من صفر وعندما لا يتحقق هذا الشرط يختفي الحقل وكل الشرح المقابل

فكيف يكون ذلك

ACCC.rar

#2

أخي الفاضل

ضع وقت تحميل التقرير هذا الكود لكي يحقق الشرط المطلوب

Private Sub Report_Load()
If Me.FSH.Text < 1 Then
FSH.Visible = False
تسمية19.Visible = False
تسمية18.Visible = False
End If
End Sub

مرفق ملف بعد عمل التعديلات اللازمة عليه

ACCC_UP.rar

1

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3

شكرا لك اخي الفاضل محمد على هذا العطاء

ولكن انا لا استطيع كتابة الرقم العشري في الحقل فكيف استطيع ان اكتب مثلا 0.12 في حقل FSH و على ذلك لابد وان يظهر في التقرير لانه كما طلبت من حضرتك ان يظهر الحقل عندما يكون اكبر من 0

و كذلك عنما اطبق نفس الكلام على حقول اخرى مثل حقل LH و Prolactin _كما في التعديل المرفق_ فكيف يكون الكود ??????

اي انني في التقرير اريد اظهار الحقول التي بها قيمة اكبر من صفر _وكذلك نصوص الشرح عليها_حتى لوكانت القيمة 0.00001 فهي فعلا اكبر من صفر

افيدوني جزاكم الله خير الجزاء

ACCC2.rar

#4

أخي الفاضل

يجب ان تقوم بتغيير خصائص الحقل الموجود في الجدول اولاً لكي يقبل الارقام العشرية بدلاً من الارقام الصحيحة

وكما هو موضح بالصورة

post-46243-048744700 1316337899_thumb.jp

ثم قم بكتابة الكسر العشري المطلوب

post-46243-043267700 1316337933_thumb.jp

النتيجة في التقرير

post-46243-054871100 1316337950_thumb.jp

ثم قم بعمل تعديل بسيط في الكود ليتوائم مع الوضع الجديد

Private Sub Report_Load()
If Me.FSH.Text < 0 Then
FSH.Visible = False
تسمية19.Visible = False
تسمية18.Visible = False
End If
End Sub

مرفق الملف بعد التعديل

ACCC2_up2.rar

المرفقات
1.jpg2.jpg3.jpg

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 18 سبتمبر 2011 في 12:30

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5

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

<0.0000001 بدلا من <0

لكن تكملة للجميل

اريد تنفيذ نفس الشرط على الحقول الاخرى LH و Prolactin في نفس التقرير

يعني اريد ظهور الحقول التي بها قيمة اكبر من 0 اي 0.1 او 0.122 او 0.055 ............. فقط اما التي بها قيم صفر لا تظهر ( في نفس التقرير)

فما الحل يا استاذي

#6

بعد إذن أستاذي محمد فؤاد

اكتب الكود التالي بدون أن تغير قيمة أي حقل

Private Sub Report_Load()
If Me.FSH.Text < = 0 OR Me.LH.Text < = 0 OR Me.Prolactin.Text < = 0 Then
FSH.Visible = False
تسمية19.Visible = False
تسمية18.Visible = False
End If
End Sub
#7

الخ غرام العقول

اجابتك رائعة ولكني اريد كل حقل والمسميات المقابلة له على حده

بمعنى انني مع مريض معين اريد كتابة تقرير فيه FSH فقط و عندها يكون الحقل به قيمة اكبر من صفر فيظهر الحقل وكذلك مربعات التسمية المقابلة له

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

و هكذا مع مريض ثالث اريد كتابة تقرير به FSH , LH , Prolactin وربما اضيف حقول اخرى........... وهكذا

فأنا اريد ان يظهر في التقرير الحقل الذي به قيمة ( اي تم عمل تحليل فعلا له) والمسميات المقابلة عبارة عن شرح للقيمة فقط اما باقي الحقول التي لم يتم عمل تحليلها فلا داعي ان تظهر

اتمنى ان اكون استطعت توصيل المطلوب

و جزاكم الله خيرا

#8

استخدم نفس عملية الأخ محمد فؤاد تركي ولكن اعكسها وستؤدي الغرض أي تكون كالتالي:


If Me.FSH > 0 Then
FSH.Visible = True
Else
FSH.Visible = False
End If
End Sub
Private Sub Report_Load()

وأي قيمة أكبر من الصفر سيظهر الحقل حتى لو كانت 0.000000000000000000000000000000000000001 وأي حقل يضاف تريد تطبيقها عليه يضاف هنا wink.gif ، مع ملاحظة أن من الافضل أن تكون أسماء الحقول بالحروف اللاتينية حتى لا تصادف مشاكل مستقبلا. 012.gif

تم تعديل هذه المشاركة بواسطة superhot3000 في 19 سبتمبر 2011 في 16:32

#9

لدي اوفيس 2003 ولم أستطع فتح قاعدة البيانات المرفقة في مثالك , لأنني أريد أن أرى أين تقوم بإدخال البيانات , هل في نموذج؟ وما هي القيمة الافتراضية لحقول الإدخال؟ وهل الخاصية "مرئي" معينة ألى "نعم" أم "لا"؟ وهل يستقي التقرير بياناته من جدول أم من استعلام؟ وأشياء أخرى.

فهل تستطيع إعادة رفع المرفق بعد حفظه بصيغة ACCC.mdb ?

#10

الملف فعلا mdb 2003

ويتم ادخال البانات عن طريق نموذج AddHorm

ACCC3.rar

#11

أخي malak157 لاحقة الملف هي accdb. وليست mdb. بمعنى أنه لاينفتح إلا بواسطة أوفيس 2007 وما فوق

قم بحفظ الملف عن طريق حفظ باسم ثم اختر صيغة mdb.

#12

إن أذنتم لي

خاصية عنصر التحكم Visible تقبل القيمة المنطقية... والقيمة المنطقية يعبر عنها بـــ True . False أو Yes, No أو (صفر، أكبر من الصفر)....

والبتالي يمكن جعل قيمة الخاصية قيمة الحقل نفسه ... بمعني إذا كانت قيمة الحقل صفر فسوف يختفي عنصر التحكم ، وإذا كانت قيمة الحقل أكبر من الصفر فسوف يظهر عنصر التحكم..

Private Sub Report_Load()

        FSH.Visible = Me.FSH

End Sub
#13

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

لذا سوف يكون الحل كما يلي:

Private Sub Report_Load()

        FSH.Visible = Me.FSH
LH.Visible = Me.LH
Prolactin.Visible = Me.Prolactin            
End Sub

أما إذا أردت الإسهاب وتجنب البلاغة الرائعة , فيمكنك أيضاً كتابة الكود التالي:

Private Sub Report_Load()
If Me.FSH.Text <= 0 Then
FSH.Visible = False
ElseIf Me.LH.Text<=0 Then
LH.Visible = False
ElseIf Me.Prolactin.Text<=0 Then
Prolactin.Visible = False
End If
End Sub

أخي Malak157 لا داعي لرفع المثال , قم بتجربة أي من الكودين السابقين

تم تعديل هذه المشاركة بواسطة غرّام العقول في 19 سبتمبر 2011 في 15:59

#14

بارك الله فيكم جميعاً

كنت مشغول كثيراً اليوم ورأيت مشاء الله مداخلات كثيرة جداً

بالتوفيق للجميع

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#15
superhot3000 كتب:

استخدم نفس عملية الأخ محمد فؤاد تركي ولكن اعكسها وستؤدي الغرض أي تكون كالتالي:


If Me.FSH > 0 Then
FSH.Visible = True
Else
FSH.Visible = False
End If
End Sub
Private Sub Report_Load()

وأي قيمة أكبر من الصفر سيظهر الحقل حتى لو كانت 0.000000000000000000000000000000000000001 وأي حقل يضاف تريد تطبيقها عليه يضاف هنا wink.gif ، مع ملاحظة أن من الافضل أن تكون أسماء الحقول بالحروف اللاتينية حتى لا تصادف مشاكل مستقبلا. 012.gif

هذه الطريقة أسهل happy.gif

#16

الله عليكم

طبعا فية اكثر من اجابة صحيحة و رائعة

لكني استخدمت اجابة الاخ الفاضل القحم مع بعض التعديلات او الاضافات

Private Sub Report_Load()

FSH.Visible = Me.FSH

ufsh.Visible = Me.FSH

nfsh.Visible = Me.FSH

LH.Visible = Me.LH

ulh.Visible = Me.LH

nlh.Visible = Me.LH

Prolactin.Visible = Me.Prolactin

uprl.Visible = Me.Prolactin

nprl.Visible = Me.Prolactin

End Sub

#17

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

فانا اخترت الكود

If Me.FSH > 0 Then

FSH.Visible = True

ufsh.Visible = True

nfsh.Visible = True

Else

FSH.Visible = False

ufsh.Visible = False

nfsh.Visible = False

End If

If Me.LH > 0 Then

LH.Visible = True

ulh.Visible = True

nlh.Visible = True

Else

LH.Visible = False

ulh.Visible = False

nlh.Visible = False

End If

If Me.Prolactin > 0 Then

Prolactin.Visible = True

uprl.Visible = True

nprl.Visible = True

Else

Prolactin.Visible = False

uprl.Visible = False

nprl.Visible = False

End If

وكذلك يعمل جيدا عند معاينة التقرير لكن عندما وضعت زر امر طباعة التقرير في النموذج مباشرة لا يعمل اي يطبع كل الحقول

فهل يقترح علي احد بشئ افضل .............

اخي غرام العقول لم استطع حفظ الملف بصيغةmdb لان الملف به تنسيقات 2007

الملف بأخر كود

ACCC4.rar

#18

فيما يتعلق بالقيم الخالية أنت بين خيارين

- أن تعين الصفر قيمة افتراضية للحقول الرقمية بالذهاب إلى الحقول التي هي مصدر القيم وفي تبويب البيانات تضع القيمة الافتراضية (صفر) ... وهي المفضلة لدي

- استخدام دالة ()Nz بالطريقة التالية (Nz(IsNull(Me.FSH),0

هناك خيار ثالث.. وهو تحويل بيانات الحقل إلى بيانات منطقية باستخدم دالة التحويل ()Cbool

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

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

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

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

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