اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

نجوم المشاركات

  1. Elsayed Bn Gemy

    Elsayed Bn Gemy

    الخبراء


    • نقاط

      12

    • Posts

      1162


  2. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      4

    • Posts

      13165


  3. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      4

    • Posts

      9927


  4. رمهان

    رمهان

    الخبراء


    • نقاط

      4

    • Posts

      2390


Popular Content

Showing content with the highest reputation on 05/18/15 in مشاركات

  1. امثلة بسيطة ارجوا ان تنفعنا جميعا صيغة الدالة DLookup DLookup(expr, domain [, criteria] )‎ expr( مطلوب) اسم الحقل domain( مطلوبة) اسم الجدول/الاستعلام criteria( اختيارية) الشروط دا مثال بسيط : عازوين نعرف اسم الصنف الذي كوده 15 في جدول الاصناف اسم الجدول : items اسم الحقل الذي يحمل أرقام الاصناف : code_items اسم الحقل الذي يحمل أسماء الاصناف: items_Name كود: MsgBox DLookup("[items_Name]", "items", "code_items=15") ممكن ناخد كود الصنف من مربع نص موجود في نموذج بدلاً من التصريح في الدالة عن كود الصنف لنفترض مثلا أن مربع نص موجودٌ في النموذج باسم txtItemsCode كود: MsgBox DLookup("[items_Name]", "items", "code_items=" & Me.txtItemsCode) ممكن ناخد قيمة كود الصنف من نموذج آخر بس بشرط أن يكون مفتوحاً ، فلو كان txtItemsCode موجود في نموذج آخر باسمfrm1 فإن الكود سيأخذ الشكل التالي : كود: MsgBox DLookup("[items_Name]", "items", "code_items=" & Forms!frm1!txtItemsCode) ملحوظة بالنسبة للشروط يجب أن تأخذ في الاعتبار نوع بيانات الحقل الذي نعتمد عليه في الشرط ، في المثال السابق كان حقل نوع بياناته (رقم) ، فلو كان نوع بياناته (نص) سيكون الكود بالشكل التالي :code_items كود: MsgBox DLookup("[items_Name]", "items", "code_items='" & Me.txtItemsCode & "'") طب لو كان نوع بياناته (وقت/تاريخ) الكود هيبقى كدا كود: MsgBox DLookup("[items_Name]", "items", "code_items=#" & Me.txtItemsCode & "#") وشكر الله لكم جميعا
    2 points
  2. طبعا وحشتنا اخي جعفر ! وتحية لاخ الرائع محمد عصام ! ممكن بدون iif وكالتالي =-Sum([pselect]) تحياتي
    2 points
  3. اخي الكريم أما بالنسبة لي فأنا أقول لك الحل هو من تبويب إنشاء أجزاء التطبيق قد تحتاج إلى إغلاق قاعدة البيانات وفتحها مرة أخرى بعد التعديل أتمنى أن ترد علينا كيف استطعت حل هذه المشكلة
    2 points
  4. هذهو المرفق اخى الكريم برنامج الورشة.rar
    2 points
  5. الحلقة الرابعة عشر ***************** السلام عليكم ورحمة الله وبركاته وحشتكم !! أكيد لا .. لأني لو وحشتكم كنتو فتحتوا الباب وسألتوا عليا .. عموما إنتو وحشتوني ، وعشان وحشتوني هاقدم لكم حلقة جديدة يمكن تفتكروني. النهاردة هتكلم عن حاجة ناس كتير شرحوها ، وشرحوها بشكل ممتاز ، ودا خلاني مش عارف أشرح إزاي ، لأن اللي شرحوها وفوا شرحها صراحة .. هنتكلم عن الحلقات (بس مش حلقات افتح الباب) الحلقات اللي هنتكلم عنها الحلقات التكرارية ، ومن اسمها هي عبارة عن حلقات بتتكرر (إضافة عظيمة!) اسمها بالإنجليزي Loops ودي مهمة جداً في عالم الأكواد ، محدش يقدر يستغنى عنها تقريباً .. نفترض إني دخلت الفصل (بما إني معلم) ولسه دي أول مرة أتعرف على الطلبة اللي في الفصل ..يا ترى أنا عندي استعداد أخلى طالب طالب يقوم وأنا أقوله قول اسمك والطالب اللي بعديه قول اسمك .. أعتقد إن ريقي هينشف ودماغي هتصدع ودا طبعا مش يرضيكم (مش كدا ولا ايه) ..أنا من النوع الكسول فكل اللي هعمله هعمل تكرار من أول طالب في الفصل لآخر طالب ، وأعطي الأمر مرة واحدة .. من أول طالب إلى آخر طالب قووووول اسمك يا حبيبي الطالب التالي هو دا شكل الحلقة التكرارية .. نبرمجها بلغة الـ VBA ... هنقول إن الفصل فيه 60 طالب (معلش دا واقع الفصول في مصر) .. نقطة مهمة مننساش إن الطالب متغير مش ثابت ، فنرمز للطالب المتغير بالرمز X مثلاً ... Sub Loops() Dim X As Long For X = 1 To 60 'Say your name Next X End Sub طبعاً الكود دا شوية له علاقة بالبرمجة وشوية هتش .. ايه اللي هنعمله ..زي ما اتعودنا (دايما) إننا نعرف المتغير .. ونركز في السطر الثاني بدأ بكلمة For متبوعة باسم المتغير اللي هو X وبعدين علامة يساوي عشان نحدد قيمة X المتغيرة (أو الطالب المتغير) وهنا القيمة ليها بداية وليها نهاية (كل شيء له بداية ونهاية) وبيفصل بين البداية والنهاية حرف الجر To وفي آخر الحلقة التكرارية جملة Next X وممكن نقول Next ونسكت ، ومحرر الأكواد هيفهم لوحده .. بس أنا تقليدي شويتين فخلينا نكتب المتغير ، عشان الكود ممكن يكون فيه أكتر من حلقة تكرارية .. الجزء المهم هو الجزء اللي بين السطرين ، وهو دا الأمر المطلوب تكراره ، السطر اللي هنا مجرد تعليق وهتش وملوش علاقة بالبرمجة .. بس حبيت أقرب لكم الفكرة بأسلوب جديد.. كدا لما أنفذ الكود اللي فات ، كل اللي عملته إني أعطيت الأمر مرة واحدة وبس (وأنا حاطط رجل على رجل ... الدورة تلف على طالب طالب ، ويقول اسمه ، ولما يخلص ، الدورة تنتقل للطالب اللي بعديه وهكذا إلى أن ينتهي الطلاب ، ولما الـ 60 طالب يخلصوا ..يتم إيقاف تنفيذ الكود... ناخد أول مثال بجد عشان نقدر نتعلم إزاي نستفيد من الحلقات التكرارية :: لنفترض أننا عايزين نرقم النطاق A1:A10 بالأرقام من 1 إلى 10يعني الخلية A1 = 1 والخلية A2=2 وهكذا ..طبعا الموضوع بسيط جدا Sub NumberRange() Range("A1").Value = 1 Range("A2").Value = 2 Range("A3").Value = 3 Range("A4").Value = 4 Range("A5").Value = 5 Range("A6").Value = 6 Range("A7").Value = 7 Range("A8").Value = 8 Range("A9").Value = 9 Range("A10").Value = 10 End Sub كود في منتهى الروعة .. شايف حسام بيضحك ويقولي عايزك ترقم النطاق من A1:A100 (وابتسم ابتسامة فيها شماته !!) نفكر شوية .. بقول نفكر شوية (بلاش تكمل الحلقة غير لما تبص في الكود وتفكر شوية .. فكر شوية واكسب التوفير في الوقت والجهد) ايه المشترك في أسطر الكود .. وايه المختلف .. المتشابه في كل الأسطر Range("A ").Value = والمختلف هو الرقم بعد حرف الـ A ، والقيمة اللي بعد علامة يساوي .. في السطر الأول الرقم اللي بعد حرف الـ A هو 1 ، والقيمة بعد علامة يساوي بردو 1 ، ونفس الكلام مع السطر رقم 2 ، ورقم 3 وهكذا يبقا أول حاجة تفكر فيها إنك المختلف أو المتغير أو الشيء الغير ثابت تضعه في متغير ، ودا لأنه مش ثابت ومتغير .. فنضع متغير باسم X مثلاً ونعمل حلقة تكرارية من 1 إلى 10 (دي القيم اللي هيحملها المتغير) Sub NumberRange() Dim X As Long For X = 1 To 10 Range("A" & X).Value = X Next X End Sub نفس الكود اللي شرحناه من شوية ، الاختلاف في السطر اللي بين سطري التكرار .. الحلقة هتدور 10 مرات ، وفي كل مرة المتغير X بيحمل قيمة مختلفة (نرررررركز في الجزئية اللي جاية لأنها مهمة جداً جداً ) مش هنفذ الكود مرة واحدة .. سنقوم بعملية التنفيذ واحدة واحدة ، اللي مستعجل يروح ينفذ الكود مرة واحدة ، واللي مش مستعجل أنا معاه ..عشان يعرف حاجة مش هيعرفها الأخ المستعجل ... ضع مؤشر الماوس في أي مكان في الكود .. جميل >> اضغط F8 من لوحة المفاتيح ، وجمد قلبك وقول يا رب .. لاحظت ايه يا عبد المحسن؟ عبد المحسن ناااااااام مني (الله يسامحك) ..عبد المحسن : شايف الدنيا صفرا ليه ، هو فيه عاصفة النهاردة كمان؟ .. رديت عليه : لا يا عبد المحسن كمل نومك ، السطر الأصفر اللي ظهر ده سببه إننا ضغطنا F8 .. ودا فايدته إننا هنقوم بعملية التنفيذ واحدة واحدة .. سطر سطر .. السطر الأصفر على أول سطر في الكود Sub NumberRange() اضغط F8 مرة تانية ، ايه اللي حصل انتقل السطر الأصفر للسطر التالت ، طيب والسطر التاني يا معلم .. ملوش لازمة !!! أكبر خطأ إنك تعتقد إنه ملوش لازمة ، لما ضغطنا F8 للمرة التانية ، محرر الأكواد خزن في الذاكرة كل المتغيرات الموجودة في الكود عايز تتأكد من كلامي ، حرك مؤشر الماوس اللي على شكل حرف I (فيه شرطة فوق وشرطة تحت) حرك الماوس من غير ما تدوس كليك .. واقف على المتغير X هتلاقي تلميح في مستطيل صغير بيقولك المتغير X=0 ، دي كدا القيمة المبدئية للمتغير ... لما تضغط F8 للمرة التالتة ، روح شوف قيمة X مرة تانية هتلاقي قيمة X=1 (ايه اللي خلاها 1 مش كانت صفر من لحظة ) اللي حصل إننا انتقلنا من السطر For X = 1 To 10 والسطر دا هيبدأ في عمل الحلقة التكرارية اللي بنقول عليها ، والحلقة بدايتها 1 زي ما حددنا (وطبعاً ممكن نغير نقطة البداية يا شباب .. مش شرط 1) حرك مؤشر الماوس من غير ما تدوس على المتغير X في السطر المظلل بالأصفر Range("A" & X).Value = X هنلاقي زي ما قلت إن X =1 يعني محرر الأكواد هيعمل ايه دلوقتي ، هيشيل كل X ويحط مكانه القيمة 1 ، فيصبح السطر في الذاكرة بهذا الشكل Range("A1").Value = 1 لحد كدا تمام التمام ، صغر محرر الأكواد بحيث تكون ورقة العمل ظاهرة بالنسبة لك واتأكد إن النطاق A1:A10 فارغ ليس به أي بيانات ، وركز في ورقة العمل ، واضغط F8 عشان تنقل السطر الأصفر إلى هذا السطر ، ولاحظ ورقة العمل Next X لاحظت يا منصور الخلية A1 وضعت فيها القيمة 1 ، نخلي بالنا إن السطر الأصفر بيتم تنفيذه بعد الخروج منه ، فلما خرجنا من السطر تم تنفيذ الأمر وأعطى القيمة 1 للخلية A1 .. اضغط F8 مرة أخرى ، ونلاحظ إن السطر الأصفر انتقل للسطر اللي قبليه ، مش لبداية الحلقة التكرارية ، يعني ببساطة السطر اللي بيحدد بداية الحلقة ونهايتها بيعدي عليه مرة واحدة فقط .. أما سطر الأمر والسطر اللي فيه كلمة Next بيبدل السطر الأصفر عليهم... نبص دلوقتي على قيمة المتغير X هنلاقيها بقت 2 فيتم تنفيذ السطر بمجرد الضغط على F8 ويضع القيمة 2 في الخلية A2 وهكذا ..جرب واضغط F8 وفي كل مرة شوف قيمة المتغير X وشوف النطاق A1:A10 في كل مرة أول ما توصل قيمة المتغير X إلى الرقم 10 تتوقف الحلقة التكرارية ، وينتقل السطر الأصفر لجملة End Sub .. وينتهي عمل الكود .. عارف إني طولت في النقطة اللي فاتت ، بس كان لازم أطول فيها ، عشان أنا فاضي ومفيش ورايا شغل ، فقلت أصدعكم شوية!! ننتقل لمثال آخر --------------- عشان نقدر نفهم إزاي نستفيد من الحلقات التكرارية .. عايزين نعد الاسم (أحمد) في النطاق A1:A10 نفترض إني عندي الأسماء دي في النطاق A1:A10 أحمد ياسر سليم حسام عيسى أحمد أحمد خليل عبد الله أحمد المطلوب : نشوف الاسم (أحمد) كم مرة تم تكراره .. المعطيات : استعن بالله ثم بالحلقة التكرارية .. الفكرة : هنعمل اختبار صغير بقاعدة IF وهنقول لو قيمة الخلية بتساوي "أحمد" .. زود المتغير Counter بقيمة واحد Sub CountName() Dim X As Long Dim Counter As Long For X = 1 To 10 If Range("A" & X).Value = "أحمد" Then Counter = Counter + 1 Next X MsgBox Counter End Sub عملنا متغير جديد باسم Counter عشان لما يتحقق الشرط ويلاقي الاسم "أحمد" يقوم يخلي المتغير Counter يساوي نفسه + 1 طيب ليه يساوي نفسه ، عشان في كل مرة يلاقي أحمد قيمته هتتغير فلازم نضيف واحد لكل Counter جديد النتيجة في الآخر هتظهر في رسالة ، وهي 4 .. طيب نجرب نشيل الواحد في هذا السطر Counter = Counter + 1 لو شيلنا الواحد هتكون النتيجة 0 ، لأن المتغير قيمته المبدئية صفر ، فلما يتحقق الشرط مش هيزيد المتغير إلا لما نضيف واحد في كل مرة يتحقق الشرط. هناخد مثال آخر ---------------- عندنا درجات في النطاق A6:A15 ، عايزين نكتب ناجح أوراسب في الخلية المجاورة للدرجة ، لو الدرجة أكبر من أو يساوي 50 يبقا ناجح ، مكانش يكون راسب ... نخلي بالنا أنا غيرت بداية النطاق عشان الحلقة التكرارية بردو هتتغير بدايتها ونهايتها طبقاً للصفوف الجديدة 58 41 88 40 50 40 98 94 60 35 نجرب الكود التالي .. Sub LoopsTest() Dim X As Long For X = 6 To 15 If Cells(X, 1).Value >= 50 Then Cells(X, 2).Value = "ناجح" Else Cells(X, 2).Value = "راسب" End If Next X End Sub نلاحظ الحلقة التكرارية بدأت من 6 إلى 15 (ودا متغير للصفوف من الصف رقم 6 إلى الصف رقم 15) ووضعنا الشرط بين سطري الحلقة التكرارية ، لو الخلية اللي في الصف X والعمود الأول أكبر من أو يساوي 50 يقوم يعمل ايه؟ يضع القيمة النصية "ناجح" في الخلية اللي في العمود الثاني والصف X (نفس الصف بالطبع لأن قيمة X في الحالة دي هي هي نفس القيمة لأننا في نفس اللفة) .. إذا لم يتحقق الشرط قام بتنفيذ الجزء الثاني بأن يكتب النص "راسب" ثم إغلاق جملة IF بالجملة End IF ومننساش القفلة زي ما اتعودنا.. ننتقل لآخر مثال في الحلقة دي (عشان أنا تعبت وإنتو كمان أكيد تعبتو) في الأمثلة اللي فاتت عملنا حلقات تكرارية للصفوف .. واحد بيقولي طيب والأعمدة ملهاش نصيب في الدوخة اللي إحنا فيها دي .. أقوله أكيد ليها نصيب .. المطلوب إننا في الصف الرابع ، نكتب معادلة =COLUMN() بس في الأعمدة من العمود رقم 1 إلى العمود رقم 15 (A To O) نعقدها شوية ونقول في الأعمدة اللي رقمها فردي بس (الأعمدة اللي رقمها زوجي مش محتاجينها) يعني ببساطة عايزين نحط المعادلة في الأعمدة A C E G I K M O Sub ColumnsLoop() Dim X As Long For X = 1 To 15 Step 2 Cells(4, X).Formula = "=COLUMN()" Next X End Sub الحلقة التكرارية بدأت من العمود الأول حتى العمود رقم 15 (البداية والنهاية) معلومة جديدة Step 2 (دي معناها إننا هنقفز ..والقفز هيكون بمقدار 2 أي خطوتين) بدأنا بـ 1 فلما نقفز بمقدار 2 ، هنروح لرقم 3 ، أي أن المتغير سيكون رقم فردي في كل مرة 1 ، 3 ، 5 ، 7 ، 9 ، 11 ، 13 ، 15 (وهو دا المطلوب بالضبط) سطر الأمر فيه الخاصية Formula ودي عشان نقدر نضع معادلة من خلالها .. والمعادلة ببساطة زي ما شفناها من شوية بس بتكون بين أقواس تنصيص .. طيب الجزء الأول من السطر نلاحظ إننا استخدمنا Cells ودي بتكون متبوعة بقوسين ، وبين القوسين رقم الصف ثم فاصلة ثم رقم العمود ، وبما إن رقم الصف ثابت اللي هو رقم 4 ، فكتبناه زي ما هو .. اما رقم العمود فمتغير فوضعنا رقم العمود X ... جرب الكود وشوف النتيجة بنفسك أرجو أن أكون قد وفقت في توصيل المعلومة بأسلوب مبسط كان معكم أخوكم أبو البراء من تراك أوفيسنا (لف على الحلقات من الحلقة رقم 1 إلى الحلقة رقم 14 .. لو عايز تتعلم الـ VBA) ويا رب ميكونش فيه حد جاله دووووووووخة من كتر اللف .. والله أنا اللي دوخت أستودعكم الله .. دمتم في رعاية الله تقبلوا تحياتي .. دمتم بود
    2 points
  6. السلام عليكم ورحمة الله لدي البريمج الصغير التالي : (جدول الأصناف) ويوضع فيه: (رقم - اسم الصنف - الكمية - السعر - تاريخ الادخال - رقم الفاتورة) جدول آخر (جدول الميزانيات) وفيه : ميزانية أ ميزانية ب ميزانية ج ميزانية د المطلوب هو : جلب قيمة (ميزانية أ) من جدول الميزانيات وتوضع في خلية (TextBox) مثلاً في التقرير لأجل طباعته مع محتويات الجدول الأول (جدول الأصناف) ؟؟ معلومة /// التقرير بالأصل معمول لجدول الأصناف ولكن المطلوب هو إضافة قيمة (ميزانية أ) في أعلى التقرير ،،، بالإضافة لإجراء عملية حسابية بأسفل التقرير وهي : ( مجموع سعر الأصناف - ميزانية أ ) = المتبقي من الميزانية أ
    1 point
  7. السلام عليكم أخواني الكرام اقدم للمنتدى برنامج محاسبة من تصميمي مع قاعدة بيانات للتجربة لكي يعمل البرنامج يرجى عمل ما يلي : 1- فك الضغط على القرص D حصريا 2- بعد تشغيل البرنامج يطلب تحديد قاعدة البيانات التي سيعمل عليها يجب اختيار قاعدة 2014 من ميزات هذا البرنامج أن معظم البرنامج يعتمد على الماكرو وأنا انتظر التقييم والردود الرابط https://drive.google.com/file/d/0B_ZrhTFFRjn3Mml3VWEyVjU0Qnc/view?usp=sharing مع تحياتي للجميع
    1 point
  8. ارجو من السادة خبراء الاكسيل ان يعلموني كيف اصنع كود تكون الصفوف كلها مخفيه و لكن يظهر الصف تلقائيا عند كتابة بيانات في الصف السابق له يعني انا بسجل بيانات التلاميذ في شيت كنترول يكون صف واحد فقط ظاهر و الباقي مخفي و بمجرد ما اضغط انتر علشان اضيف بيانات طالب جديد يظهر صف واحد فقط و هكذا هل هذا الطلب صعب ؟
    1 point
  9. السلام عليكم ورحمة الله وبركاته **************** إخواني الكرام في المنتدى الغالي أقدم لكم دالة في منتهى الجمال والروعة صادفتني أثناء تصفح الانترنت ، تقوم الدالة باستخراج القيم الغير مكررة في عمود وعدد مرات تكرار هذه القيم في العمود المجاور الدالة المعرفة بهذا الشكل Function CountUniq(Rng As Range, Ref As Long, Key As Integer) Dim E With CreateObject("Scripting.Dictionary") For Each E In Rng.Value If E <> "" Then .Item(E) = .Item(E) + 1 Next CountUniq = IIf(Key = 1, .keys()(Ref - 1), .items()(Ref - 1)) End With End Function وإليكم ملف مرفق لتطبيق الدالة ولمعرفة كيفية الاستفادة منها أرجو أن تنال إعجابكم أخوكم أبو البراء Count Unique UDF Function.rar
    1 point
  10. السلام عليكم ورحمة الله وبركاته شغال حاليا بتعلم في برنامج لورشة صيانة سيارات عايز حضراتكم تبصوا عليه كده و ياريت حد يقولي كده انا بدأت صح ولا لأ ؟ هو المفروض قاعدة البيانات دي تعمل التالي : تسجل قطع الغيار على السيارات بأسعارها و كمياتها وتضيف اسم الميكانيكي الي استلم القطعة يركبها وأقدر أطبع منها تقرير خاص بكل سيارة عن اجمالي مصروفات السيارة وتفاصيل القطع الي استخدمتها بالتاريخ واسم الميكانيكي الي استلمها وشاكر مقدماً لحضراتكم على حُسن تعاونكم :rol: برنامج الورشة.rar
    1 point
  11. حبيبى محمد شكرا لمرورك العطر
    1 point
  12. استاذ صلاح شكرا لك و جزاك الله كل خير وجعله في ميزان حسناتك
    1 point
  13. أسعد الله أوقاتكم بكل خير فيما يلي الدرس السادس و العشرون من الدورة المميزة مهارات اكسيل 2013 أتمنى لكم مشاهدة ممتعة ومفيدة وفي هذا الدرس سوف نتعرف على الدوال LEFT, RIGHT, MID, FIND, SEARCH وكيفية استخدام هذه الدوال مع بعضها البعض انتظرونا غداً في الجزء الثالث و الرابع من الدوال النصية لمشاهدة باقي دروس دورة الاكسيل 2013 المنشورة يرجى فتح ا لرابط التالي: دمتم بخير
    1 point
  14. صحيح ولكن : dcount لابد من ادخال شروط اضافية مثلا التاريخ او تحديد المجال !! ولكن فكرة الاستاذ جعفر هو انه : يجمع السجلات الظاهرة فقط حتى ممكن تعمل فلترة يدوية على النموذج كتحديد الجنس ومرة تحديد التاريخ ومرة تحديد القسم وهذا سهل في فلترة النموذج ومعقد في dcount: ملخص الفكرة: حساب الظاهر امامك !! تحياتي
    1 point
  15. أقدم شكرى للجميع وجزاكم الله خيرا وففقكم لما يحب ويرضى الحمد لله تم الحل بما تفضل به أستاذ عبدالله قدور أسأل الله أن يغفر لنا وله ويرحم والدينا ووالديه والمسلمين. يبدو أننى ضغط على تبويب أجزاء التطبيق دون أن أدرى قبل حادثة الانقلاب .... وعلى اسلوب أخى الغالى راعى الغنم. دى جزات اللى يلعب فى حاجة مايعرفهاش هههههه
    1 point
  16. لأن الطريقة الثانية فيها كود طويل وللعلم ، بدل : DoCmd.RunCommand acCmdSaveRecord تقدر تستعمل me.refresh او if me.dirty then me.dirty=false والقصد هو حفظ السجل جعفر
    1 point
  17. تفضل يا ريس في النموذج: وكود بعد التحديث: Private Sub PSelect_AfterUpdate() DoCmd.RunCommand acCmdSaveRecord End Sub طبعا في طرق اخرى ، بس انا اليوم كسلان جعفر 73.Absence of Employees.mdb.zip
    1 point
  18. عسى ام يكون المطلوب ترتيب عشوائي salim.rar
    1 point
  19. لما قرات راسا على عقب فهمتها الراس تحت والرجلين فوق هههههههههههههه الحل كما ذكر مارد الاكسس واضف لذلك من الخيارات العامة للاكسس تاكد من ان القاعدة من اليمين الى اليسار.....
    1 point
  20. السلام عليكم ايش رأيك في هذه الطريقة: سحب أكثر من حقل من سجل واحد في الجدول ، وهذا الرابط فيه المثال http://www.officena.net/ib/index.php?showtopic=61152&p=394338 جعفر
    1 point
  21. اخى الكريم انصح بمراجعة صفحة الاشارة الى التقارير والنماذج الفرعية من ميكروسوفت https://support.microsoft.com/en-us/kb/113352/ar Set rst = Forms![FrmSearch]![FrmDataAll].Form.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For I = 1 To RC rst.Edit rst!c = False rst.Update rst.MoveNext Next I
    1 point
  22. اتفضل ده تعديل الاستاذ رمهان تعديل الاستاذ رمهان.rar
    1 point
  23. بارك الله لك هو المطلوب
    1 point
  24. لا يا اخى بل اقرا اولا قبل التنفيذ وهذه نصيحتى الاولى اقرا ولا تياس وان تعثر عليك فهم شى اسال عنه
    1 point
  25. اخى الكريم جارى التعديل على المرفق ولكن يا اخى الفاضل انصحك بالتعمق اكثر فى قراءة الجدوال وفهم طرقة عملها وانواع البيانات فى حقولها سيفيدك كثيرا
    1 point
  26. ياريت حد يساعدني في تعديل دالة DLookup في نموذج add2 في خانة كود المعدة في حدث بعد التحديث بحيث لما أضيف الكود يظهر تلقائي رقم اللوحة و نوع المعدة والمصنع وسنة الصنع برنامج الورشة.rar
    1 point
  27. فقط نريد ان نعرف ماهى طبيعة الحجز هل بالساعة ام بالايام ام انك تريدى فقط الاخطار بان المعمل رقم 3 مثلا محجوز وتنظرى الموافقة من المديرة وهل الاجهزة التى سيتم تنزيل البرنامج عليها على سيرفير داخلى واحد ؟؟ يعنى على نفس الشبكة هههههههههه
    1 point
  28. ومن يتهيب صعود الجبال يعش أبد الدهر بين الحفر كن ذا همة تصل القمة"مقتبسة من أصدقائنا في المنتدى".
    1 point
  29. مجهود كبير تقوم به اخونا ياسر بوركت
    1 point
  30. MsgBox DLookup("[items_Name]", "items", "code_items=" & Me.txtItemsCode)
    1 point
  31. مشكور على الشرح الجميل ده علما بأن الدالة دي مدوخاني من الصبح :) قياسا على اول مثال لو محتاج اول ما اكتب الكود يبحث تلقائي في جدول الاصناف على اسمه وكمان على سعره مش زي ما حضرتك ادرجت في المثال الكود 15 فقط
    1 point
  32. اخى الكريم لا تقل هذا فكلنا هنا نخدم هدفا واحدا ونطلب رضا الله عما نفعنا به عموما تم تعديل المرفق ورفعته تانى فقط تعديل فى التنسيق
    1 point
  33. ..ابحث عمن ينصحك بإخلاص.. ..لا من يمدحك باستمرار..
    1 point
  34. دايما سباق انا كنت هاقوله كده بس حبيت اتأكد من الملف بس انت مش سايبلنا حاجة نعملها و لعله يكون المطلوب و الاخ الفاضل يحدد الاجابة كأفضل اجابة حسب التعليمات
    1 point
  35. أخي الكريم في معادلة VLOOPUP أضف قبل الدالة IFERROR( وفي نهاية المعادلة أضف فاصلة أو فاصلة منقوطة حسب الإعدادات لديك لتصبح بهذا الشكل ,"") لتصبح المعادلة بهذا الشكل (كمثال) =IFERROR(VLOOKUP(A1,$G$1:$H$10,2,0),"") تقبل تحياتي
    1 point
  36. ضاقت فلما استحكمت حلقاتها فرجــــــــــــت وكنت أظنها لا تفرج فلا لليأس والقنوط ...نعم للتفـــــــــــــــــــــــــاؤل....على الرغم من كل ماهو محدق بنا وبأهلنا في شام العز.
    1 point
  37. ..إذا تكاثرت الهموم سقطت كلها.. (رسائل ابن حزم الأندلسي)
    1 point
  38. كن بلسماً إن صار دهرك أرقماً وحلاوة إن صار غيرك علقما. إن الحياة حبتك كلَّ كنوزها لا تبخلنَّ على الحياة ببعض ما
    1 point
  39. اظن النقاط الثلاث الأولى تتم قبل بناء الملف بالتعامل مع خصائص الماسح وهذا ملف الخطوط الخاص بالمشروع كامل في المرفقات Fonts.rar
    1 point
  40. السلام عليكم أخي محمد انا لن اتطرق لطريقة عمل النموذج الجديد ، "لأننا" لم نلحظ المشكلة في النموذج الاصل ولكني دخلت في كود Combopn_AfterUpdate : pn = DLookup("pn", "code", "[pn]=forms!frm_dataentry!Combopn") size = DLookup("Size", "code", "[pn]=forms!frm_dataentry!Combopn") vendor = DLookup("Vendor", "code", "[pn]=forms!frm_dataentry!Combopn") Description = DLookup("Description", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrl = DLookup("Maxrl", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrlegyptair = DLookup("Maxrlegyptair", "code", "[pn]=forms!frm_dataentry!Combopn") ACType = DLookup("actype", "code", "[pn]=forms!frm_dataentry!Combopn") Pos = DLookup("pos", "code", "[pn]=forms!frm_dataentry!Combopn") BiasRadial = DLookup("biasradial", "code", "[pn]=forms!frm_dataentry!Combopn") code = DLookup("code", "code", "[pn]=forms!frm_dataentry!Combopn") لاحظت انك تنادي الجدول (اي تعمل استعلام للجدول) 10 مرات !! انا دائما لما اعمل برامجي ، اعمل البرنامج على اساس انه سيكون عبارة عن جزئين ، الواجهة FE ، والجداول BE ، وان الجداول BE ، ستكون في شبكة ، وان الواجهة FE ستكون لأكثر من مستخدم. لهذا السبب ، فيجب ان نقلل الزحمة في الشبكة ، وذلك بتقليل زيارة/استعلام الجداول قدر الإمكان ، وعند كل زيارة ، يجب ان نأخذ اكبر كمية من البيانات المطلوبة ، ثم نتعامل معها محليا في FE. لذلك ، فانا هنا اعطيك احد البدائل (والتي لا يعرفها الكثير ، لأنها تعمل على الاكسس 2003 فما فوق) ، فالكود التالي ، يقوم بزيارة/استعلام الجدول عن طريق DLookup مرة واحدة ، ويأخذ 10 بيانات مرة واحدة ، فلذا يمكن ان يستبدل كودك اعلاه: Dim x() As String A = Nz(DLookup("[pn] & '|' & [Size] & '|' & [Vendor] & '|' & [Description] & '|' & [Maxrl] & '|' & [Maxrlegyptair] & '|' & [actype] & '|' & [pos] & '|' & [biasradial] & '|' & [code]", "code", "[pn]=forms!frm_dataentry!Combopn"),"|||||||||") 'ويمكن استعمال اي شيء بدل عن | فمثلا الفاصلة 'A حتى اذا لم هناك قيمة للمتغير Nz نستعمل الدالة 'عدد مرات وضع العلامة | في نهاية السطر ، يكون نفس عددها في المعادلة 'لهذا السبب نرى اننا وضعنا 9 منها في نهاية السطر x = Split(A, "|") ' For i = LBound(x) To UBound(x) ' Debug.Print x(i) ' Next i Me.pn = x(0) Me.size = x(1) Me.vendor = x(2) Me.Description = x(3) Me.Maxrl = x(4) Me.Maxrlegyptair = x(5) Me.ACType = x(6) Me.Pos = x(7) Me.BiasRadial = x(8) Me.code = x(9) جعفر
    1 point
  41. استاذ عبدالرحمن ممكن ترفع البرنامج. تحياتي
    1 point
  42. في الماضي كان في الماضي .. كان الإقتراب من هاتف المنزل محظوراً وممنوعاً ... إلا على الرجال وإذا رنّ الهاتف تتعالى أصواتهم بالأمر من بعيد مَحَّدْ يرُدْ!! فهذا الجهاز الساحر إرتبط بمفهوم الأخلاق والعيب والحياء وكان إقتراب البنات منه عيبٌ ونقيصة بمثل خروجهن في الشارع دون غطاء رأس لذلك لا أحد يرد غير الكبار في الماضي كان أقصى ما يمكن أن يُشاهده الصغار في التلفزيون أفلام الكارتون وأفتح يا سمسم والحكايات العالمية الساحرة، ومغامرات سندباد!! أما فيلم السهرة فحرام حرام أن نسهر عليه فنحن صغار لابد أن ننام مبكرا لكي نستيقظ مبكراً في الماضي كان الأب يُعدّ عملاقا كبيراً فنظرة من عينيه ... تُخرسنا!! وإن ضَحك فإنّ ضحكته تطلق أعياداً في البيت وصوت خطواته القادمة إلى الغرفة تكفي لأن نستيقظ من عميق السبات ... ونقوم لنصلي الفجر!! في الماضي كانت المدرسة التي تبعد كيلوين من المترات كأنها قريبة خطوات من بيتنا لدرجة أننا نمشى إليها ... كل صباح ونعود منها كل ظهيرة، ولم نحتاج إلى باصات مكيفة ولم نخشَ على أنفسنا من خطف ولا عصابات ونحن نندس في الأزقة والحواري لنشتري عصير الفيمتو المثلج في أكواب بلاستيكية ونعود للبيت بملابس تبقعَّت بحُمرته في الماضي لم تكن هناك خشية وتخويف من جراثيم على عربات الباعة الجوالين ولم نعرفها في أرضيات البيوت المكسوة بالبلاستيك ولم نسمع عنها في إعلانات التلفزيون ولم نحتج لسائل معقم ندهن فيه أيدينا كل ساعتين لكننا برغم ذلك ... لم نكن نمرض!! في الماضي كانت للأم سُلطة وللمعلم سُلطة وللمسطرة الخشبية الطويلة سُلطة نبلعُ ريقنا أمامها وهي وإنْ كانت تؤلمنا لكنها جعلتنا نحفظ جزء عم وجدول الضرب وأصول القراءة وكتابة الخط العربي ونحن لم نتعد التاسعة من العمر بعد!! في الماضي كانت شوارع الحي بعد العاشرة مساء تقفر تماما وتصبح فارغة وكانت النساء يمكثن في بيوتهن ولا يخرجن أبداً في المساء وكان الرجال لا يعرفون مكانا يفتح أبوابه ليلاً سوى المُستشفى والمركز والمطار!! في الماضي لم تكن الحكومة تسمح للمجلات والجرايد أن تنشر إعلانات تكبير وتصغير العَوْرات والمُنشطات الجنسية ومواد تحويل السُبلان الى غزلان لأن الرجال كانوا فحولاً ...من دون منشطات والنساء كنَّ غزلاناً بعفتهن وطهارتهن في الماضي كان النقاب والحجاب غريباً وكان الستر بالعباءات السوداء المرسلة على القوام وكان الستر في الوجوه الطيبة الباسمة وكانت أبواب البيوت مُشرعة للجيران وكانت صواني الذواقة تدور كل ظهيرة بين الدور وفي الدرابين والحواري في الماضي لم يَكن الأب مُتعلماً ولا الأم مُثقفة وكان الصغار ينجحون من دون مدرسين خصوصي ويفهمون المناهج من دون دروس خصوصية ويُسجلون النتائج الكبيرة في المدارس الحكومية ولم تكن هناك حاجة إلى مدارس خاصة تدرس فساد الاخلاق بالعربي والغربي في الماضي كان للحياة عطر وأريج وكانت الحياة إجتماعية أكثر طيّبة أكثر ... طعمها طيّب مليئة بالفرح أكثر في الماضي كان هناك خجلٌ وحياء كانت بنتُ الجيران هي عَرضي وأختي أغارُ عليها مثلما أغار على شقيقتي كان هناك في الشارع ... ذوق وأدب وأخلاق ما أجمل قلوب ونفوس تلك الأيام .. ياليتها تعود من بريدى...... واعجبنى تحياتى....لزيارتك موضوعى
    1 point
  43. الأمثلة التي وضعها فقط عينة، ولكن الكلمات جميعها مختلفة، ولا يوجد كلمة كالأخرى. أشكر لك مشاركتك أخي رفعت. دمتم بخير
    1 point
  44. السلام عليكم اخي الكريم في المشاركة رقم 10 مذكور اليوسر والرقم السري وعلى العموم هوه (01229262140) لليوسر والباسوويرد بالتوفيق
    1 point
  45. السلام عليكم ورحمة الله وبركاته بعد تجربة البرنامج : مما لا شك فيه انه برنامج ممتاز وعمل متعوب عليه ولكن اثراء للموضوع قمت ببعض التعديلات على استمارة البيانات واضافة زر جديد اسمه ( تغيير المديرية والادارة ) اتمنى ان يكون التغيير مفيد للبرنامج ولم يؤثر على شيء به برجاء التجربة شئون العاملين برنامج.rar
    1 point
  46. جزاك الله خيرا قمت باصلاح القاعدة وحذف الصور منها لتخفيف الحجم وتم رفعها هنا db1.rar
    1 point
  47. جدول المرضي جدول رئيسي لا تكرار فيه للسجلات لمريض واحد ويحوي المعلومات الرئيسية الثابتة الخاصة بالمريض اما جدول الحجوزات فهو جدول يحوي جميع حجوزات المريض / المرضي على تكرارها وتعددها ، ويكون مرتبطا بجدول المرضي بعلاقة واحد لمتعدد والله أعلم
    1 point
  48. السلام عليكم =========== اخوانى واحبائى واحب الناس الى قلبى ( اعضاء - مشرفين - مسئولى )ممنتدى اوفسينا كم تعلمت منكم وكم زادنى شرف الردود لكم وعليكم والان موعدى معكم لرد جميلكم الثقيل على كتفى خفيف على قلبى الى كل من علمنى حرفا فى هذا المنتدى وسيعلنى اهديكم هذا البرنامج داعيا الله ان يكون على المستوى اللائق واعطائى ولو درجة النجاح والنجاح فقط ميزات البرنامج ============== 1) يصلح للصفين معا فهو يتعامل مع صيغتى الاناث والذكور ( طالبات - وطلبة ) بمجرد اختيار بنين او بنات فى صفحة البيانات فمعادلاته مجهزة لذلك . 2) يتعامل مع الصفين الاول والثانى عند اختيار الصف فى صفحة البيانات فالمعادلات ايضا مجهزة لذلك 3)البرنامج يجمع فى طياته كل افكار الكنترولات السابقة فقط مع اضافة توزيع اللجان وارقام الجلوس لاى صف من الصفين دون التدخل لكتابة الصف او الجنس . 4)صفحة السرى ( لها رقم سرى لعدم الاطلاع من قبل اعضاء الكنترول والسرى هو 12) لعالمنا الجليل خبور 5)فى صفحة ف د 1 يوجد زر للكتشنة وفك الكتشنة وكانت الفكرة للاستاذ ايسم بارك الله فيه 6) يوجد فى نفس الصفحة زر للتقريب بما يتناسب مع قوانين الرفع وهو اختيارى والكود للاستاذ الكبير ابو تامر . 7)شهادة الفصل الدراسى الاول صفحة واحدة فقط وهى فقط كعملية جمالية تعمدت الا يكون الصفحة بها اكثر من شهادة وذلك لتجنب القص وغيرة ( رزمة الورق تقص فى المطبعة كما هى الى نصفين وتوضع فى الطابعة كما هى ) 8)ما اعتبره اهم ميزة هو شهادة الفصل الدراسى الثانى تكون بالدوائر . 9) ترحيل الشيت الى ناجح ودور ثانى للطباعة وايضا بالدوائر 10) لا املك اى كود فى هذا البرنامج الا كود التجهيز فقط اما باقى الاكواد قكلها موجودة فى المنتدى 11) اشكر كل من ساهم بفكرة واخص وسامحونى بالترتيب الاستاذ مجاهد اعادة الله لنا سالما العالم الجليل خبور خير الاستاذ الفذ ابو تامر اخى وصديقى ايسم واترككم مع البرنامج فى رعاية الله وفى انتظار تعليقاتكم
    1 point
×
×
  • اضف...

Important Information