فهد الدوسري

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

76 ردود في هذا الموضوع

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

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

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

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

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

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

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

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

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

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

تم تعديل بواسطه فهد الدوسري
-1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حوار 1

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

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

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

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

=Count([ID])

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

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

=Count(*)

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حوار 2

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

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

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

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

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

=[CurrentRecord]

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حوار 3

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

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

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

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

=Time()

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

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

Me.tim11.Requery

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حوار 4

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

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حوار 5

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

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

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

Me.text2.Visible = False

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

Me.text2.Visible = True

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

تحياتي ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حوار 6

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

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

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

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

On Error Resume Next

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حوار 7

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

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

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

- ثم خيارات .

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

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

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

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

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

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

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

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

DoCmd.SetWarnings False

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

DoCmd.SetWarnings True

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

بارك الله فيك

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

حوار 8

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

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

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

تم تعديل بواسطه biskra
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

لدي

اسم الطالب

رقمه

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

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

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

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

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

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

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

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

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكراً للأخ زومل والأخت حنان والأخ 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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أخي 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

تحياتي ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .