بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 03/08/16 in مشاركات
-
بسم الله الرحمن الرحيم اراد احد الاخوة كود لازالة بيانات من خلايا متفرقة داخل نطاق معين فخطرت ببالي هذه الفكرة وهي حذف البيانات بمعلومية لون الخليه فوضعت لكم مثال بسيط لعله يفيدكم Sub Yasser() Dim Rng As Range Application.ScreenUpdating = False For Each Rng In Range("a3:g31") If Rng.Interior.Color = Range("h1").Interior.Color Then Rng.ClearContents End If Next Rng Application.ScreenUpdating = True End Sub مع تحياتي ياسر العربي مسح بيانات بمعلومية اللون.rar3 points
-
بارك الله فيك أخي الكريم كريم .. لما قريت فولازية تقريباً فيه حرفين طاروا من قدام عيني (لا) ..فقريتها فوزية ..! مين فوزية دي .. أكيد أخت فوزي الفكرة ليست في العقول بل في الاجتهاد ..ربما من كان هناك من الأعضاء من هو أذكى من الجميع ولكن لا يستغل ذكائه ، فلكل منا قدرات خاصة المهم أن نفتش عنها وننقب عنها تقبل تحياتي3 points
-
السلام عليكم ورحمة الله وبركاته في أحد المشاريع التي قمت بها ، كنت محتاج الى برنامج خارجي ليقوم ببعض المهام للمشروع ، فالطريقة المعتادة التي نستعملها هي ، وضع البرنامج هذا داخل احد مجلدات المجلد الرئيسي لقاعدة البيانات ، وبما ان فقدان/حذف هذا البرنامج يجعل المشروع عاجز عن العمل ، لم يكن عندي خيار ، سوى ان اجعل هذا البرنامج داخل قاعدة البيانات ، بطريقة تسمى Blob المرفق فيه هذه الملفات: . النموذج frm_Blob مهم في انه يسمح لك بوضع برامجك في قاعدة البيانات بسهولة ، والزر الاخر هو لتصدير هذا البرنامج الى اي مجلد في الكمبيوتر (لعمل التجارب مثلا) ، وقد وضعت برنامجين في قاعدة البيانات المرفقة: 1. pdftk.exe والذي يقوم بالعديد من العمليات لملفات الـ pdf ، 2. Arc5_S_BE.mdb ، وهي قاعدة بيانات فاضية ، وبها جداول مؤقته ، فبدل ان اعمل هذه الجداول المؤقته داخل قاعدة بياناتي ، ويكبر حجمها ، رأيت ان استعمل جداول خارجية ، وعند اغلاق البرنامج ، كنت اقوم بحذفها من المجلد: . لعمل البرنامج الاول ، استخدم الزر رقم 1 ، والذي سيصدر البرنامج pdftk.exe الى مجلد قاعدة البيانات ، ثم سيدمج الملفين a.pdf و b.pdf ويحفظ النتيجة في ملف ab.pdf ، ويفتحه ، بينما الزر رقم 2 ، سيصدر قاعدة البيانات Arc5_S_BE.mdb الى المجلد الرئيسي لقاعدة بياناتنا: . عند الضغط على الزر 1 ، سنرى هذه الملفات في المجلد الرئيسي لقاعدة البيانات: . ان شاء الله يكون فيه فائدة للجميع جعفر Blob.zip2 points
-
السلام عليكم ورحمة الله وبركاته إخواني الكرام لاحظت تغيب أخونا الغالي محمد حسن المحمد عن المنتدى منذ أيام ، وقلت في نفسي لعله خير ، ولكن طال غيابه عنا .. لعل يغابه عنا خير إن شاء الله من لديه رقم هاتفه أو يستطيع التواصل معه ، فليتصل به للإطمئنان عليه .. وبلغوه سلامي وتحياتي القلبية .. تقبلوا جميعاً وافر حبي وتقديري2 points
-
هلا اخوي جعفر الموضوع بسيط ان شاء الله بس ممكن لم يمر عليك في برامجك لما يكون عندك حقل به مثلا سجلين 0.166 0.331 اجماليهم قبل التنسيق = 0.497 مع انه لو تم النظر لهم بعد التنسيق وبتطبيق المشاركة رقم 6 0.17 0.33 وهذا يوحي للمطلع على الرقمين ان اجماليهم 0.50 وهو ما يختلف عن الاجمالي الحقيقي السابق بالتوفيق2 points
-
الحاجة فوزية بتسلم عليكووو نفر ناااافر وان خلص الفول_ازية انا مش مسئول وبتقولوكي الله يقويكو ، ويخلي هذا الصرح العربي اللي اسمة اوفيسنا يكون من اقوي المنتديات في مجال المعلومات والخبرات وكفاية انه مجمعنا مع بعض مع اننا مشوفناش بعض رببنا يجمعنا علي خير في الجنه ان شاء الله بالعمل الصالح مع الاعتذار للحاجة فوزية2 points
-
Sub IN_SH() Dim INSH As Worksheet On Error Resume Next For Each INSH In Worksheets If INSH.ProtectScenarios = False Then INSH.Protect "123" End If Next INSH Set INSH = Nothing End Sub Sub UN_SH() Dim UNSH As Worksheet On Error Resume Next For Each UNSH In Worksheets If UNSH.ProtectScenarios = True Then UNSH.Unprotect "123" End If Next UNSH Set UNSH = Nothing End Sub بعد استخدام البرنامج الجميل من حضرتك يصبح هكذا شكراً لك وبارك الله بك وجزاك كل خير2 points
-
جزاكم الله كل خير جعلكم الله عونا لاخوانكم ويسر بكم كل عسير ويسر لكم كل امر يهمكم ويشغلكم وجزاكم الله عنا خير الجزاء تقبلوا منى فائق الاحترام والتقدير2 points
-
أخي الحبيب صلاح عارف إني غلبتك معايا ..باقي حاجة تافهة كدا بس حاول تتعود عليها عشان يكون الكود سهل لما نحب نقراه .. استخدم مفتاح التاب لضبط أسطر الكود أو ادخل على الموضوع التالي لمعرفة كيفية ضبط أسطر الكود في الشكل من هنا الموضوع2 points
-
اللهم امين ياريت تبقى قفله جمعه ياحبيبي ربنا يرحمك من زحمة العقل والتفكير بعيد عنك (حلة محشي بالكنافة على مية مخلل بالمسقعة) جوا دماغك تقبل تحياتي ومحشياتي وطرشياتي2 points
-
يا عربي .. العملية قافلة ليه هو النهاردة الجمعة ؟!! يسر الله أمورك ويسر عليك كل عسير .. وفك الله كربك وكرب جميع المسلمين تقبل وافر تقديري واحترامي2 points
-
وعليكم السلام احد قواعد الاكسس التي يجب عليك ان تتبعها لبرنامج افضل ، هو إضافة حقل الترقيم التلقائي مفهرس ، فالبرنامج يحتاج اليه ليرتب وضعه في الفهرسة ويكون اسرع في العمل جعفر2 points
-
اثراء للموضوع هذه المعادلة =MATCH($E$3,$A$3:$A$5,0) او هذه =COUNTA(INDIRECT("A"&MATCH($E$3,$A$3:$A$5,0)+2&":A3")) او هذه (يلزمها CTRL+SHIFT+ENTER) =MAX(IF($A$3:$A$5=$E$3,ROW($A$1:$A$3),"")) أو هذه =SUMPRODUCT(--($A$3:$A$5=$E$3),{1;2;3}) هذا بالاضافة الى دالة IF مع توابعها (IF كذا اعطني كذا ...)2 points
-
بص موضوع الـ ByVal موضوع محتاج وقت ... خد الكود دا فيه شرح وفيه الفرق بين ByVal و ByRef 'a. Formal Parameter - a variable passed to a Sub or Function (e.g. i, iRow, and sData are formal parameters). 'b. ByRef (default) means the Sub or Function is allowed to modify the value of a formal parameter and pass the _ modified value back to the calling routine. 'c. ByVal means means the Sub or Function is allowed to modify the value of a formal parameter (in some languages _ this causes a compile error), but the value that the calling routine sees is the ORIGINAL value. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Sub IncrementCounter(ByRef I As Long) I = I + 1 End Sub Sub OuputValueToColumnA(ByVal iRow As Long, ByVal sData As String) Cells(iRow, "A").Value = sData iRow = iRow + 1 'NOTE: Modification of a ByVal formal parameter is allowed inside the routine, but is poor programming practice Cells(iRow, "A").Value = sData End Sub Sub ImprovedOuputValueToColumnA(ByVal iInputRow As Long, ByVal sData As String) Dim iRow As Long iRow = iInputRow 'Make a local copy of the input value Cells(iRow, "A").Value = sData iRow = iRow + 1 'NOTE: Modification of a ByVal formal parameter is allowed inside the routine, but is poor programming practice Cells(iRow, "A").Value = sData End Sub Sub ByRefAndByVal() Dim iRow As Long Dim sMessage As String sMessage = "Hello World." iRow = 11 Debug.Print "iRow = " & iRow 'Output to Immediate Window (CTRL G in debugger) Call IncrementCounter(iRow) Debug.Print "iRow = " & iRow '12 expected iRow = 21 Debug.Print "iRow = " & iRow 'Output to Immediate Window (CTRL G in debugger) Call OuputValueToColumnA(iRow, sMessage) Debug.Print "iRow = " & iRow '21 expected Call ImprovedOuputValueToColumnA(iRow, sMessage) Debug.Print "iRow = " & iRow '21 expected End Sub تقبل تحياتي2 points
-
2 points
-
هذا لازم تستخدم معادلة علشانه ، في الاستعلام مثلا: IIf([Selling] - Int([Selling])=0,Format([Selling],"#,###",Format([Selling],"#,###.##")) جعفر2 points
-
تفضل اخي الملف جاهز مع الكود ( الكود لا ينفذ العمل الا اذا امتلأ اخر صف في الجدول ) WALID salim1.rar2 points
-
السلام عليكم ورحمة الله وبركاته إخواني الكرام .. من فترة وأنا أريد طرح هذا الموضوع ، ولكني بسبب الزهايمر على ما يبدو فإني قد نسيته تماماً .. وذكرني به الأخ الحبيب والمعلم الكبير عادل حنفي فأحببت أن أشارككم هذا البرنامج الصغير في حجمه الكبير في فائدته البرنامج هو Smart Indenter VBA .. يقوم البرنامج بترتيب أسطر الكود بحيث يسهل قراءة الأكواد ..كنوع من التنظيم تنصيب البرنامج سهل للغاية ومش محتاج شرح ... بعد التنصيب ادخل على محرر الأكواد لديك وفي أي موديول مكتوب اعمل كليك يمين ستجد الأداة منصبة في الأوفيس لديك يمكنك اختيار ترتيب الإجراء الفرعي فقط أو الموديول بالكامل أو جميع الأكواد في المصنف مرة واحدة الأداة تعمل مع نظام 32 بت فقط أما 64 بت فلا تعمل للأسف أرجو أن يكون البرنامج مفيد للجميع حمل البرنامج من هنا2 points
-
السلام عليكم كيف يمكن التعامل مع الارقام التي تحتوي على فواصل عشرية بحيث تكون بهذا الشكل مثال: 17,443.66 او 12,658.75 وكذلك كيف يمكن زيادة الفاصلة (الفارزة ) العشرية حسب الرقم الناتج من العملية الحسابية1 point
-
ايوه كده طمنتنى كنت خايف من الاستاذ لا يضربنى وهوا بيصحح ههههههههه اصله ادانى الدرس ده امبارح وعملت بعض التعديلات فكنت بطمن على نفسى من الضرب ياحلاوه مش هضرب النهارده هههههههههه جزاك الله كل خير يا ابوالبراء1 point
-
مش تدقيق ولا تهبيط عزيمه وانما توجيه للمراجعه والتحسين فهو برنامجك فى الاول والاخر وانت اللى هتشتغل عليه وصدقنى لن تكتشف ولن تطور برنامجك الا اذا استعمله غيرك قمت من قبل بعمل قاعدة بيانات لمحلى وطورتها كثيرا حيث اننى ان شاء الله اطمح فى بيعها ومطلوب منى بعض التعديلات عليها الا اننى متكاسل بعض الشىء فان شاء الله بالقريب العاجل سوف اعمل عليها مره اخرى بالتوفيق ومزيد من التقدم ياغالى1 point
-
السلام عليكم اخى الحبيب / احمد .. ده شرف كبير لى .. نعم الاخ والله .. اشكر الظروف التى جعلتنى عضواً فى هذا المنتدى العظيم باعضائه الماس خالص حبى وتقديرى لشخصكم المحترم1 point
-
جزاك الله كل خير اخى وحبيبى واستاذى الغالى ابوالبراء نعم وقمت بمراسلته وقام بالرد علي بانه يوجد لديه مشاكل بالانترنت مع شوية ارهاق ربنا يديله الصحه والعافيه وان شاء الله يرجع قريب جزاك الله كل خير وتقبل فائق احترامى وتقديرى1 point
-
جميل ياكيرلس كمل بقا واعمل نموذج للادخال كنماذج البحث والشاشه الافتتاحيه بالتوفيق1 point
-
شكرا استاذ رمهان علي كلماتك الرقيقة وبارك الله في ابو جودي1 point
-
صوموا تصحواجاء الهدي النبوي بآداب يتدبر بها المسلم أمر طعامه وشرابه، وهي علاوة على أنها أضفت على حياته الاجتماعية مسحة جمالية وسلوكية رائعة، نظّم بها الشارع تناول الوجبات وكمياتها وطريقة تناولها، بما يتفق مع ما وصل إليه الطب الوقائي الحديث وعلم الصحة، لا بل سبقه إلى ذلك بقرون عدة، فلا يأكل المسلم حتى يجوع، وإذا أكل لا يصل إلى حدّ التخمة من الشبع؛ وبحسب ابن آدم لقيمات يقمن صلبه ... إلى غير ذلك من الآداب الواردة في المأكل والمشرب.واتفاقاً مع الأهمية الصحية لطريقة تناول الطعام والشراب، وعلاقة ذلك بصحة البدن، فقد حدد نبينا - صلى الله عليه وسلم - الوضعية المثلى للجلوس على الطعام، ونهى عن وضعيات قد ينجم عنها بعض الأذى، كأن يأكل المرء أو يشرب واقفاً أو متكئاً، كما ندب إلى أن يتحدث الإنسان على طعامه لإدخال السرور على المشاركين مما يزيد في إفراز العصارات الهاضمة ويساعد على الاستفادة المثلى من الطعام.ومن الأحاديث التي تدل على إعجاز السنة النبوية في هذا السياق ما رواه المقداد بن معد يكرب عن النبي - صلى الله عليه وسلم - أنه قال: (ما ملأ ابن آدم وعاء شراً من بطنه، بحسب ابن آدم لقيمات يقمن صلبه، فإن كان لابد فاعلاً فثلث لطعامه وثلث لشرابه وثلث لنفسه) رواه الترمذي وحسنه.مراتب الغذاء ثلاثةيقول الإمام ابن القيم: "مراتب الغذاء ثلاثة: أحدها مرتبة الحاجة، والثانية مرتبة الكفاية، الثالث مرتبة الفضيلة، فأخبر - صلى الله عليه وسلم - أنه يكفيه لقيمات يقمن صلبه فلا تسقط قوته ولا تضعف، فإن تجاوزها فليأكل بثلث بطنه، وهذا من أنفع ما للبدن وما للقلب، فإن البطن إذا امتلأ من الطعام ضاق عن الشراب، فإذا أورد عليه الشراب ضاق عن النفس، وعرض عليه الكرب والتعب".ويقول الإمام الغزالي: "ومن مضار الشرَه: اشتداد المعاصي وخاصة الشهوة الجنسية، فإذا منعت التقوى صاحبها من الزنى فلا يملك عينه، فإذا ملك عينه بغض الطرف فلا يملك فكره، فتخطر له الأفكار الرديئة وحديث النفس بأسباب الشهوة، وما يتشوش به مناجاته".وقد اكتشف الطب الحديث أن الجزء العلوي من المعدة هو عبارة عن جيب ممتلئ بالهواء يقع تحت الحجاب الحاجز، وكلما كان ممتلئاً بالهواء كانت حركة الحجاب الحاجز فوقه سهلة وكان التنفس ميسورًا، أما إذا امتلأ هذا الجيب بالطعام والشراب تعرقلت حركة الحجاب الحاجز وكان التنفس صعبًا، كما أن الصلب لا يستقيم تماما إلا إذا كانت حركة المعدة مستريحة، ولا يتم ذلك إذا أُتخِمت بالطعام.جامع أصول الطبوقد أسلم طبيب أمريكي، فلما سُئل عن سبب إسلامه قال: أسلمت بسبب حديث واحد، وآية واحدة، قالوا له: ما الحديث؟ قال: قوله - صلى الله عليه وسلم - : (بحسب ابن آدم لقيمات يقمن صلبه، فإن كان لا محالة فاعلا، فثلث لطعامه، وثلث لشرابه، وثلث لنفسه)، ثم قال معقّبا: هذه أصول الطب، ولو أن الناس نفذوها ما كاد يمرض أحد.ومن طريف ما يُذكر في ذلك أن حوارًا جرى بين طبيب ألماني وصحفي مسلم في إحدى مستشفيات ألمانيا، قال الطبيب الألماني للصحفي المسلم: ما سبب تأخر المسلمين عن الحضارة والنهضة؟ فأجابه الصحفي المسلم - بالهوية فقط - : إن سبب تأخر المسلمين هو الإسلام، فأمسكه الطبيب من يده، وذهب به إلى جدار قد عُلقت عليه لوحة، فقال له: اقرأ الكلمات المكتوبة على هذه اللوحة، فإذا فيها الحديث الشريف الذي يقول فيه النبي - صلى الله عليه وسلم - : (ما ملأ ابن آدم وعاء شراً من بطنه...)، وعند نِهاية الحديث قد كُتب، القائل: محمد بن عبد الله، فقال الطبيب الألماني للصحفي المسلم: أتعرف هذا؟ قال: نعم هذا نبينا، فقال له: نبيكم يقول هذا الكلام العظيم، وأنت تقول: إن سبب تأخركم هو الإسلام!! وختم الألماني الحوار بقوله: للأسف إن جسد محمد عندكم، وتعاليمه عندنا!!وخلاصة ما يذكره الأطباء المتخصصون في ذلك - تصديقا للحديث - أن الإسراف في الطعام هو السبب الحقيقي لمرض السمنة التي تؤدي إلى تصلب الشرايين وأمراض القلب وتشحم الكبد وتكون حصوات المرارة ومرض السكر ودوالي القدمين والجلطة القلبية والروماتزم المفصلي الغضروفي بالركبتين وارتفاع ضغط الدم والأمراض النفسية والآثار الاجتماعية التي يعاني منها البعض، وقد لجأت كثير من المصحات العالمية في الدول الغربية إلى استعمال الصيام كوسيلة فعالة في إنقاص وزن المرضى الذين لا تجدي معهم وسيلة أخرى.1 point
-
لا اخى الفاضل ياسر اقتراحاتك وملاحظتك مهمة جدا وافادتنى كثيراً بل بالعكس انه ليسعدنى ذلك1 point
-
أخي الحبيب أحمد إنت اللي طلبت تعرف ومستعجل على التعلم ودي النتيجة ..خليك زي حالاتي واحدة واحدة أنا مش بحب الاستعجال ..وأديك شفت نتيجة الاستعجال بنفسك أخي الغالي رجب سلمت من كل سوء .. وأعتذر إذا كنت أتدخل في الحلول المقدمة ، ولكن يعلم الله أنني لا أريد إلا المصلحة العامة تقبلوا وافر تقديري واحترامي1 point
-
دائماً نتعلم منك ياكبير .. ماشاء الله على قوة المتابعه والملاحظة .. بارك الله فيك التعديل Dim INSH As Worksheet On Error Resume Next For Each INSH In Worksheets If INSH.ProtectScenarios = False Then INSH.Protect "123" End If Next INSH End Sub Dim UNSH As Worksheet On Error Resume Next For Each UNSH In Worksheets If UNSH.ProtectScenarios = TRUE Then UNSH.UNProtect "123" End If Next UNSH End Sub1 point
-
أخي الكريم كريم بارك الله فيك وجزيت خيراً على كلماتك الرقيقة ، والحمد لله إن فتحة الباب جابت نتيجة معاك وأنقذتك من الخضة ومن التنين Dragon وإن شاء الله تستفيد أكتر طول ما إنت ف أوفيسنا تقبل تحياتي1 point
-
1 point
-
جزاك الله خير اخي الكريم وزي ما قال حبيبي ابو البراء مش (فول_ازيه)كل واحد بيشوفها بطريقته يعني مثلا شوية المعلومات الصغيرين اللى جوا دماغنا بنحاول ندورهم كدا ونستخدمهم في كذا حاجه وطبعا هتلاقي في عقول (جنيس) بصوت تتح بس محتاجين يشغلو دماغهم وهما هييعملوا احلا شغل حبيبي احمد جزاك الله كل خير والله العمليه قافله شوية معايا (اقتصادية -اجتماعية- ونفسية وسيب القوس مفتوح - - -------- بس هنقول ايه الحمد لله على كل شئ وادينا بنضحك تقبل تحياتي1 point
-
تفضل اخى أكرم كود للحماية وفك الحماية عن جميع الاوراق Dim IN_SH As Worksheet On Error Resume Next For Each pro In Worksheets If pro.ProtectScenarios = False Then pro.Protect "123" End If Next pro End Sub Dim UN_SH As Worksheet On Error Resume Next For Each pro In Worksheets If pro.ProtectScenarios = TRUE Then pro.UNProtect "123" End If Next pro End Sub1 point
-
بارك الله لك في الموهوب لك، وشكرت الواهب، وبلغ أشدّه تأخرت المباركة فاعذرنا على التقصير1 point
-
اخى الفاضل انت لست فى حاجه الى التوجيه بان تضع مثالك وتقم بشرح ماتريد وكل شىء باذن الله سهل وبسيط بس وفر على اخوانك الوقت اتفضل جرب الكود ده لحبيبى الغالى ابوالبراء مع تعديل بسيط ليناسبك ان شاء الله يكون طلبك Option Explicit Function Area(Optional Length As Variant, Optional Width As Variant) If (Length) = (Width) Then Area = 0 Else Area = Length + Width End If End Function ضع المعادله بالشكل التالى فى C1 =area(A1;b1)1 point
-
جزاك الله كل خير يا ابو اسيل مختفى فين كده اليومين دول مفتقدينك شاكلك بتشيت ياريس قصى مشتى هههههههههههههههه حبيبى يا ابواسيل ربنا يجازيكم كل خير ويبارك لكم فى اعمالكم واوقاتكم واهليكم ويحفظهم1 point
-
طيب ولا يهمك نستنير من الجمله السابقه التالي ! عند العمليات الحسابية ومثلا جمع تراكمي سيتم على الرقم الموجود بفواصله وتقريبه وليس كما هو ظاهر بسبب التنسيق ! وهذي زود1 point
-
1 point
-
1 point
-
اذا انت مرتاح من "شكل" التنسيق ، فتوكل على الله لأن التنسيق هو عبارة عن: إعطاء شكل النتيجة ، بالطريقة التي نريدها ولأن التنسيق "شكل" فقط ، لهذا السبب ، وعند التعامل مع بيانات هذا الحقل ، لا نهتم بالتنسيق يعني في الاستعلام لما تريد ان تعمل تصفية للحقل aaaa اعلاه ، فتكتب الرقم 12345 مثلا (بدون تنسيق) ، ولا تكتب .12,345$ جعفر1 point
-
1 point
-
السلام عليكم اخي الكريم.. انت تستخدم حقل في الجدول من نوع (مرفق) لاضافة المرفقات ..وهذا خطأ كبير ويؤدي الي مشاكل كبيرة جدا سيجعل القاعدة تعطب.. وسوف يزداد حجمها بسرعة كبيرة.. الخ عليك الاحتفاظ بالمرفقات في فولدر بجوار القاعدة مثلا وتدرج الرابط في الحقل المخصص لذلك1 point
-
السلام عليكم استاذى / ابو البراء .. جزاك الله خيراً .. واستأذنك استاذى فى عرض فكرة اخرى بإستخدام المعادلات بإفتراض ان مرجع القائمه المنسدلة هى الخلايا A3:A5 وان خليه القائمه هى E3 يتم وضع المعادلة التاليه فى الخليه المراد بها الرقم =SUMPRODUCT(--(E3=A3:A5);ROW(A3:A5)-2) Book1ffff.rar1 point
-
أخى الحبيب وأستاذى القدير // ياسر خليل بارك الله فيكم وجزاكم عنى خير الجزاء واليكم بالمرفقات نسخة ( 64 بت ) وفى انتظار ابداء رأيك وملاحظاتك الطيبة وتقبل منى وافر الإحترام والتقدير بريمج العيادة الطبية الإصدار الأول64 بت.rar1 point
-
الله يطول في عمرك أخوي ، مو انا قلت لك هالكلام من البداية ، قلت لك : اذا عملت هذا ، فكأنك جعلت الجدول tbl_Prescription مثل الجدول tbl_Drugs خليني اخبرك ايش هي المشكلة: المشكلة تكمن في التصميم ، فالمعطيات اللي انا فهمتها منك وكتبتها لك في اول مشاركة لي في الموضوع ، هي المشكلة ، لأني على اساسها عملت البرنامج ، وربطت الحقول وعملت الكود على اساسها الطريقة الصحيحة للعمل هي ان تشرح كل اللي تريده بالتفصيل الكامل ، وباسماء الحقول ، وترفق كل برنامجك ، وعلى اساسه يمكن الوصول للذي تريده ان شاء الله وإلا ، فللأسف العمل يصير عملين لك ولنا ، وبقية الشعر اللي على راسي يتنتّف جعفر1 point
-
السلام عليكم هنا كانت لي مشاركة في منتدى الفريق العربي للبرمجة ، وبها احد الاقتراحات: http://arabteam2000-forum.com/index.php?/topic/291451-ربط-النماذج-الفرعيه/&do=findComment&comment=1393460 جعفر1 point
-
تفضل اخى الكريم الكود ماخوذ من اخى علاء ابوالعلا (الله يعطيه الصحة والعافية ، ورحم الله والديه دنيا وآخرة ان شاء الله ) منتديات الفريق العربى للبرمجة تفضل مرفقك تحديد عدد السجلات المعروضة.rar1 point
-
الحلقة السابعة *********** السلام عليكم ورحمة الله وبركاته عنوان حلقة اليوم (هيا بنا نلعب ونبني !) النهاردة هنشتغل في البناء .. والبناء هنا هيكون بناء دالة Function .. ممكن يكون الدرس اللي زي كدا مرحلة متقدمة بس أنا تعمدت أشتغل فيها عشان نسبق ونتسابق للمراحل المتقدمة وإحنا في البدايات ، وعشان الناس اللي مستواها متقدم تشارك معانا ، ومتحسش بالملل من البدايات اللي هما شايفينها سخيفة. ** كلنا عارفين إن برنامج الإكسيل بيوفر لنا عدد كبير جدا من الدوال الجاهزة اللي نقدر نستفيد بيها بشكل كبير ، وكمان فيه إضافات Addins بتكون فيها دوال يمكن استخدامها .. لكن مع الوقت هتلاقي نفسك محتاج تعمل دالة (تبني دالة ) بحيث توفر لك الوقت والجهد .. النوع ده من الدوال اللي بتبنيه بنفسك بيطلق عليه (الدوال المعرفة UDF ودي اختصار لـ User Defined Function ) ، وممكن نقول عليها (دوال مخصوصة .. يعني بالبلدي كدا دوال تفصيل .. بنفصلها بحيث تناسب احتياجتنا) هناخد مثال بسيط عشان نفهم إزاي نتعامل مع بناء الدوال : أول شيء لازم يكون عندك المعطيات اللي هتشتغل بيها .. لو قلنا مثلا عايزين نعمل دالة نحسب بيها مساحة المستطيل ..يبقا الأول نعرف معادلة مساحة المستطيل Area = (الطول * العرض) (محدش يكون نظره ضعيف ويقرا العرض من غير نقطة ، لأحسن تودونا في داهية) يبقا المعطيات عندي : الطول والعرض ، هنقول الطول Length والعرض Width .. دي طبعا هتكون متغيرات لأننا مش عارفين قيمتهم كام ، ولأن قيمتهم مش ثابتة ؛ فنطلق عليهم (المتغيرات) ممكن نعملها على شكل معادلة ونقول : Area = Length * Width خطوات البناء : هنفتح محرر الأكواد وندرج موديول جديد ونستعد لعملية البناء ..ركزوا معايا يا أحباب Function Area() End Function أول شيء نكتب كلمة Function مش Sub يا صالح .. إحنا هنشتغل على دالة يبقا نكتب Function أما كلمة Sub فدي بتكون للإجراء الفرعي ..وبعدين نترك مسافة (بالمسطرة أكيد) ونكتب اسم للدالة .. هنسميها هنا اسم معبر Area لأننا عايزين نحسب المساحة وبعدين لما تضغط Enter هتلاقي محرر الأكواد عمل قوسين بعد اسم الدالة وقفل بالجملة End Function (ومننساش دايما القفلة مطلوبة ..لازم يكون تقفيلك مظبوط) ما بين السطرين اللي اتكتبوا دول هتبدأ تكتب الأكواد المطلوبة لتنفيذ العملية الحسابية لحساب مساحة المستطيل ... بس قبل ما نبدأ يا ريت نحط مؤشر الماوس بين القوسين (ايه ده هما القوسين دول طلعلهم لازمة .. أنا كنت مفكرهم زينة وشكل .. حاجة تحلي شكل المحرر زي غترة كدا !) .. القوسين دول بنستخدمهم لتحديد متغيرات الدالة ودي بنسميها arguments ، زي المتغيرات Variables بس دي بيتم الإعلان عنها داخل الأقواس دي ..( يعني هيا متغيرات بس ممكن نقول إنها متغيرات من فصيلة الذوات .. بمعنى إنها مهمة وليها برستيج ، فأول ما نعلن عنها نعلن عنها في الأول قبل ما نبدأ نشتغل عليها). هنكتب اسم المتغير ونوعه زي كدا Function Area(Length As Double, Width As Double) End Function وإحنا بنكتب المتغير وبعديه كلمة As أول ما ناخد مسافة ، هنلاقي فيه قايمة ظهرت لي عشان أختار منها (ممكن نطنشها ..نتجاهلها) أو ممكن نستفيد منها إننا نشوف الكلمة اللي عايزينها ولما نلاقيها نضغط عليها Double Click يعني دبل كليك (شفتوا الترجمة دي .. مش أي حد يترجم خلوا بالكم) ، لما نضغط دبل كليك عليها هنلاقيها اتكتبت ، يا إما نضغط Tab من لوحة المفاتيح .. أول متغير اسمه Length اللي هو خاص بالطول ، وحددنا نوعه بـ Double ودا زي ما عرفنا بيستخدم مع الأرقام العشرية الطويلة . تاني متغير اسمه Width وبردو حددناه نفس النوع .. ومننساش عشان الأمور تكون صحيحة بنضع فاصلة بين المتغيرين ..عشان عمنا المحرر ميحصلش عنده لبس !! بكدا نكون انتهينا الحمد لله .. عندك لسه مخلصناش ..دي كانت البداية والنهاية .. نيجي بقا للجد اللي هو هزار نكتب السطر اللي جاي ده ما بين البداية والنهاية Area = Length * Width يا ريت بعد إذنكم بلاش كسل - محدش ياخد السطر كوبي ويروح يعمل Paste - لا أنا عايز أتعبكم - ما أنا تعبان من الكتابة - اتعبوا شوية انتو كمان .. كله يكتب (اكتب يا حسين .. سجل كل كلمة بيقولها !!) .. الفايدة من الكتابة إننا أول ما نكتب كلمة Area وناخد مسافة ، نلاحظ مستطيل أصفر ظهر لي بيشرح لي متغيرات الدالة .. حلوة ولا ملهاش فايدة .. الفايدة إنها تعتبر زي وسيلة مساعدة ، عشان لما نحب نستخدم الدالة دي في كود تاني أو دالة تانية .. (معنى الكلام اللي بقوله إننا ممكن نبني دالة ونستخدمها في دالة تانية أو كود أو خلافه ..كنوع من التيسير) لو كتبنا أول حرف في كلمة length أو width بحرف small ، هتلاقي المحرر بعد ما تخلص بيحول الحروف الأولى دي لحروف Capital ، ودي سببها إن الكلمات دي متعرف عليها قبل كدا في أول الدالة. كدا تمام تم بناء الدالة (بالسهولة دي ! أيوا بالسهولة دي .. الفكرة مش معقدة .. كلنا اللي إحنا عايزينه مساحة المستطيل والمساحة = الطول * العرض (بس خلاص على رأي شعبولة) نيجي بقا نشوف نتيجة الكلام اللي إحنا عملناه في ورقة العمل .. واحد يقول هنضغط Run (هقوله لا دا مش إجراء فرعي .. دي دالة ، ودلوقتي طالما كتبتها عندك في ملفك أصبح زيها زي أي دالة ، يعني زيها زي الدوال الموجودة في الإكسيل ..وببساطة شديدة تقدر تستعملها ..) تطبيق على الدالة : قم بوضع القيمة 9 في الخلية A1 والقيمة 6.5 في الخلية B1 ، وبعدين في الخلية C1 قم بعمل معادلة للدالة اللي إنت بنيتها: =area(A1,B1) نخلي بالنا ..لما نستخدم الدالة بنستخدمها بنفس الشكل اللي بنيناها بيه ، يعني المتغير Length بييجي بعديه فاصلة ثم المتغير Width ..نشوف الناتج هنلاقية 58.5 .. وبكدا عرفنا مساحة المستطيل بدلالة الطول والعرض .. نجرب نمسح الخليةB1 ونشوف الناتج ، هنلاقي الناتج صفر ، ودا طبيعي لأن أي رقم * فراغ = صفر بس أنا عايز أحط شروط مختلفة ، أنا عايز الناتج ميكونش صفر .. لما يكون العرض مش موجود يضرب الطول في نفسه ..(ايه الكلام الصعب ده ) نرجع تاني للدالة ونبدأ نشوف ايه اللي ممكن نعمله ..؟ في الحالة دي طالما إن إنت عايز تخلي العرض اختياري وليس إجباري ، يبقا هتحدد الكلام ده للمحرر ، وتقوله Optional (اختياري) Function Area(Length As Double, Optional Width As Variant) Area = Length * Width End Function هنا غيرنا نوع المتغير إلى Variant، تحسبا إنك ممكن تترك الخلية اللي فيها العرض فارغة .. واحد هيقول : خلااص ، هرد أقوله : لسه ! طالما إننا خلينا العرض اختياري ، يبقا لازم نحط شرط ، ونشوف الشرط إذا تحقق يعمل ايه ، ولو الشرط متحققش يعمل ايه ..!! نرجع لمرحلة الإعدادي لما كنا بناخد قاعدة IF بمعنى إذا أو لو (وعرفنا أيامها إن لو حرف شعلقة في الجو) .. جملة IF في البرمجة : بييجي وراها شرط ، ولو الشرط اتحقق ايه اللي يحصل ، ولو متحققش ايه اللي يحصل . الشرط اللي هنحطه .. في حالة عدم وجود العرض يعمل ايه ؟ يضرب الطول في نفسه (الطول * الطول) ، طيب لو كان موجود العرض ، يبقا يضرب الطول * العرض Function Area(Length As Double, Optional Width As Variant) If IsMissing(Width) Then Area = Length * Length Else Area = Length * Width End If End Function ما هذا ؟؟ هذا ماذا ؟ هذا هو شكل الدالة بلغة البرمجة ، زي ما فهمناها نترجمها .. بعد كلمة If بييجي الشرط ، والشرط نخلي بالنا يا إما True يا إما False .. لو True ينفذ السطر اللي بعد كلمة Then مباشرة ، لو False ينفذ السطر اللي بعد سطر Else وجملة If الشكل العام ليها زي كدا If الشرط Then الكود في حالة تحقق الشرط Else الكود في حالة عدم تحقق الشرط End If محدش ياخد الكود ده في محرر الأكواد (دا للتوضيح .. واحد مش معبرني وبردو بياخد الشكل ده كوبي ورايح على محرر الأكود ..سيبوه يتصدم !!) أعتقد الصورة كدا بقت واضحة .. استعملنا في الشرط كلمة IsMissing ، الترجمة الحرفية ليها هل مفقود ؟ هل مفقود العرض ؟ -- يعني هل المتغير المسمى العرض مفقود ؟ لو كان مفقود هيتم حساب المساحة بضرب الطول * الطول ، ولو كان موجود يطنش الجزء الأول وينفذ الجزء التاني ، ويضرب الطول * العرض نرجع لورقة العمل ونعدل المعادلة ونخليها : =area(A1) كدا مفيش المتغير الخاص بالعرض ، فتقوم الدالة تضرب الطول * الطول ، ويطلع الناتج 81 لو فضلت المعادلة زي ما كانت في الأول هيكون الناتج صفر .. طيب دا هيكون واجب : عايزين نضيف شرط وهنستخدم فيه معامل الشرط OR ..بحيث لو كان العرض = 0 يضرب الطول * الطول ... سامع واحد من اللي بيقروا بيدعي عليا ، وبيقول حرام عليك طلعت عنينا عشان نعرف مساحة المستطيل ، دا أنا أرحم لي إن أحسبها بايدي وأريح بالي .. معلش استحملوني ! دا كان مجرد مثال عشان نفهم إزاي نقدر نبني دالة .. واجب تاني غير الأولاني (مش هرحمكم!) : قم ببناء دالة بسيطة ، بحيث لو قيمة معينة أكبر من أو يساوي 100 يكتب ممتاز ، لو أقل من 100 يكتب جيد وإلى لقاء مع حلقة جديدة من حلقات افتح الباب واجري ورايا كان معكم البنا أبو البراء من شركة مؤسسة أوفيسنا لأعمال البناء .. إلى أن ألقاكم بخير .. دمتم في حفظ الله1 point
-
1 point