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

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

  1. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      8

    • Posts

      3,491


  2. يوسف أحمد

    يوسف أحمد

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


    • نقاط

      7

    • Posts

      1,055


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

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

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


    • نقاط

      2

    • Posts

      13,165


  4. اسلام سيد

    اسلام سيد

    04 عضو فضي


    • نقاط

      1

    • Posts

      880


Popular Content

Showing content with the highest reputation on 19 أكت, 2017 in all areas

  1. و عليكم السلام و رحمة الله و بركاته اخي العزيز محمود لعمل ذلك ضع الكود التالي في حدث عند مفتاح للاسفل لمربع النص الخاص بكود فاتورة الشراء If KeyCode = vbKeyF12 Then DoCmd.GoToRecord , , acNewRec Me.SH_A_F.Form!BAR_COD.SetFocus End If تفضل المرفق بعد التعديل بالتوفيق SOBAR (2).rar
    2 points
  2. هذا الموضوع هو عملية لانشاء برنامج مبيعات مصغر اعتمادا على جدولين فقط ، الحركة ، وعمليات النقد ، ورأس الفاتورة مع ما يلزم من جداول الخدمة ، احاول فيه ان اجعل عملية التصميم والاستعلامات والاخراج اكثر مرونة واسهل في المعالجة . سيكون 80% من العمل لفهم المشروع وتصوره في محيط الجداول فقط بسم الله .. نبدأ : 1- جدول العملاء 2-جدول الفاتورة 3- جدول النقدية 4- جدول الحركة 5- جدول الاصناف اولا : جدول العملاء ويشتمل على المعرف ، واسم العميل ، ونوع العميل ( مورد ، زبون ) ، والعنوان ، والهاتف ...
    1 point
  3. السلام عليكم و رحمة الله و بركاته اخواني و اساتذتي الاعزاء ارفق لكم فكرة عمل مفضلة بحث لجلسة العمل الواحدة و فكرتها تشبه الى حد ما مفضلة متصفحات الانترنت ... و الفكرة تتلخص في التالي : انشاء مربع تحرير و سرد نوع مصدر الصف له قائمة قيم ... مربع التحرير و السرد هذا ليس له مصدر بيانات و لكن يتم اضافة القيم اليه من خلال زر اضافة و يتم حذف القيم منه باستخدام زر حذف ... و الفائدة من هذه الفكرة هي : انتقاء بعض السجلات و التنقل بينها بسهولة دون الرجوع الى نظام البحث بالبرنامج و تعمل قيم مربع التحرير و السرد المنتقاة كاشارات مرجعية محفوظة لجلسة العمل الواحدة . المثال يتكون من جدول اسمه tbl1 و نموذج اسمه frmFavourites و هذا النموذج مصدره الجدول النموذج يحتوي على مربع تحرير و سرد اسمه ( comboSearch ) لإضافة و حذف الاشارات المرجعية من خلال زري امر احدهما يحمل علامة + اسمه cmdAdd للاضافة و الاخر يحمل علامة - و اسمه cmdDelete للحذف. اكود المثال : 1: كود يجعل قيمة مربع التحرير و السرد عند فتح النموذج تساوي فراغ (Null) اي عدم وجود قيمة ظاهره به .. و هذا الكود هو بحدث عند الفتح للنموذج: Me.comboSearch = Null 2: كود بحدث عند النقر لزر الحذف cmdDelete و هذا الكود خاص بحذف القيمة الظاهرة على مربع التحرير و السرد عند عدم الحاجة اليها .. و هذا الكود كالتالي : On Error Resume Next Me.comboSearch.RemoveItem (Me.comboSearch.Value) Me.comboSearch = Null السطر الاول : يقوم باستئناف السطر التالي للكود عند وجود خطأ . السطر الثاني : يقوم بحذف العنصر المختار من مربع التحرير و السرد السطر الثالث : يقوم بازالة هذه القيمة حتى لا تبدو ظاهرة 3: كود بحدث بعد التحديث لمربع التحرير و السرد و هذا الكود خاص بعملية البحث في سجلات النموذج بناءً على قيمة حقل الاسم بالنموذج و الكود كالتالي : Me.txtName.SetFocus DoCmd.FindRecord Me!comboSearch If Me.comboSearch <> Me.txtName Then Me.comboSearch.RemoveItem (Me.comboSearch.Value) Me.comboSearch = Null End If السطر الاول : ينقل التركيز على مربع النص الخاص بالاسم حتى يتم تنفيذ عملية البحث. السطر الثاني : يقوم بعملية البحث بناءً على قيمة مربع التحرير و السرد السطر الثالث : باستخدام الجملة الشرطية If يتم مقارنة قيمة مربع التحرير و السرد مع قيمة مربع النص الخاص بالاسم . و هنا المقارنة بعدم المساواة .. اي اذا كانت قيمة مربع التحرير و السرد لا تساوي قيمة مربع النص ... السطر الرابع : في حالة عدم المساواة فإن هذا يعني عدم تطابق عملية البحث اي لا يوجد سجل مطابق لقيمة مربع التحرير و السرد . السطر الخامس : بناءً على عدم وجود قيمة كما هو موضح بالسطر الرابع فسيتم حذف هذا العنصر من مربع التحرير و السرد. السطر السادس : و سيتم حذف القيمة الظاهرة على مربع التحرير و السرد الخاصة بالعنصر المحذوف. السطر السابع : انهاء الجملة الشرطية If . 4: و هذا الكود خاص بزر اضافة الاشارات المرجعية للسجلات الى مربع التحرير و السرد ليتم استخدامها .. و هو كالتالي : Dim i As Integer If IsNull(Me.txtName) Then MsgBox "لا يوجد قيمة للإضافة", vbMsgBoxRight, "تنبيه" Exit Sub End If For i = 0 To Me.comboSearch.ListCount If Me.comboSearch.ItemData(i) = Me.txtName Then Exit For i = i + 1 Else Me.comboSearch.AddItem (Me.txtName) MsgBox "تمت اضافة اشارة مرجعية", vbOKOnly + vbMsgBoxRight, "اشارة مرجعية" Exit Sub End If Next السطر الاول : تعريف متغير من نوع عدد صحيح السطر الثاني : استخدام الجملة الشرطية If لاختبار قيمة مربع النص الخاص بالاسم ان كانت خالية . السطر الثالث : سيتم اظهار رسالة للمستخدم تخبره بعدم وجود قيمة للاضافة . السطر الرابع : الخروج من الاجراء السطر الخامس : انهاء الجملة الشرطية If . السطر السادس : استخدام الحلقة التكرارية For ... Next للمرور على جميع عناصر مربع التحرير و السرد ، و تم استخدام هذه الحلقة التكرارية ليتم مقارنة قيمة مربع النص الخاص بالاسم مع كل عنصر من عناصر مربع التحرير و السرد حتى يتم تفادي اضافة قيمة موجودة مسبقاً من ضمن عناصر مربع التحرير و السرد. السطر السابع : باستخدام الجملة الشرطية If يتم اختبار قيمة عنصر مربع التحرير و السرد للفهرس المساوي للمتغير I علماً بأن القيمة ستبدأ بالصفر لاول عنصر من عناصر مربع التحرير و السرد و تزداد هذه القيمة بمقدار واحد ( كما هو موضح بالسياق ) فإذا كانت مساوية لقيمة مربع النص فإن هذا يعني ان العنصر هذا موجود مسبقاً من ضمن عناصر مربع التحرير و السرد. السطر الثامن : يتم الخروج من الحلقة التكرارية. السطر التاسع : اضافة واحد الى قيمة المتغير I ليتم المرور على العنصر التالي من عناصر مربع التحرير و السرد. السطر العاشر : تعني و الا .. اي اذا كانت قيمة عنصر مربع التحرير و السرد لا تساوي قيمة مربع النص . اي ان قيمة مربع النص الخاصة بالاسم غير موجودة ضمن عناصر مربع التحرير و السرد. السطر الحادي عشر : يتم اضافة القيمة الى مربع التحرير و السرد. السطر الثاني عشر : يتم اخبار المستخدم برسالة بأن العنصر تمت اضافته. السطر الثالث عشر : يتم الخروج من الاجراء . السطر الرابع عشر : انهاء الجملة الشرطية If . السطر الخامس عشر : العودة للحلقة التكرارية الى ان يتم المرور على جميع عناصر مربع التحرير و السرد. اعتذر على الاطالة و ارجو ان اكون وفقت في شرح الفكرة و خصوصاً لاخواني المبتدئين حتى يسهل عليهم تطبيقها ان ارادوا الاستفادة منها . اليكم المثال بالتوفيق للجميع مفضلة البحث لجلسة العمل الواحدة.rar
    1 point
  4. اخى الكريم كنت بصدد السؤال عن مشروع قمت بتنفيذه برنامج كاشير كنت اظن ان الموضوع سهل ولكن فى نهاية المطاف تشعب منى كثيرا الى ان بفضل الله اتممته ولكن اظن ان الاخوة هنا سيفيدونا بخبراتهم لجعل الموضوع اسهل واستفيد منهم ولى سؤال خارج السياق اخواتى بعد ان صممت هذا البرنامج واردت بيعه ما هو ثمن هذه البرامج فى مصر بصفتى محاسب حرصت ان يكون البرنامج بديلا لمحاسب برنامج الكاشير + محاسب داخلى متابعة حسابات العملاء متابعة حسابات الموردين متابعةارباح وخسائر متابعة ارصدة المخازن + اشعارات بنفاذ الكميات لا يتم توريد فواتير مشتريات فى النظام فى حالة عدم وجود رصيد كافى فى الصندوق الا اذا اخبرت البرنامج بانها فاتورة اجلة باركود لكل سلعة اشعارت لكل المستخدمين بالسلعة التى اوشكت على الانتهاء والسلع المنتهية فعليا ترقب ارباح وخسائر كل سلعة على حدا ايصالات استلام وصرف ومراقبة حركة الصندوق يوميا جرد المحل فى اى وقت مستخدمين جدد + صلاحيات لكل مستخدم رسائل داخلية بين المستخدمين اسعى جاهدا لتطويره اكثر بمساعدتكم احدهم طلبه منى ولم احدد معه سعر حتى الان كم يبلغ ثمنه من وجهة نظركم
    1 point
  5. الیک ھذا استعلام SELECT Alsnaf.Rajmsanf, Alsnaf.Alwsf, Alsnaf.Arsid FROM Alsnaf WHERE ((Not (Alsnaf.Arsid) Is Null)); UNION SELECT Alsnaf.Rajmsanf, Alsnaf.Alwsf, Sum(IIf([Nwaha]="مشتريات",[Alkmiah],0))-Sum(IIf([Nwaha]="مردود مشتريات",[Alkmiah],0))-Sum(IIf([Nwaha]="مبيعات",[Alkmiah],0))-Sum(IIf([Nwaha]="مردود مبيعات",[Alkmiah],0)) AS الرصيد FROM Alsnaf INNER JOIN Hrakatsanf ON Alsnaf.Rajmsanf = Hrakatsanf.Rajmsanf GROUP BY Alsnaf.Rajmsanf, Alsnaf.Alwsf; UNION SELECT Alsnaf.Rajmsanf, Alsnaf.Alwsf, Alsnaf.Arsid FROM Alsnaf LEFT JOIN Hrakatsanf ON Alsnaf.[Rajmsanf] = Hrakatsanf.[Rajmsanf] WHERE (((Hrakatsanf.Rajmsanf) Is Null) AND ((Alsnaf.Arsid) Is Null)); 123.rar
    1 point
  6. ھذا الكود لفتح النموذج من اليسارك الاعلى الى يمينك للاسفل هذا عند فتح Private Sub Form_Open(Cancel As Integer) Me.InsideHeight = 0 Me.InsideWidth = 0 Me.TimerInterval = 100 End Sub وهذا في تايمر Private Sub Form_Timer() Me.InsideHeight = Me.InsideHeight + 200 Me.InsideWidth = Me.InsideWidth + 200 If Me.InsideHeight >= 3000 Then Me.InsideHeight = 4000 Me.InsideWidth = 4165 Me.TimerInterval = 0 End If End Sub وهذا الكود لفتح النموذج من يسارك الى يمينك عند الفتح Private Sub Form_Open(Cancel As Integer) Me.InsideWidth = 0 Me.TimerInterval = 100 End Sub عند تايمر Private Sub Form_Timer() Me.InsideWidth = Me.InsideWidth + 200 If Me.InsideWidth >= 4000 Then Me.TimerInterval = 0 Me.InsideWidth = 4165 End If End Sub وهذا من الاعلى الى الاسفل Private Sub Form_Open(Cancel As Integer) Me.InsideHeight = 0 Me.TimerInterval = 100 End Sub Private Sub Form_Timer() Me.InsideHeight = Me.InsideHeight + 200 If Me.InsideHeight >= 4000 Then Me.TimerInterval = 0 Me.InsideHeight = 4165 End If End Sub واليك 3 نماذج بثلاث طرائق ثلاث طرائق جميلة لفتح نماذج.rar
    1 point
  7. وترید ان یژھر سجل الرقم ٤ کما مبینە انھا خالیە من البیانات
    1 point
  8. السلام عليكم ورحمة الله تعالى وبركاته اولا جزاكم الله جمياع اساتذتى الكرام كل الخير والفضل اعتذر لتأخرى وعدم المتابعة فلقد رزقنى الله تعالى بابنى احمد اطلب منكم على استحياء التماس عذرى فى تأخرى بالرد عليكم وان شاء الله تعالى ان كان فى العمر بقية اوافيكم بالرد بعد التجربة يوم الاحد ان شاء الله جزاكم الله خيرا
    1 point
  9. اعمل شرط فى استعلام الحقل <>"" لا يساوى فراغ أو اكبر من صفر <0
    1 point
  10. شرف لي مرورك استاذنا الغالي شيفان و شكرا لك على اهتمامك و متابعتك
    1 point
  11. تمام الان انا فهمت من قصدك شكرا لك تعبت معاي
    1 point
  12. بارك الله فيك استاذنا العزيز شيفان نعم المقصود البحث و لكن ليس لكل السجلات بل للسجلات التي تضاف الى مربع التحرير و السرد و لهذا سميتها مفضلة لان المستخدم احياناً يريد ان يتنقل بين سجلات محددة هو يريدها و لا يريد البحث في كل السجلات و عندها يستخدم هذه الطريقة ... عملية الاضافة تكون للسجل الحالي و الحلقة التكراراية لتفادي اضافة قيمة موجودة للسجل الحالي من ضمن عناصر مربع التحرير و السرد .. اشكرك مرة اخرى على اهتمامك و مرورك العطر
    1 point
  13. سلمت يداك اخي يوسف وسلمت يداك اخي شفان ربنا ما يحرمنا منكم
    1 point
  14. اضافتا على ما قال استاذنا الحبيب يوسف احمد يجب ان يكون خاصية key preview للنموذج يساوي yes او عند فتح النمو«ج ان تستخدم ھذا الكود Me.KeyPreview = True ولانك تريد عند الضغط على F12 ان یفتح سجل جدید و یرکز الى حقل باركود اتفضل اليك هذا للنموذج الفرعي Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF12 Then Forms!sh!SH_NO.SetFocus DoCmd.GoToRecord , , acNewRec Forms!sh!SH_A_F.SetFocus Me.BAR_COD.SetFocus End If End Sub لكن يجب ان تضغط على Shift او Ctrl مع F12
    1 point
  15. شكرا استاذي الحبيب ما هو مقصود من هذا العمل اليس للبحث ؟ اذن جرب عند الضغط على زر ادد راح يضيف فقط اسم اللي في سجل الحالي ... حسب فهمي يجب ان يسجل كل الاسماء لكي بعدين يتم البحث عن واحد منهم ام اذا هناك قصد اخر لهذا العمل اعتذر انا على الخطأ تقبل تحياتي
    1 point
  16. بارك الله فيك اخي العزيز حلبي و شكراً جزيلاً لك على مرورك الكريم الاستاذ و الاخ العزيز شيفان : الكود يمر على جميع عناصر مربع التحرير و السرد ليتأكد ان كان هناك تكرار او لا حتى تتم الاضافة لكل عنصر على حدة و في نفس الوقت تجنب اضافة عنصر موجود سابقاً و هنا تبدأ الحلقة من صفر حيث ان اول عنصر في مربع التحرير و السرد يساوي صفر ثم نختبر قيمة مربع النص مع العنصر الذي فهرسة يساوي المتغير I فاذا تساوت القيم فيخرج من الحلقة و لا يضيف عنصر جديد لمربع التحرير و السرد .. و يتم اضافة واحد الى قيمة المتغير ليتم استكمال الحلقة .. اما اذا كانت قيمة مربع النص لا تساوي قيمة مربع التحرير و السرد فهنا تضاف القيمة الى عناصر مربع التحرير و السرد ... اشكرك جزيل الشكر على مرورك العطر و اتمنى ان تكون الفكرة وصلت بشكل اوضح
    1 point
  17. السلام عليكم ورحمة الله وبركاته شكرا لك استاذي الحبيب على هذه الفكرة حسب نظري اشوف ان هناك خطأ في هذا الجملة لان القيمة Me.comboSearch.ListCount هو اصلا صفر يجب ان نكتب عدد سجلات بدل منه لكي يظيف كل الاسماء و نبحث عنه
    1 point
  18. الله الله عليك الاخ الفاضل / يوسف احمد نحن المبتدئين شرح جميل ووافي من خبير وهذا المثال سوف يوفر علي الكثير من اكواد البحث جعله الله في ميزان حسناتك
    1 point
  19. حبيبنا الخبير شفان الف مليون شكر الله يعطيك الف عافيه
    1 point
  20. 1 point
  21. و فيك بارك اخي العزيز kanory نعم تم الحل بنفس الطريقة التي ذكرتها اعلاه اضافة الى وجود اجراء تم تغيير جملة تعريفه بنفس الطريقة . اشكر لك اهتمامك
    1 point
  22. أخي الحبيب ياسر العربي بارك الله فيك وجزاك الله خيراً على الموضوع الرائع نسيت تذكر أن يقوم المستخدم بنسخ الملف dll إلى مسار الويندوز مجلد System32 طيب خد أبسط حاجة :: افتح برنامج الإكسيل Ctrl + O اختصار أمر Open لفتح الملفات حدد الملف الخاص بك والمسمى DiskSerial.xlsm ومن لوحة المفاتيح اضغط Shift مع الاستمرار بس خلاص الملف تم فتحه بدون اللجوء إلى معرفة سيريال الهارد ديسك
    1 point
  23. كدا اتأكدت إن المشاركة مش في محلها في الموضوع التاني !!!! تقبل تحياتي أخي ناصر سعيد الأخ السائل موضوع الكسر مفيش أسهل منه افتح برنامج الإكسيل ثم من الأمر Open اللي في قايمة الإكسيل حدد مكان المصنف المراد كسره واضغط Shift قبل ما تفتحه ..بس خلاااااااااص مش حكاية هيا الإكسيل ض ج في موضوع لحماية ضعيف جدا جدا .. هذا للعلم وعدم ااتخاذ اللازم
    1 point
×
×
  • اضف...

Important Information