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

حوار مع فهد الدوسري

مثبّترائج
بدأه فهد الدوسري في 14 نوفمبر 2004 · 75 رد · 38,955 مشاهدة · في قسم أرشيف الاكسيس التعليمي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

جلست مع أحد المبتدئين في الأكسس فبدأ يسأل وأنا أجيب حسب خبرتي المتواضعة التي اكتسبتها من المنتدى وكذلك حسب ما هو موجود لدي من مخزون كبير من البرامج التي أعدها أعضاء المنتدى .. وقد خطر في بالي أن أقوم بتدوين هذا الحوار .. وهناك أيضاً أشياء لم تحصل في الحوار أحببت أن أدرجها كحوار لينتفع بها من يريدها من الأعضاء .

طرفا الحوار هما :-

1- محمد : وهو المبتدئ في الأكسس .

2- فهد الدوسري .

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

ملحوظة مهمة جداً جداً :

((بالنسبة للأكواد إذا خرجت بطريقة غير صحيحة هنا فقم بنسخها ولصقها في المكان المحدد لها في الأكسس لتراها بالطريقة السليمة والصحيحة وذلك حسب الشرح المصاحب لكل كود)) .

( سوف أضع كل حوار في رد منفصل حتى لا تتشعب الأفكار وتضيع وأرحب بأي إضافة أو تعديل من أي عضو من الأعضاء )

بسم الله نبدأ .. وعليه نتوكل .. وبه نستعين .

تم تعديل هذه المشاركة بواسطة فهد الدوسري في 14 نوفمبر 2004 في 08:26

−1
#2

حوار 1

= محمد : كيف أعرف عدد السجلات من خلال شاشة النموذج ؟

= فهد الدوسري : لكي تعرف عدد السجلات قم بما يلي :-

- ضع مربع نص غير منظم في النموذج .

- ضع في مصدر عنصر التحكم لهذا الحقل الكود التالي ..

=Count([ID])

بعتبار أن اسم حقل رقم الموظف مثلا لديك هو ID

أما إذا أردت معرفة عدد السجلات بدون الاعتماد على أي حقل فضع نجمة بدلاً من اسم الحقل

=Count(*)
1
#3

حوار 2

= محمد : عرفت من خلال الكود الذي ذكرته في الحوار 1 عدد السجلات لدي ولنفرض أنها كانت (20) سجلاً .. هل أستطيع معرفة رقم السجل الحالي من بين هذه السجلات ؟ .

توضيح للسؤال : عدد السجلات (20) ورقم السجل الحال مثلاً (15) أو ( 11 ) وهكذا .

= فهد الدوسري : لكي تعرف ذلك أعمل ما يلي :-

- ضع مربع نص غير منظم في النموذج .

- ضع في مصدر عنصر التحكم لهذا الحقل الكود التالي ..

=[CurrentRecord]
2
#4

حوار 3

= محمد : كيف أستطيع أن أجعل الساعة في شاشة النموذج يتم تحديثها أولاً بأول ؟

= فهد الدوسري : إذا أردت ذلك فعمل ما يلي :

- ضع مربع نص غير منظم في النموذج وسمه مثلاً tim11

- ضع في مصدر عنصر التحكم لهذا الحقل الكود التالي ..

=Time()

- إذهب إلى خصائص النموذج ومن ثم حدث ومن ثم الفاصل الزمني لعداد الوقت وضع فيه الرقم 1000 وهذا يعني ثانية واحده .

- إذهب عند عداد الوقت ثم أختر إجراء حدث ثم أضغط على الزر ذو الثلاث نقط ... ليفتح لك محرر الفيجول بيسك وضع فيه الكود التالي ..

Me.tim11.Requery

وبذلك يتم تحديث الوقت أولاً بأول .

#5

حوار 4

= محمد : أريد أن أضع التاريخ في النموذج بصورة صحيحة بمعنى يكون اليوم ثم الشهر ثم السنة وليس العكس ؟

= فهد الدوسري : يمكن ذلك من خلال الآتي : -

- ضع مربع نص غير منظم في النموذج وسمه مثلاً dat11

- إذهب إلى خصائص النموذج ومن ثم حدث ثم عند الفتح وضع فيه الكود التالي ..

dat11 = Format(Date, "yyyy/mm/dd")
#6

حوار 5

= محمد : كيف أستطيع أن أخفي أحد مربعات النص في النموذج ؟

= فهد الدوسري : لنفترض أن اسم مربع النص لديك هو text2 وتريد إخفائه عند ضغط الزر مثلاً .

- إذهب إلى حدث عند النقر لهذا الزر ثم أفتح محرر الفيجول بيسك - وقد شرحت لك في الحوار 3 كيف تفتح محرر الفيجول بيسك - ثم ضع فيه الحدث التالي ..

Me.text2.Visible = False

ولكي نقوم بإظهار الحقل استخدم الكود التالي ..

Me.text2.Visible = True
#7

أستسمح أخي فهد بوضع حواره رقم 5 كدرس بالصور يوضح كيفية وضع الكود على زري اٍظهار و اٍخفاء حقل النص مطبق على مثال, حتى يستفيد منه السائل, من خلاله سوف يتعرف على كيفية فتح محرر الفيجوال بيسك و كذلك أين يضع الكود, ثم يشاهد على الصور المثال مطبق لاٍخفاء مربع النص عندما يضغط على الزر المعد لذلك, ثم اٍظهاره عند الضغط على الزر الآخر.

اٍن كانت هذه الطريقة مفيدة سوف أواصل مع فهد بهذه الطريقة,أنتظر تعليقكم على الموضوع.

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

درس بالصور لاٍخفاء الحقل لفهد الدوسري.rar

#9

بارك الله فيك أخي biskra

يشرفني مشاركتك أنت وكل من يريد إيصال المعلومة للغير ففي هذا استفادة للجميع .

تحياتي ..

#10

حوار 6

= محمد : أحياناً أضع حدث في التقرير (عند عدم وجود بيانات) لكي لا يتم فتح التقرير أو طباعته وهو فارغاً والحدث الذي أستخدمه هو ..

MsgBox "لا توجد بيانات في التقرير", , "تنبيه"
DoCmd.CancelEvent

ولكن عند خروج هذه الرسالة تخرج رسالة أخرى بعدها مفادها أنه تم إلغاء الأمر فهل أستطيع التخلص من هذه الرسالة ؟

= فهد الدوسري : نعم بإمكانك التخلص منها .. في حدث عند النقر للزر الذي يقوم بفتح هذا التقرير قم بوضع هذا الكود قبل أمر فتح التقرير وبذلك تتخلص من هذه الرسالة والكود هو ..

On Error Resume Next

وهذا الكود نستخدمه إذا أردنا التخلص من رسائل الخطأ الموجودة في الأكسس .

#11

الدرس لمن أراد تنزيله بالصور للحوار رقم 6 و نظرا لتجاو الملف للحجم المسموح به فقد رفعته على الرابط التالي:

http://www.neqashalhoob.host.sk/index.php?...د%20الدوسري.rar

أما المثال المصمم بناءا على الشرح المقدم من طرف الأستاذ فهد فهو هنا

درس أحياناً أضع حدث في التقرير (عند عدم وجود بيانات) فهد الدوسري.rar

#12

حوار 7

= محمد : تعلمت في الحوار رقم 6 كيف نعطل بعض رسائل الخطأ في الأكسس ولكن هناك رسائل أخرى تخرج مثلاً عندما أعمل زر في النموذج ليقوم بتشغيل استعلام تحديث أو حذف فإنه يخرج لي رسائل تحذيرية من الأكسس .. هل أستطيع أن ألغي هذه الرسائل أيضاً ؟

= فهد الدوسري : نعم يمكنك إلغاء هذه الرسائل عن طريق الأكسس كما يلي : -

- من شريط الأدوات الخاص بالأكسس نضغط ( أدوات ) .

- ثم خيارات .

- ثم (تحرير/ بحث).

- ثم نزيل علامة الصح من أمام ( الاستعلامات الإجرائية). ثم موافق.

هذه الطريقة خاصة بالأوفيس أكس بي .

طبعاً هذه الطريقة تمنع رسائل الاستعلامات في جهازك فقط يعني إذا نقلت برنامجك إلى جهاز آخر فسوف تعمل رسائل الاستعلامات الإجرائية لذلك استعمل تعطيل الرسائل عن طريق الكود كما يلي : -

لنفترض أنك تريد تشغيل استعلام تحديث أو استعلام حذف وليكن اسمه مثلا Q1

أكتب هذا الكود في حدث عند النقر للزر الخاص بتشغيل هذا الاستعلام ..

