بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
1,745 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
29
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو صالح حمادي
-
الحمد لله نحن نشترك في هذا الأمر و أنا أيضا لم ادرس البرمجة و لكن تعلمت الخورزميات وحدي بالمطالعة فهي أساس البرمجة ثم مارست لغة الفجوال بسيك قليلا قبل الإنتقال إلى الأكسس و الآن أنا أتعلم الدلفي إلى جانب الأكسس هذا كله هواية للبرمجة. مع العلم أن إختصاصي مختلف تماما و هو "ماستر هندسة كهربائية"
-
الــدرس الرابع: الجملة الشرطية ( IIF ) ( لقد قام أستاذي و أخي جعفر حفضه الله بتقديم هذا الدرس كله و أنا لم أفعل شيء سوى التنسيق و النشر فاللهم جازيه عنا خير الجزاء يا رب العالمين) طريقة استعمال ((iif: iif(expr, truepart, falsepart) iif(القيمة المطلوب تقييمها, اذا كان التقييم صح فستأخذ هذه القيمة, اذا كان التقييم خطأ فستأخذ هذه القيمة) مثال: Age=50 Age_Now = iif(Age=50 , "Yes it is", "No it is not") ميزاتها: نستطيع استعمالها في الكود ، والاستعلام نستطيع ان نضع اكثر من شرط واحد فيها مثال: Price=10 Qty=5 Sale_is= iif(Price* Qty = 50 , "Low sale", iif(Price * Qty = 100 , "Middle sale" , "Big sale")) عيوبها: الدالة تختبر جميع الحالات ، ولا تختبر القيمة الاولى وتخرج (مثل الـ IF): 1. المثال السابق ، مع ان اول تقييم هو الجواب الصحيح 10*5=50 ، إلا ان الدالة ستقوم بتقييم جميع الاختيارات ، مما يجعلها تأخذ وقت اطول للتقييم ، 2. بسبب اختبارها لجميع الحالات ، فيجب ان نكون دقيقين في وضع التقييم ، مثلا اذا اردنا اختبار قيمة مثال: Divide = iif(n2 = 0, MsgBox("القيمة صفر"), MsgBox(n1 / n2)) فاننا سنحصل على خطأ ، لأن الدالة تحققت من القيمتين ، والقيمة الثانية هي تقسيم رقم على صفر ، 3. بطيئه نوعا ما ، لأنها تحول الارقام الى Variant (رجاء مراجعة الدرس الاول للأخ صالح) ، ثم تقوم بالحساب ، 4. لا تستطيع ان تستخدم اكثر من 7 شروط في الاستعلام ، مثلا عندنا ارقام الاشهر ونريد نستخرج اسمائها ، 5. ببساطة مكن ان تخطأ في عدد الاقواس والفواصل ، 6. لا تستطيع قراءة ولا تغيير اي شئ بسهولة ، وخصوصا اذا كان عندنا اكثر من تقييم ، امثلة عملية: 1. اذا عندنا ارقام الاسبوع ، ونريد ان نستخرج ايامها ، فاذا عملنا الكود في الاستعلام مباشرة ، فسيكون صعب ، لذا ، فالطريقة التي اعملها انا هي: أ- عمل الكود في محرر VBA ، هكذا: لاحظ اني عملت اول شرط ونتيجة القيمة الصحيحة ، ثم انهيت السطر بخط سفلي _ (واللي معناه في البرمجة ان الكود سيتواصل في السطر التالي ، ثم انتقلت السطر التالي ، ونفس الشئ ، عملت الشرط التالي ونتيجة القيمة الصحيحة و.... كما سبق و... الى ان نوصل للسطر الاخير ، فوضعت الشرط الاخير ونتيجة القيمة الصحيحة والخطأ ، ثم حسبت كم قوس مفتوح ، فقفلت بنفس عددها: iDay = 2 Today_is = IIf(iDay = 1; "Sun"; _ IIf(iDay = 2; "Mon"; _ IIf(iDay = 3; "Tue"; _ IIf(iDay = 4; "Wed"; _ IIf(iDay = 5; "Thu"; _ IIf(iDay = 6; "Fri"; "Sat")))))) ب- والخطوة التالية ان نجعلها في سطر واحد ، حتى نأخذها للإستعلام ، وهي ان نحذف الاشارة _ ، لتكون النتيجة Today_is = IIf(iDay = 1; "Sun"; IIf(iDay = 2; "Mon"; IIf(iDay = 3; "Tue"; IIf(iDay = 4; "Wed"; IIf(iDay = 5; "Thu"; IIf(iDay = 6; "Fri"; "Sat")))))) . هكذا . 2. اذا عندنا سجلات الصف الاول والثاني ، واردنا معرفة عدد الطلاب لكل صف: iif([Section]= "A" ; 1;0) وهكذا تكون في الاستعلام: 3. اذا عندنا اكثر من 7 شروط (ارقام الاشهر نريد تحويلها الى اشهر) ، فهنا نضطر الى عمل وحدة نمطية: Function What_Month(M) Select Case M Case 1 What_Month = "Jan" Case 2 What_Month = "Feb" Case 3 What_Month = "Mar" Case 4 What_Month = "Apr" Case 5 What_Month = "May" Case 6 What_Month = "Jun" Case 7 What_Month = "Jul" Case 8 What_Month = "Aug" Case 9 What_Month = "Sep" Case 10 What_Month = "Oct" Case 11 What_Month = "Nov" Case 12 What_Month = "Dec" End Select End Function ونرسل لها ارقام الاشهر ، هكذا . والنتيجة
- 40 replies
-
- 12
-
الدرس الثالث: الدالة Select Case تشبه الدالة Select Case إلى حد كبير الدالة If و لكنها تختلف عنها بالتعدد أي أنها تكون في الشروط المتعددة. طريقة الاستعمال: الصيغة الأولى: Select Case Expression Case Expression_1 Statement_1 Case Expression_2 Statement_2 Case Expression_n Statement_n End Select تقوم الدالة Select Case باختبار حالة الكائن أو المتغير Expression و مقارنتها أو مطابقتها مع الحالات الموجودة بداخلها. و عند تحقق الشرط مع إحدى الحالات يقوم البرنامج بتنفيذ التعليمة Statement التابعة لهذه الحالة. و عند عدم مطابقة الكائن أو المتغير لجميع الحالات فإن البرنامج لا يعطينا أي نتيجة. مثال1: كتابة الأرقام من 1 إلى 4 بالحروف Select Case me.le_nombre Case 1 Me.y = "واحد" Case 2 Me.y = "إثنان" Case 3 Me.y = "ثلاثة" Case 4 Me.y = "أربعة" End Select أضفنا مربع نص اسمه le_nombre لإدخال الأرقام و مربع نص اسمه y من أجل ظهور النتيجة. الصيغة الثانية: Select Case Expression Case Expression_1 Statement_1 Case Expression_2 Statement_2 Case Expression_n Statement_n Case Else Other_statement End Select في هذه الصيغة عند عدم تحقق الشرط مع جميع الحالات يتم إرجاع التعليمة الإستثنائية Other_statement مثال2: نفس المثال الأول Select Case me.le_nombre Case 1 Me.y = "واحد" Case 2 Me.y = "إثنان" Case 3 Me.y = "ثلاثة" Case 4 Me.y = "أربعة" Case Else me.y = "هذا الرقم غير موجود" End Select هذا عندما نضيف أي رقم يختلف عن 1 أو 2 أو 3 أو 4 يطبع لنا "هذا الرقم غير موجود" مثال 3: برنامج كتابة ملاحظات التلاميذ حسب الدرجة Select Case Me.Degre Case 0 To 30 Me.y = "ضعيف" Case 30 To 49 Me.y = "دون الوسط" Case 50 To 69 Me.y = "مقبول" Case 70 To 89 Me.y = "جيد جدا" Case 90 To 100 Me.y = "ممتاز" Case Else Me.y = "هذه الدرجة خاطئة" End Select هنا إستخدمنا To معناه إلى مثلا: من 0 إلى 30
- 40 replies
-
- 12
-
استفسار بخصوص الرسائل الخاصة في المنتدى
صالح حمادي replied to kaser906's topic in قسم الأكسيس Access
أستاذ تشيفان هنا تجد ما تبحث عنه. -
مثال على استعمال And: If UserName="أبو خليل" And Password=2017 Then MsgBox"مرحبا أستاذ أبو خليل" End If في هذا المثال إذا كان اسم المستخدم هو أبو خليل و كلمة المرور هي 2017 سوف يقوم البرنامج بعرض رسالة ترحيبية MsgBox"مرحبا أستاذ أبو خليل" و إذا إختل أحد الشرطين فلن يتم تنفيذ التعليمة. يعني لتنفيذ التعليمة يجب تحقق الشرطين في نفس الوقت. مثال على استعمال Or: If Died_Father=true Or Died_Mother=False Then MsgBox "يتيم" End If في هذا المثال يكفي تحقق أحد الشرطين ليتم تنفيذ التعليمة (رسالة تخبرنا بأن هذا الشخص يتيم) و إذا تحقق الشرطين معا أيضا يتم تنفيذ التعليمة إذا هناك شخص أبوه متوفي فهو يتيم و إذا كانت أمه متوفية فهو يتيم و إذا كان كلا والديه متوفيين فهو أيضا يتيم. ((((((اللهم أرحم جميع موتى المسلمين يا أرحم الراحمين يا رب العالمين))))))
- 40 replies
-
- 11
-
الــدرس الثاني : الجملة الشرطية ( IF ) تعتبر الجملة IF من أشهر الجمل الشرطية و أكثرها استعمالا في جميع لغات البرمجة ولها عدة صيغ كلها تبدأ بــIf و تنتهى بكلمة End If ما عدى صيغة واحدة. وتستخدم الجملة IF لتنفيذ عمليات معينة حسب شرط محدد, يعني إذا تحقق الشرط ينفذ و إلا فلا. طرق استعمال الجملة ((if: 1- الصيغة ( If –Then ) : - وصيغتها العامة : IF condition THEN statements - ومعنى هذه الصيغة : انه اذا تحقق الشرط (condition ) فسيتم تنفيذ الامر ( statements ) مثال : " مسن" IF age >=65 THEN category = 2- الصيغة ( If – Then – End If ) : صيغتها العامة : IF condition THEN statements1 Statements2 END IF تقوم هذه الصيغة بتنفيذ مجموعة من الاوامر اذا تحقق الشرط (Condition) بدلا من تنفيذ امر واحد. مثال : If age >= 25 Then category ="شباب" travail ="السن مقبول" End if 3- الصيغة ( If – Then – Else ) : صيغتها العامة : If condition Then statements1(التعليمات المنفذة في حال تحقق الشرط ) Else statements2(التعليمات المنفذة في حال عدم تحقق الشرط) End If - هذه الصيغة تنفذ مجموعة الأوامر (statements1 ) عندما يتحقق الشرط (condition ) و عندما لا يتحقق الشرط فإنها تنفذ مجموعة الأوامر (Statements2). مثال : If grade >= 50 Then Text1 ="ناجح" Else Text1 ="راسب" End If 4- الصيغة ( If – Then –ElseIf ) : - صيغتها العامة : If condition1 Then statements1( التعليمات المنفذة في حال تحقق الشرط الأول) ELSEIF condition2 THEN statements2(التعليمات المنفذة في حال عدم تحقق الشرط الأول و تحقق الشرط الثاني) ELSE statements2(التعليمات المنفذة في حال عدم تحقق جميع الشروط السابقة) End If مثال : If grade >= 90 Then Text1 ="ممتاز" ElseIf grade >= 80 Then Text1 ="جيد جدا" ElseIf grade >= 70 Then Text1 ="جيد" ElseIf grade >= 60 Then Text1 ="مقبول" Else Text1 ="راسب" End If ملاحظات: - في الصيغة الأخيرة ( If – Then –ElseIf ) اذا تحقق احد الشروط فان البرنامج ينفذ العملية ثم يذهب الى نهاية الجملة و لا يتحقق من الشروط الباقية. - في حالة أردنا إستعمال شرطين معا أو أكثر نستعمل العبارة And. - في حالة أردنا تحقق أحد شرطين ليتم تنفيذ العملية نستعمل Or
- 40 replies
-
- 17
-
إن شاء الله
-
ممتاز جدا الشرح أستاذ جعفر
-
اختيار عمودين من مربع تحرير وسرد ليتم تخزينها كل عمود في حقل
صالح حمادي replied to محمود ادريس's topic in قسم الأكسيس Access
قم بإضافة سجل جديد و لاحظ القيمة المسجلة بالجدول أما السجلات الأولى فيجب عليك تغييرها من خلال الكمبوبكس بالنموذج لأنها محفوظ بها الرقم و يجب تغييره مثال 1.rar -
ملاحظاتك ممتاز و في محلها و متممة للمعنى ربما هنا من يستعمل اللغة العربية في تعريف المتغير بهذا الشكل : Dim الرقم_الأول As Integer ملاحظة: - القيمه الإفتراضية للمتغيرات النصيه هي فراغ " " - أما القيمه الإفتراضية للمتغيرات الرقميه هي صفر 0
-
اختيار عمودين من مربع تحرير وسرد ليتم تخزينها كل عمود في حقل
صالح حمادي replied to محمود ادريس's topic in قسم الأكسيس Access
-
أيضا يستحسن كتابة أسماء المتغيرات باللغة اللاتينية من أجل تسهيل التعامل معها و عدم حدوث مشاكل فيما بعد
-
على بركة الله نبدأ أول درس و ننتظر ملاحظاتكم حول أي شيء نسيته و هو متعلق بهذا الدرس أو أي معلومة أخطأت بها: الــدرس الأول : المتغيرات تعتبر المتغيرات النواة الأساسية أو حجر الأساس بالنسبة لكل برنامج في أي لغة برمجة كانت. يعني قبل البدأ يجب أن تقوم بتعريف المتغيرات التي تحتاجها و تحدد نوعها قبل كل شيء. 11- أنواع المتغيرت: هناك العديد من أنواع المتغيرات و كل نوع يخصص له حجم معين في الذاكرة. سوف نقوم بإضافة شرح جميع أنواع المتغيرات و الحجم الذي يأخذه كل نوع من الذاكرة: String: نص يتسع المتغير النصي إلى 2 جيجا بايت و كل حرف يشغل 1 بايت Boolean: ياخذ نوعين من القيم True و False (طوله 2 بيت ) Byte: بايت يكون رقم بين 0 من 255 (طوله 1 بايت) Integer : عدد صحيح (طوله 2 بيت ) قيمته من 32768- إلى 32767 Long : عدد صحيح طويل (طوله 4 بيت) قيمته من 2,147,483,648- إلى 2.147.483.647 Signal: عدد عشري (طوله 4 بيت) قيمته من 3.402823x1038- إلى 1.401298x10-45- للقيم السالبة و من 1.401298x10-45 إلى 3.402823x1038 للقيم الموجبة Currency: عملة (طوله 8 بيت) قيمته من 922،337،203،685،477.5808- إلى 922،337،203،685،477.5807 Double : مزدوج عدد عشري (طوله 8 بيت) قيمته من 1.79769313486231x10308- إلى 4.94065645841247x10-324- للقيم السالبة. و من 4.94065645841247x10-324 إلى 1.79769313486232x10308 للقيم الموجبة Date: نوع البيانات تكون على شكل تاريخ (طوله 8 بيت) يبدأ تاريخ vba من 1/1/100 حتى 31/12/9999 Object : لتخزين الكائنات التي تحتوي على خصائص و وظائف و يتم تعيينه بجملة set ويشغل في الذاكرة 4 بايت أو حسب خصائص و وظائف الكائن المحدد. و سوف نخصص درس لعرض أنواع الكائنات. Variant : لتخزين كل الأنواع السابقة ويمكن تخزين المصفوفات بداخله أيضاً 2- طريقة الإعلان عن المتغيرات: الإعلان عن متغير يعني حجز مكان في ذاكرة الكمبيوتر باسم هذا المتغير و يحدد حجمه حسب نوع المتغير. و يتم تعريف المتغير أو الإعلان عنه بواسطة العبارة DIM . مثال: Dim A as Integer للإعلان عن أكثر من متغير: Dim a,b as integer للإعلان عن أكثرمن متغير لأنواع مختلفة في نفس السطر: Dim A As Double, B As Integer 3- ملاحظات: - - يفضل الإعلان عن نوع المتغير لزيادة سرعة التعامل معه . - - المتغيرات التي لم تحدد نوعها يعمل فيجول بيسك علي الإعلان عنها تلقائيا من النوع Variant وهو أبطأ أنواع المتغيرات . - - بالنسبة للإعلان عن أكثر من متغير من نفس النوع بالطريقة التالي: Dim a,b as integer هنا b فقط من النوع integer أما a فهو في هذه الحالة يعتبر من النوع Variant يجب أن يتم التعريف بهذا الشكل: Dim a integer,b as integer أو Dim a as Integer Dim b as Integer 4- شروط تسمية المتغيرات: - - اسم المتغير يجب أن يبتدأ بحرف . - - يمكن استعمال الحروف التي تلي الحرف الأول رقم أو حرف أو الإثنين معا. - - لا يجب أن تكون هناك فراغات بين أسماء المتغير و يمكن استعمال الشكل التالي: id_user - - يجب عدم استعمال نقطة أو رمز خاص مثل ( ؟ ، * ، ) ، ( ، /......... إلخ ) ولكن يمكن استخدام الشرطة السفلية ( _ ) - - أن لا يكون اسم المتغير من الكلمات المحجوزة في الأكسس.
- 40 replies
-
- 20
-
الحالة الأولى: إذا كانت البيانات (له-عليه-التاريخ-ملاحظات) تتكرر لكل عميل حسب الحاجة فهذا يعني أنه يجب عليك أن تضع إسم العميل و معلوماته الشخصية في جدول و البيانات (له-عليه-التاريخ-ملاحظات) في جدول آخر و تقوم بإنشاء علاقة واحد لكثير بين الجدولين. الحالة الثانية: و إذا كانت البيانات (له-عليه-التاريخ-ملاحظات) غير مكرر لجميع العملاء فهنا من الأفضل إنشاء جدول وحيد يشمل كل المعلومات.
-
إن شاء الله شكرا جزيلا أخي
-
ملاءمة عناصر النموذج في وضع ملأ الشاشة
صالح حمادي replied to صالح حمادي's topic in قسم الأكسيس Access
الله يحفظك بالتوفيق إن شاء الله -
ملاءمة عناصر النموذج في وضع ملأ الشاشة
صالح حمادي replied to صالح حمادي's topic in قسم الأكسيس Access
تفضل الملف لدي يعمل في وضعية ملأ الشاشة بشكل عادي و لكن لدي : يجب عليك أن تقوم بتصغير حجم النموذج في وضع التصميم لأنه توجد مساحات فارغة ضائعة مما يجعل عناصر النموذج يصغر حجمها عندما تقوم بوضع النموذج في حالة ملأ الشاشة. http://www.mediafire.com/file/vdw426e3mu33ln3/ادارى.rar -
ملاءمة عناصر النموذج في وضع ملأ الشاشة
صالح حمادي replied to صالح حمادي's topic in قسم الأكسيس Access
قم بتغيير السطر التالي: .FontSize = .FontSize * moyW بـ: .FontSize = .FontSize * moyH ليصبح الخط يتغير مع طول النموذج و ليس عرضه -
السلام عليكم و رحمة الله تعالى وبركاته أساتذة و خبراء منتدانا الغالي حياكم الله أردت أن أنجز عمل بمعيتكم الكريمة . و هو إنجاز سلسلة دروس في vba الأكسس لتقوم إدارة المنتدى من بعد ذلك بتثبيت هذا الموضوع ليطلع عليه كل من يريد التعلم و يبقى صدقة جارية لكل من ساهم فيه و لو بحرف واحد. العمل سوف يقسم إلى مجموعة دروس مثلا : المتغيرات ,الجمل الإختيارية , الجمل التكرارية , الكائنات ......الخ. و سوف نحاول شرح جميع دوال و تعليمات VBA أكسس الموجودة مع إعطاء أمثلة في نهاية كل درس. على أن يتم تجميعه في الأخير مرتبا حسب تسلسل الدروس و لا يتم الإنتقال من درس لآخر حتى نستوفي كل ما نستطيع حول هذا الدرس. العمل المطلوب: كلما نبدأ في درس جديد. يقوم الأساتذة الكرام بتقديم الدوال و التعليمات التي تندرج تحت عنوان هذا الدرس و تقديم شرحها مع وضع مثال بسيط لإستعمال الدالة أو التعليمة على أن لا يتم تكرار الدوال و التعليمات الموجودة مسبقا في الدرس من قبل أحد الأعضاء. و قبل البدء أنتظر إقتراحاتكم فيما يخص طريقة العمل أو ترتيب دروس و عناوينها. و إن شاء الله غدا أو بعد غد سوف نبدأ بالعمل على بركة الله.
- 40 replies
-
- 22
-
ملاءمة عناصر النموذج في وضع ملأ الشاشة
صالح حمادي replied to صالح حمادي's topic in قسم الأكسيس Access
أرسل المرفق لنحاول معرفة الخلل -
ملاءمة عناصر النموذج في وضع ملأ الشاشة
صالح حمادي replied to صالح حمادي's topic in قسم الأكسيس Access
هذا السطر ليس له علاقة بتكبير أو تصغير الخط دور هذا السطر هو تجاوز الخطأ حين حدوثه -
السلام عليكم و رحمة الله تعالى وبركاته أخوتي و أساتذتي الكرام حياكم الله أود أن أطرح فكرة حول قيام أعضاء منتدانا الغالي بالمشاركة في تأليف كتاب حول أكواد VBA و يسمى بعد ذلك الكتاب بإسم المنتدى و يكون صدقة جارية لكل من شارك في. حيث يقسم العمل إلى مجموعة أقسام أو أبواب و تكلف كل مجموعة معينة من أعضاء المنتدى الذين يمتلون الخبرة الكافية. و كل مجموعة يتقاسمون الأدوار فيما بينهم. على أن يقدموا العمل المطلوب جاهزا ليتم تجميعه و مراجعته من قبل خبرائنا الأعزاء و طرحه في المنتدى ليستفيد منه كل من يرغب في ذلك. جعلنا الله و إياكم خدما و ذخرا للإسلام و المسلمين إن شاء الله.
-
تضيف مربع نص في النموذج الثاني الذي تريد فتحه بعد نموذج الدخول. في الزر الذي يقوم بفتح النموذج الثاني : اذهب إلى محرر الشيفرة و بعد السطر الذي يقوم بفتح النموذج أكتب قيمة مربع النص في النموذج الثاني = قيمة مربع نص اسم المستخدم في نموذج الدخول
-
التعارف بين أعضاء المنتدي
صالح حمادي replied to محمد طاهر عرفه's topic in المنتدى التقني العام و تطبيقات الأوفيس الأخرى
الاسم : صالح حمادي تاريخ الميلاد : 25 / 02 / 1988 البلد : الجزائر - ولاية الوادي المهنة: أستاذ مادة رياضيات التعليم : ليسانس مراقبة و تشخيص الأنظمة الكهربائية 2009 + ماستر شبكات كهربائية 2011 الحالة الاجتماعية : متزوج و قد وهبني المولى عز وجل طفلة في هذه الأيام و قد سميتها على بركة الله "غفران" معلومات أخرى : أهوى لغات البرمجة (VB.net و Delphi) و الأوفيس بشكل عام و الأكسس بشكل خاص