DoCmd.SetWarnings False
DoCmd.OpenQuery "Q1", acNormal, acEdit
DoCmd.SetWarnings True

فبوضع هذا الكود قبل فتح استعلام التحديث أو الحذف يتم إلغاء الرسائل والكود هو ..

DoCmd.SetWarnings False

أما هذا الكود فهو يعيد عمل الرسائل .

DoCmd.SetWarnings True
1
#13

حوالي 400 قراءة للموضوع, ما شاء الله , لكن الأستاذ فهد له حق عليكم في التفاعل مع الموضوع مجرد دعاء منكم يكون دافعا قويا لصاحب الموضوع للمواصلة معكم في حواره الذي سوف يزداد غنا يوما بعد يوما اٍن شاء الله.

لا تتأخروا في التفاعل مع الموضوع و طرح الأسئلة التي تكون مرتبطة مع الحوارات حتى يحافظ الموضوع على انسجامه.

1
#14

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

بارك الله فيك

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

لكم مني خالص التقدير

*********************

دروس الاكسس

قاعدة بيانات بالسي++

قاعدة بيانات اخرى بالسي++

الفريق العربي للبرمجه

*********************

كان الله في عون العبد مادام العبد في عون اخيه

#15

شكراً لكما أستاذ biskra وأستاذ عبدالهادي الألمعي على التفاعل وفعلاً كل ما أحتاجه هو الدعاء وطلب التوفيق من الله حتى أواصل ما بدأت إن شاء الله .

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

حوار 8

= محمد : لدي حقلين الأول N11 والثاني N12 أريد عندما أكتب في الحقل الأول رقم 1 يكون في الحقل الثاني ( ذكر ) وإذا كتبت رقم 2 يكون في الحقل الثاني ( أنثى ) فما الطريقة ؟

= فهد الدوسري : أكتب في مصدر عنصر التحكم الخاص بالحقل N12 الكود التالي ..

=Switch([N11]=1;"ذكر";[N11]=2;"أنثى")

أو بإمكانك استخدام هذا الكود أيضاً ..

=Choose([N11];"ذكر";"أنثى")

وهناك طرق أخرى لعمل ذلك .

#16

عندي سؤال فيما يخص الحوار رقم 8

لنفترض أنني أريد عوض كتابة رقم 1 أو 2 أن أكتب كلمتين من اٍختياري هل يجب أن أعوض رقمي 1 و 2 بالكلمتين التي أريدها في الكود؟

تم تعديل هذه المشاركة بواسطة biskra في 18 نوفمبر 2004 في 22:51

#17

اخي الاستاذ فهد

سوف اثبت هذا الموضوع لانه فعلا يستاهل التثبيت

وطبعا انت ياخبير المعرف لا يعرف

لكم مني خالص التقدير

*********************

دروس الاكسس

قاعدة بيانات بالسي++

قاعدة بيانات اخرى بالسي++

الفريق العربي للبرمجه

*********************

كان الله في عون العبد مادام العبد في عون اخيه

#18

إجابة عن سؤال الأستاذ biskra

نعم يجب تغيير الأرقام بالكلمات التي تريد ووضعها بين علامة تنصين هكذا ..

=Switch([N11]="محمد";"ذكر";[N11]="ساره";"أنثى")

فإذا كان مربع النص N11 يحتوي على كلمة محمد يكون مربع النص N12 ذكر .

وإذا كان مربع النص N11 يحتوي على كلمة ساره يكون مربع النص N12 أنثى .

شكراً للأستاذ عبدالهادي الألمعي على تثبيت الموضوع وتفاعله معه .

#19

لدي سؤال حول اختيار البيانات من الجداول

لدي

اسم الطالب

رقمه

جنسيته : سعودي" 1 " مصري " 2 " يمني " 3 " ........

وضعه الدراسي : ناجح "1" --- أو راسب "2" ---- او مستمع "3 "

السنة : 1 أو 2 أو 3 أو 4 أو 5 أو 6

صفه الدراسي أ - ب - ج

س : كيف يمكنني استخراج التالي :

السعوديون في السنة 1

غير السعوديين الراسبين في السنة 2 الشعبة ب

جواب هذين السؤالين يحل لي مشاكل كثير ة

1
#20

جزاك الله عنا خير الاستاذ الفاضل فهد الدوسري

احببت اقول اني متابعة معكم .....

1
#21

بالفعل جزاك الله خيرا لقد افادتنى كيثرا من خلال اسلوبك السهل البسيط , عندى سئوال

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

او بمعنى اخر لو ناتج العملية = سالب اذن يكتب فى مربع النص صفر

#22

جزاك الله خيرا أخ فهد وجعله فى ميزان حسناتك

جميله جدا هذه الطريقة -محمد يسأل وفهد يجيب-

هيا اكمل ونحن معك

#23

شكراً للأخ زومل والأخت حنان والأخ tamerzaki والأخ AboSara على التفاعل مع الموضوع .. أما بالنسبة لمن يريد السؤال فليكن محصوراً في الحوار فقط حتى لا يختلط الحابل بالنابل وتضييع الأفكار ..ومن لديه أي سؤال خارج عن موضوع الحوار فليقم بفتح موضوع جديد ويدرج فيه ما يريد من أسئلة وسوف يجد الإجابة بإذن الله من الأعضاء .

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

حوار 9

= محمد : لدي تقرير اسمه مثلاً ReNeme وأريد من خلال النموذج أن أقوم بمعاينة هذا التقرير أو طباعته ولكني أريد أن يعرض لي هذا التقرير أو يطبع لي السجل المعروض حالياً على النموذج وليس جميع البيانات .. فكيف الطريقة ؟

= فهد الدوسري : لنفترض أن لديك من ضمن حقول هذا التقرير والنموذج حقل نوعه رقمي واسمه ID وحقل آخر نوعه نصي واسمه Name1 لكي نقوم بالربط بين النموذج والتقرير عن طريق أحد هذين الحقلين سواء الحقل الرقمي أو الحقل النصي فنعمل ما يلي :-

- ضع في حدث عند النقر للزر الذي في النموذج والذي من خلاله يتم فتح تقرير ReNeme الكود التالي ..

- لمعاينة التقرير ..

إذا أردت عمل ذلك على حقل نوعه رقمي واسم الحقل ID فضع الكود التالي ..

Dim stLinkCriteria As String
stLinkCriteria = "[ID] =" & Me![ID]
DoCmd.OpenReport "ReNeme", acViewPreview, , stLinkCriteria

وإذا أردت عمل ذلك على حقل نوعه نصي واسم الحقل Name1 فضع الكود التالي ..

Dim stLinkCriteria As String
stLinkCriteria = "[Name1]=" & "'" & Me![Name1] & "'"
DoCmd.OpenReport "ReNeme", acViewPreview, , stLinkCriteria

- أما لطباعه التقرير ..

إذا أردت عمل ذلك على حقل نوعه رقمي واسم الحقل ID فضع الكود التالي ..

Dim stLinkCriteria As String
stLinkCriteria = "[ID] =" & Me![ID]
DoCmd.OpenReport "ReNeme", acViewNormal, , stLinkCriteria

وإذا أردت عمل ذلك على حقل نوعه نصي واسم الحقل Name1 فضع الكود التالي ..

Dim stLinkCriteria As String
stLinkCriteria = "[Name1]=" & "'" & Me![Name1] & "'"
DoCmd.OpenReport "ReNeme", acViewNormal, , stLinkCriteria

أرجو أن يكون ذلك واضحاً لك .

#24

شكرا لسيادتكم على هذا المجهود الرائع . لى سئوال على الحوار رقم 8

لقد قمت بتطبق المثال الموجود , علما بان لدى حوالى 150 رقم اريد ان تكتب 150 كلمة وقد بدأت كتابتها وعندما وصلت الى الرقم 16 ظهرت رسالة تقول ان الامر او الكود الذى ادخلته معقد جدا . فهل هناك طرق اخرى للاحجام الكبيرة من البيانات وانا قد استخدمت كود قاعدة switch وشكرا لك .

#25

أخي tamerzaki إذا كانت البيانات طويلة فيمكنك استخدام الدالة Choose هكذا ..

=Choose([text1];"محمد";"فهد";"راشد";"عبدالله";"عبدالعزيز";"غانم";"إبراهيم";"صالح";"صلاح";"سلطان";"علي";"فالح";"سعد";"سعود";"حمد";"عمر")

أو استخدام الدالة Select Case هكذا ..

Select Case text1
Case Is = 1
text3 = "محمد"
Case Is = 2
text3 = "فهد"
Case Is = 3
text3 = "راشد"
Case Is = 4
text3 = "عبدالله"
End Select

تحياتي ..

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