اذهب الي المحتوي
أوفيسنا

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

  1. أبوأحـمـد

    أبوأحـمـد

    03 عضو مميز


    • نقاط

      5

    • Posts

      347


  2. أبو إبراهيم الغامدي
  3. شايب

    شايب

    03 عضو مميز


    • نقاط

      3

    • Posts

      312


  4. ابو البشر

    ابو البشر

    الخبراء


    • نقاط

      3

    • Posts

      654


Popular Content

Showing content with the highest reputation on 03 يول, 2023 in all areas

  1. تم عمل البرنامج بمعادلات الأكسل والتنسيق الشرطي وقواعد التحقق من الصحة ‏‏الجدول المدرسي.xlsx تعليمات الجدول المدرسي.zip
    4 points
  2. وهذا اختصار لمعادلة أخي الفاضل @أبوأحـمـد =INDEX($H$19:$J$19,MATCH(1,--(H20:J20<>0),0)) بالتوفيق
    2 points
  3. استخدم الكود التالي Dim strSql As String Dim qdf As QueryDef strSql = "SELECT id, idara, lagnano, lagna, " & Combo0 & " FROM stu WHERE idara ='" & Combo2 & "'" On Error Resume Next DoCmd.DeleteObject acQuery, "stu Query" Set qdf = CurrentDb.CreateQueryDef("stu Query", strSql) DoCmd.OpenQuery qdf.Name qdf.Close Set qdf = Nothing مرفق المثال بعد التعديل stu.accdb
    1 point
  4. لا لا اخي شامل يمكن تصميم استعلام يتم فيه جلب بيانات المادة وفقا لمعياري النموذج الفكرة عمل دالة تقوم بالمرور على حقول الجدول ثم يتم جلب البيانات اذا تطابق معيار النموذج مع اسم الحقل وننتظر ابداعات الشباب الشايب 🌹
    1 point
  5. لذلك ممكن تستخدم الورقة والقلم لتسجيل المسميات ..... افكر في عمل لوب لاختصار الكود .. الله ييسر الامور
    1 point
  6. ان شاءالله سأحاول وربي يجازيك وربي يفرحك اخي رزقك الله ما تتمنى ان شاءالله
    1 point
  7. ادخل التقرير وانظر في الاكواد وكرر الاكواد مثل الموجود مع تغيير المسميات فقط الاستعلامات واكواد النموذج لا تتدخل فيها فقط اكواد التقرير هي التي تحتاج تكرار فقط ... حاول ... وحاول .... وحاول
    1 point
  8. هذا الموضوع علمت بطريقتين الاولى مباشرة على النموذج بدون الحاجة لاستعلام باستخدام خاصية tag حددت الحقول العشرة بعلامة * ثم عملت حلقة تمر على الحقول المحددة اذا كان فارغ نعود بفارغ وننهي الاجراء وان كانت الحقول غير فارعة نعوض بـ 1 لكل حقل اكبر او يساوي الحد الادنى للنجاح او نعوض بصفر ثم اذا كان العدد =10 ناجح اقل راسب الطريقة باستعلام برقم المعرف والحقول العشرة التي استخدمتها اخي جعفر في طريقتك وهنا لاداعي لكتابة اسماء الحقول وايضا بنفس طريقة العد على كل حال لعل لنا لقاء في موضوع اخر اخيرا ايضاح من اخونا شايب مشاركاته لا تقدم حلول بديلة وانما مجرد افكار تحتمل الصواب احيانا و الخطأ في اغلب الاحيان
    1 point
  9. تم تعديل الكود وانت قمت بتعديل بعص خصائص التقرير .... تفضل <><><><><><> ____________BASEN_5.accdb
    1 point
  10. أشكر لك هذا الإطراء وأتمنى أن تحوز مشاركاتي على رضاكم..
    1 point
  11. استاذي الغالي اسال الله ان يرفع قدرك المثال الاخير مرضي لي غصبا عني ههههه لانه ما شاء الله جميل جدا فاسال الله أن ينور دربك ويزيدك علما وينفع بك الاسلام والمسلمين كان لى هذا الطلب كابوس لي منذو فتره طويله لانه الاكسس تعرف اذا في تلوين السجلات يكون في اهتزاز أما بالويب شي لايوصف فكيف نجزيك إلا أن تدعي لك دعوه في ظهر الغيب فانت فخرا لنا وتاج رووسنا دوما وانت تبذل جاهدا ترضي تلاميذك وتحقق لهم ما يتمنون فهذا من طيب اصلك ا فألف تحيه اليك يالغالي مشكورررررررر
    1 point
  12. كان في موضوع الحقول الفارغة لكن للاسف اغلقت الملف بشكل اجباري هنق الجهاز بدون حفظ التعديل
    1 point
  13. أهلا بكم.. أحب أن أوجه اعتذاري للأستاذ @Moosak لأني في الحقيقة لم أطلع على مشاركته المدرجة ضمن إجابته إلّا الآن.. وحسبي من مشاركتي أني كشفت عن المكان الذي يخزن فيه أكسس المصادر المضمنة..
    1 point
  14. وعليكم السلام اكتب اول حرف +Ctrlمع الضغط علي زرالمسافه
    1 point
  15. اختصار جميل من الشخص الأجمل تبيه للإصدارات التي لاتدعم المصفوفة (INDEX) يجب الضغط على كنترول + شفت + انتر . Shift+Ctrl+Enter لتعمل هذه المعادلة
    1 point
  16. مثا ما اشرت به في مشاركتي : 1. الاستعلام مصدر بيانات النموذج . ثم في النموذج . 1572.solaf.accdb.zip
    1 point
  17. وعليكم السلام ورحمة اله وبركاته.. أهلا بك.. لدي حيلة يمكن أن تستخدمها لهذا الغرض من خطوتين.. تصمم برواز منحني الزوايا ذو خلفية شفافة، عن طريق برنامج (بوربوينت) أو أي برنامج رسم أخر.. كما في الصورة يجب أن تحدد الألوان المطلوبة عند التصميم لأنه لا يمكن تغيرها في أكسس بعد ذلك تذهب إلى أكسس وتعمل الخطوات التالية.. أرجو أن تكون هذه المشاركة مفيدة لك..
    1 point
  18. تم إضافة أزرار خصائص الخط وخلفية صندوق مفتاح البحث. RichTextHighlight_02.accdb
    1 point
  19. جزاك الله خيرا وشكرا جزيلا لحضرتك واسف لتعبك
    1 point
  20. تفضل جرب لاكن لازم الاخد بالاعتبار عند تشغيله على ملف اخر يجب عليك تعديل مكان تموضع الشيتات مثلا هنا حددنا من الشيت الاول الى الشيت الثالث في ترتيب اوراق العمل For i = 1 To Sheets.Count - 3 وهنا حددنا من الشيت الرابع الى اخر شيت على الملف المرفق For i = 4 To Sheets.Count يتبقى لك تعديلهم بما يناسيك Sub SAVE_PDF1() 'Save an array of sheets '1/2/3 Dim Path As String Path = ThisWorkbook.Path & "\" Application.ScreenUpdating = False For i = 1 To Sheets.Count - 3 Sheets(i).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path & ActiveSheet.Name & ".pdf", _ Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False Next MsgBox "تم حفظ الملفات بنجاح" End Sub الكود الثاني Sub SAVE_PDF2() 'Save an array of sheets '4/5/6 Dim Chemin As String Application.ScreenUpdating = False With Application.FileDialog(msoFileDialogFolderPicker) .AllowMultiSelect = False .Title = "اختيار مسار حفظ الملفات" If .Show = -1 Then Chemin = .SelectedItems(1) & "\" Else Exit Sub End If For i = 4 To Sheets.Count Sheets(i).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & ActiveSheet.Name & ".pdf", _ Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False Next End With MsgBox "تم حفظ الملفات بنجاح" End Sub احصاء V3.xlsb
    1 point
  21. نعم اخي يمكننا فعل دالك تفضل Sub All_School() Dim Réf, A(), i&, F&, Y&, K&, last&, Sh As Variant Dim Dest As Worksheet: Set Dest = Sheets("All_School") last = Dest.Cells(Rows.Count, "a").End(xlUp).Row + 1 Application.ScreenUpdating = False ' يمكنك اظافة اسماء اوراق العمل المرغوب جلب البيانات منها بالطريقة التالية ' For Each Sh In Sheets(Array("class1", "class2", "class3", "class4", "class5", "class6")) 'هنا تمت اظافة 3 اوراق فقط للتجربة For Each Sh In Sheets(Array("class1", "class2", "class4")) K = Sh.Range("B" & Rows.Count).End(xlUp).Row Réf = Sh.Range("B5:E" & K) For i = 1 To UBound(Réf, 1) Dest.Range("A5:E" & last).ClearContents Y = Y + 1: ReDim Preserve A(1 To UBound(Réf, 2), 1 To Y) For F = 1 To UBound(Réf, 2) A(F, Y) = Réf(i, F) Next Next With Dest Dest.Range("B5").Resize(Y, UBound(A, 1)) = Application.Transpose(A) End With Next Sh For F = 5 To Dest.Cells(Rows.Count, "B").End(xlUp).Row If Dest.Cells(F, "B").Value <> "" Then Dest.Cells(F, "a").Value = F - 4 End If Next F End Sub تجميع التلاميذ 4.xlsm
    1 point
  22. شكرا لك اخى-- كريم نظيم جزاك الله كل خير ولكن ما اريده هو لدى فورم --وعندما اريد اغلاقه اضغط على علامة X --واريد كود يقوم باغلاق الفورم عند الضغط على مفتاح كونترول اوشيفت وليس علامة X
    1 point
  23. وعليكم السلام-تفضل https://ar.imyfone.com/windows-solutions/how-to-recover-deleted-excel-files/
    1 point
  24. هذه الخصيصة ضرورية لمن يهمه التقيد بالإعلان عن المتغيرات والتصريح عن نوعها.. وقد تسأل.. هل لتحديد نوع البيانات أهمية في معالجة البيانات؟ فالجواب: نعم، هناك فرق في زمن المعالج، بين المتغير العام والمتغير النصي عند معالجة النصوص.. عند عدم تنشيط الخصيصة، لا يزال بالإمكان التصريح عن نوع البيانات دون الحاجة إلى الإعلان عنها كما في المثال التالي Sub TestStringVariable '-- $للتصريح عن متغير نصي استخدم A$="One,Two,Three" Debug.Print A End Sub أما بخصوص الخطأ.. لقد قمتُ بنسخ الشفرة ولصقها، ولم أنتبه أني لم أعلن عن المتغيرات التي فيها..
    1 point
  25. السلام عليكم : اعضاء المنتدي من خبايا الرقم القومي . صممت هذ البرنامج وبدون اكواد لان في اعضاء كتير يحتاجون هذه المعلومات . الصورة توضح اكثر ... my_data.xlsx
    1 point
  26. وعليكم السلام ورحمة الله تعالى وبركاته. تفضل اخي سعد يكفي وضع الملف في نفس مسار الملفات المطلوب دمجها وتحديد اسم الملف الهدف داخل الكود Sub Importer_Sheets() Dim chemin$, dossier, fichier, MH As Worksheet, lig&, i%, h& chemin = ThisWorkbook.Path & "\" dossier = Array("test-01", "test-02", "test-03", "test-04", "test-05", "test-06", "test-07") 'تحديد اسماء الفولدرات fichier = "Test.xls" 'اسم الملف الهدف Set MH = ActiveSheet lig = 4 ' تحديد اول صف يتم وضع عليه البيانات Application.ScreenUpdating = False MH.Rows(lig & ":" & MH.Rows.Count).Delete For i = 0 To UBound(dossier) With Workbooks.Open(chemin & dossier(i) & "\" & fichier).Sheets(1) 'فتح الملف If .FilterMode Then .ShowAllData 'إذا تم تصفية الورقة h = .Range("B" & .Rows.Count).End(xlUp).Row ' الى غاية الصف الأخير في العمود B .Rows("1:" & h).Copy MH.Cells(lig, 1) 'نسخ ولصق lig = lig + h + 3 '3 عدد الصفوف بين كل ورقة عمل .Parent.Close False 'اغلاق الملف End With Next End Sub بالتوفيق Test_دمج.zip
    1 point
  27. السلام عليكم ورحمة الله وبركاته كود البحث المتقدم باستخدام المصفوفات VBA Arrays قدم لنا الأخ الغالي ياسر العربي صاحب الجولات والصولات كود رائع ، ويستخدم الكود في البحث المتقدم ، وقد استخدم المصفوفات والتي هي عشقي في التعامل مع الأكواد ، حيث يتم تنفيذ جميع أسطر الكود بالذاكرة بعيداً عن التعامل بشكل مباشر مع ورقة العمل ، مما يجعل الكود أسرع مئات المرات من استخدام الحلقات التكرارية العادية. وقد ارتأيت أن أقوم بشرح لأسطر الكود ليكون مرجع لكل طالب علم ولكل باحث في هذا الخصوص ، ولنبدأ مرحلة جديدة من عالم الأكواد باستخدام المصفوفات VBA Arrays ، لما لها من مرونة عالية وسرعة فائقة في تنفيذ الأكواد. يوجد بالمرفق ورقتي عمل أحدهما باسم Data وفيها البيانات الخام من 14 عمود ، والورقة الأخرى باسم Result للنتائج وبها الخلية G2 والتي توضع بها نص الكلمة المراد البحث عنها. وإليكم الكود مع الشرح بالتفصيل (وضعت مثال بسيط ليستطيع المتتبع للشرح فهم الكود بسهولة) Sub Araby_Search() 'تعريف المتغير لورقة العمل التي تحتوي على البيانات الخام Dim wsData As Worksheet 'تعريف المتغير لورقة العمـل المطلـوب إظهـار النتائـج بها Dim wsResult As Worksheet 'تعريف المتغير ليحمل قيم المصفـوفة للبيانات الخـام Dim Arr As Variant 'تعريف المتغير ليحمل قيم المصفوفة للنتائج المطلوبة Dim Temp As Variant 'تعريـف المتغير من النـوع النصي ليحمـل قيمة أو نص البحث 'أي الكلمة المطلوب البحث عنها يتم تخزينها في هذا المتغير Dim strSearch As String 'تعريف المتغير وسيستخدم في الحلقة التكرارية لصفوف المصفوفة Dim I As Long 'تعريف المتغير وسيستخدم في الحلقة التكرارية لأعمدة المصفوفة Dim J As Long 'تعريف المتغير وسيستخدم في مصفوفة النتائج لزيادة مقدار الصفوف بمقدار واحد Dim P As Long 'تعيين قيمة للمتغير ليساوي ورقة العمل التي تحتوي '[Data] على البيانات الخام المطلوب معالجتها والمسماة Set wsData = Worksheets("Data") 'تعيين قيمة للمتغير ليساوي ورقة العمل التي تريد إظهار '[G2] النتائج بها بمجرد إدخال قيمة أو نص محدد في الخلية Set wsResult = Worksheets("Result") 'مسح النطاق الذي توضع فيه النتائج استعداداً لوضع النتائج الجديدة wsResult.Range("A8:N10000").ClearContents '[G2] تعيين قيمة للمتغير ليساوي قيمة الخلية 'وهي الخلية التي ستوضع فيها نص الكلمة المطلوب البحث عنها strSearch = wsResult.Range("G2").Value 'تعيين قيمـة للمتغير ليحمل قيم النطاق بالكامل للبيانات الخام ' وذلك [Data] حيث أن مصـدر البيانات الخام ورقة العمل المسماة 'عند [N] وينتهي في العمود [A5] في النطاق الذي يبدأ من الخلية '[&] آخـر صف به بيانات ، ويتم تحديده عن طريـق الجزء بعد علامـة Arr = wsData.Range("A5:N" & wsData.Cells(Rows.Count, 1).End(xlUp).Row).Value 'والتي ستحمل قيم النتائج [Temp] إعادة تعيين أبعاد المصفوفة المسماة '[Arr] وتكون بنفس أبعاد المصفوفة التي تحمل البيانات الخام والمسماة 'سنعتبر المصفوفة أشبـه بالصفـوف والأعمدة حيث الرقـم 1 يمثـل الصفـوف 'بإرجاع أكبر قيمة [UBound]بينما الرقم 2 يمثل الأعمدة ، وتقوم الكلمة 'أبعاد المصفوفة في هذه الحالة >> '------------------------------- 'البعد الأول سيكون من 1 إلى أكبر قيمة للصفوف 'البعد الثاني سيكون من 1 إلى أكبر قيمة للأعمدة ReDim Temp(1 To UBound(Arr, 1), 1 To UBound(Arr, 2)) 'حلقة تكرارية من الصف الأول للمصفوفة إلى آخر صف بها For I = 1 To UBound(Arr, 1) 'إذا كان النص المطلوب البحث عنه فارغ يتم الخروج من تنفيذ الكود If strSearch = "" Then Exit Sub 'هذا السطر هو أهم سطر بالكود حيث هو الشرط الذي من خلاله 'والشرط [Temp] ستوضع النتائج في مصفوفة النتائج المسماة 'هـو تطابق قيمة المصفوفة في صف الحلقة في العمود رقم 14 'حيث يمثـل الرقم 14 العمود داخـل مصفوفة البيانات الخام '[strSearch] يتـم اختبـار التطابـق مع نـص البحث المسمى If Arr(I, 14) Like "*" & strSearch & "*" Then 'زيادة مقدار المتغير بمقدار 1 'فائدة المتغير هنا هو أنه مع كل حلقة تكرارية 'إذا تحقق الشرط فقط يزيد المتغير بمقدار واحد 'ليمثل هذا المتغير صفوف مصفوفة النتائج الجديدة P = P + 1 'حلقة تكرارية داخلية من العمود الأول للمصفوفة إلى آخر عمود بها For J = 1 To UBound(Arr, 2) 'تعبئـة مصفـوفة النتائـج بالبيانات مـن مصفوفة البيانات الخام '[Temp]مثـال لتتضح صورة كيفية تعبئة المصفوفة الجديدة المسماة 'في أول حلقـة سيكون مقداره 1 ويمثل أول صف [P] المتغيـر المسمى 'أول صف هنا لمصفوفة النتائج 'في أول حلقة سيكون مقداره 1 ويمثل أول عمود [J] المتغير المسمى 'في أول حلقة سيكون مقداره 1 ويمثل أول صف [I] المتغير المسمى 'أول صف هنا لمصفوفة البيانات الخام Temp(P, J) = Arr(I, J) 'الانتقال للحلقة التالية للأعمدة Next J 'نهاية جملة الشرط وهو تطابق نص البحث مع العمود رقم 14 في المصفوفة End If 'الانتقال للحلقة التالية في صفوف مصفوفة البيانات الخام Next I 'إذا كانت قيمة المتغير أكبر من صفر فهذا يعني أنه تم إيجاد نتائج للبحث 'حيث أن زيادة المتغير كما أوضحنا مقرونة بتحقق الشرط وطالما تحقق الشرط 'فهذا يعني أن مصفوفة النتائج سيكون بها بيانات ومن ثم يتحقق الجزء الثاني '[A8] وضع نتائج مصفوفة النتائج في أول خلية في ورقة النتائج في الخلية '[P] ويتم تمديد النطاق بمقدار عدد الصفوف طبقاً لقيمة المتغير المسمى '[Temp] وبمقدار عدد الأعمدة طبقاً لأكبر عدد لأعمدة المصفوفة المسماة If P > 0 Then wsResult.Range("A8").Resize(P, UBound(Temp, 2)).Value = Temp End Sub لتحميل الملف المرفق وللإطلاع على الموضوع الأصلي قم بزيارة الرابط التالي رابط الموضوع من هنا
    1 point
  28. مناقشات ونصائح مشرفى و اعضاء المنتدى على البرنامج هذه النصائح و الارشادات وضعتها ليستفيد منها الجميع ليستفيد الاعضاء والرد على استفساراتهم حول البرنامج ولكى يستفيد المبرمجين من نصائح غالية عند تجربة برامجهم للاستاذ الفاضل الخلوق عبد الله باقشير واليكم المناقشات و النصائح التى كانت حول البرنامج عبد الله باقشير السلام عليكم يجب ان انبهك الى شي مهم لتجربة البرنامج ضع قاعدة بيانات كبيرة تتجاوز 10000 صف وقيس حينها سرعة البرنامج تحياتي هانى بدر استاذنا ومعملنا استاذ عبدالله باقشير إستكمالاً لما تفضلتم به من تعقيب بحسبة بسيطة لو افترضنا متوسط فواتير البيع اليومي فقط 10 فواتير في اليوم في متوسط عدد سطور 20 سطر فيكون لدينا في نهاية العام المالي مايقرب من 72000 سطر داخل قاعدة بيانات البيع فقط دون باقي مستندات الدورة المستندية ونامل من الله عز وجل ان يكون لدى اخونا الكريم عمرو وفقه الله وجزاه خيرا مايبتعد به عن المعادلات داخل الخلايا ليتفادى بطء البرنامج تقبلوا تحياتي عمرو_ الاستاذ القدير عبد الله باقشير الاستاذ القدير هانى بدر شكرا لمشاركتكم ونصائحكم الغالية التى تعمل على اثراء الموضوع وتماما اتفق معكما فى اقتراحاتكم وهذا بالفعل ما اكنت اعمل عليه فى بدايه مشروعى هذا وبالتخصيص فى هذه النسخه لذلك قمت بعمل التالى خلال عملى فى هذا البرنامج 1- لن يتعامل المستخدم نهائيا ولن يشاهد خلايا الاكسيل فالبرنامج بوجهة تطبيقية كامله كل الشاشات معموله بنظام ال userform 2- البعد كل البعد عن المعادلات التى تبطئ من عمل البرنامج وتسطحه وخصوصا انه برنامج مخزون 3- قاعدة بيانات كبيره وبالفعل ما ذكره الاستاذ عبدالله و الاستاذ هانى كان موضوع بعين الاعتبار فى بداية مشروعى لذلك احب ان اطلعكم على طريقتى فى عمل قاعدة بيانات هذا البرنامج ** البرنامج يحتوى على 2 قاعدة بيانات القاعدة الاولى وهى خاصة بالفواتير ويتم حفظ الفواتير بكامل اصنافها بالاضافة الى الاشياء الاخرى من كميات و اسعار وخلافه وهى تسع ل 80000 (ثمانون الف) صف لذلك اذا قام المستخدم بادخال 200 صنف (سطر) يوميا ان شاء الله لن يتم تجاوز قاعدة البيانات وللعلم انه من الممكن فتح قاعدة البيانات الى اكثر من ذلك. ولكنى فى هذة النسخه فضلت ان يكون البرنامج يسع الى تسجيل 220 صنف يوميا حتى نستطيع التجربه بشكل فعال .. مع العلم ان الشهر توجد به بعض العطلات لذلك استطيع انا اقول ان البرنامج معد على تسجيل 220 صنف يوميا او 80000(ثمانون الف) سطرسنويا و اعتقد ان هذا ليس بقليل القاعدة الثانيه ويتم تسجيل فيها جميع الحركات المالية كالسندات و المصاريف و الخصومات ومبالغ الفواتير لكل عميل وهى تسع الى 30000(ثلاثون الف) حركه ماليه فمثلا لو انك تسجل فى اليوم 10 فواتير فيكون فى الشهر عندنا 300 فاتوره ونفرض ايضا ان هناك 300 سند فى الشهر و300 خصومات ومصاريف فى الشهر فيكون عدد السطور او الصفوف بالنسبه للحركات الماليه 900 صف شهريا وفى خلال سنه سوف تستخدم 11 الف تقريبا . فقاعدة البيانات تسع الى 19 الف اخرى وبهذا التقسيم تكون سرعة البرنامج واستجابته ممتازة جدا.. فتقارير الاصناف و الكميات تكون من القاعدة الاولى اما تقارير حسابات العملاء و التقارير المالية تكون من القاعدة الثانيه 4-عمل اختصارات كثيره للمستخدم داخل الشاشه الواحده تمكنه من الوصول الى الهدف المطلوب بضغطة زر واحده وهذا يزيد من سرعة الاستخدام فمثلا فى شاشة الفواتير عندما يقوم المستخدم باختيار ضنف ما او كتابة كوده لكى يدخله فى الفاتورة يمكن للمستخدم بضغطة زر واحده ان يستدعى تقرير حركة الصنف هذا ويوجد زر اخر من اختصارات الاصناف تمكنه من تعديل بيانات الصنف هذا الذى قام مسبقا بادخالها و ايضا قمت بعمل اختصارات لاسم العميل داخل شاشة الفاتورة فبمجرد اختيارك لاسم العميل من القائمه المخصصه لذلك لعمل فاتورة باسمه... يوجد زر يوصلك لكشف حساب العميل فورا ويوجد زر اخر يوصلك الى بيانات العميل التى قمت مسبقا بادخالها...كما يوجد زر لادخال سند مباشرة الى العميل و الذهاب الى شاشة الحركات المالية ليس ذلك فقط بل كل شاشه بها اختصارات سريعه توصلك الى اى شاشه اخرى .. وهذا و الحمد لله تم تجربتة ويعمل بشكل ممتاز ويوفر الوقت على المشتخدم من خلال انتقاله الى عدة شاشات للحصول على التقارير... لذلك كان من المهم جدا عمل شرح للبرنامج ليعرف المستخدم كيف يستطيع الانتقال بسهولة ويسر وذلك ما جعلنى اقوم بعمل شرح للبرنامج الذى اخذ منى وقت كثير جدا لاعداده ** ليس هذا هو كل الاختصارات بل يوجد الكثير و الكثير وقد ادركتها فى شرحى لكى يستفيد الجميع 5-مرحلة التجربه التى انا بصددها الان اقوم بالوصول الى 80000 صف فى قاعدة البيانات وهذا ما تسبب فى تاخير نزول البرنامج حتى الان الذى انتهيت من اعداده فى اول هذا العام 6- يتم تجربة البرنامج الان عند بعض المستخدمين بمحلات تجارية واقوم بمتابعة كافة التقارير و كشوفات الحسابات وسرعة البرنامج و بفضل الله تعالى النتائج كانت مرضية جدا وان شاء الله سوف ينزل البرنامج بصورتة النهائية فى نهاية الاسبوع القادم والصورة التالية توضح من خلال تجربتى التى اقوم بها الان لقد وصلت بقاعدة البيانات الى اكثر من 75000 صف و البرنامج لم تتائر كفاته والحكم ان شاء الله سوف يكون لكم بعد مشاهدة البرنامج عبدالله باقشير السلام عليكم استدراك ايضا يجب اختبار جميع الزرارات الموجوده في البرنامج لما تكون قواعد البيانات فارغة من البيانات يعني بداية استخدام البرنامج لتجنب ظهور رسائل خطا في امان الله عمرو_ الاستاذ الفاضل الخلوق عبدالله باقشير شكرا على نصائحك الغاليه وبالفعل بعد ان انتهيت من اعداد البرنامج منذ شهرين تقريبا اختبرت البرنامج على قواعد بيانات خاليه وعالجت و الحمد لله كافة الرسائل التى كانت تظهر نتيجة ارتباط الاكواد بوجود بيانات و الحمد لله كله على مايرام وهذا خطا كان موجود بالاصدار السابق ففى حالة عدم وجود بيانات كانت تظهر بعض رسائل الخطا هاني بدر قال فى 09 مارس 2013 - 17:48 : هاني بدر قال فى 09 مارس 2013 - 17:48 : عمرو_ نعم ما ذكرته صحيح ولكن هناك اصحاب منشات قد طلبوا بوضع بند للمصاريف يتم وضع فيها اى مبالغ تم فقدها من توالف او غيره دون تاثير على ارصدة الاصناف داخل المخزون وبهذه المناسبة موضوع فى خطة تحديث هذا البرنامج الى النسخه الرابعة و الذى ان شاء الله ساعمل عليه من منتصف هذا العام سوف يتم ادراج بعض من دليل الحسابات كالرواتب ومعدل الانفاق و الايجارات. ويقوم المستخدمين لهذا البرنامج بوضع كل المصروفات كرواتب الموظفين او الايجارات او غيرها كمصاريف.. لحين فصلها فى الاصدار القادم وكنت بالفعل قد بدات فيما يسمى بشجرة الحسابات ولكن عامل الوقت لم يكن فى صالحى للتفرغ لهذا الموضوع خصوصا اننى لست محاسب وكنت اتفقت مع بعض العاملين فى هذا المجال لمحاولة فهم و تفعيل وتقديم هذه الاحداث داخل البرنامج هانى بدر وايضا انت هنا اعتبرت ان لديك مخزن عام ومركز بيع في نفس الوقت اى لا توجد مخازن منفصلة (تعمل كوعاء لدخول وخروج البضائع ) عن مراكز البيع وما قصدته من كلامي هو ان تكون اهم مخرجات البرنامج الشكل المتعارف عليه لحساب المتاجرة وصولآ الى تكلفة المبيعات لمقابلتها بصافي المبيعات للخروج في النهاية برقم مجمل الدخل المرتبط بالنشاط. عمرو_ نعم هذا ما اعتبرته بالفعل انه مخزن واحد وهو فى نفس الوقت مركز البيع الذى يبيع منه المستخدم وتوجد تقارير فى الموازنه تتيح للمستخدم معرفة تكلفة المبيعات وما هو الربح المتوقع على اساس تكلفة المشتريات.. ومن الممكن عمل اكثر من مخزن بنفس الفكره ولكن ذلك يتطلب اضافة قاعدة بيانات اخرى لكل مخزن. او ادراجها داخل القاعدة الرئيسه.وان كنت افضل الطريقة الاولى لسرعة واداء الاكسيل اما عن حساب المتاجره وصولا الى تكلفة المبيعات فان اى مصاريف يصرفها العميل فى سبيل عملية البيع. كرواتب العاملين و المندوبين وايجار المنشاه. واخرى. كل ذلك يستطيع المستخدم ادراجها كمصاريف ويتم خصمها من هامش ربحه النهائى فى تقرير الميزانية هانى بدر وفيما يخص صفحة تسجيل الجرد الافتتاحي لم افهم ماقصدته من صفحة تسجيل الجرد والاكواد فانت تعلم ان صفحة الارصدة الافتتاحية هي صفحة يجب التعامل معها مرة واحدة طوال عمر المنشاة ارجو القاء مزيد من الضوء حول هذه النقطة. عمرو_ نعم اخى هانى صفحة الارصده الافتتاحية يتعامل معها المستخدم مرة واحده. ولكن ليس طوال عمر المنشاه وانما فى نهاية كل سنه يقوم بعمل جرد ويسجل اصناف الجرد كرصيد افتتاحى للسنة القادمه . هذا ما وضعته فى برنامجى ان يكون هناك جرد سنوى او اذا كان معدل الفواتير اليومى قليل فمن الممكن ان يستخدم هذا البرنامج لعدة اعوام دون جرد. فاقصى عدد حاليا عندى لتسجيل الاصناف هو 80000(ثمانون الف) سنويا فيوجد مستخدم يستهلكها فى سنتين واخر فى ثلاث سنوات وهكذا هانى بدر واما فيما يخص تعليق استاذنا الكبير عبدالله بتقشير فالبفعل هذا الخطا موجود في النسخة السابقة وهو امر بسيط يمكنك معالجته كما عالجت ماهو اصعب من ذلك بكثير عمرو_ نعم بالفعل هذا ما حدث وقد تم تجربة البرنامج بقواعد بيانات خالية وتجاوزت الخطا اذا اعتبرنه خطا ( لانه يتلاشى عند تسجيل بيان واحد فقط من كل فئة )الموجود فى النسخة السابقة هانى بدر ويبقى السؤال الاهم وهو كيف يقوم البرنامج باحتساب تكلفة الاصناف المباعة فكما تعلم اسعار الشراء متغيرة فما هي سياسة التسعير هل الوارد اولا ام متوسط السعر ام الوارد اخيرا يصرف اولا عمرو_ بالفعل هذا السؤال مهم جدا واليك طريقة الحساب اولا عند كتابة كود او اختيار اى صنف من القائمة المخصصه لذلك تظهر بياناته فى مستطيل اسفل الفاتورة وهى كالتالى فئة الصنف......الكمية الحالية......الرصيد الافتتاحى .......سعر البيع المسجل .............سعر الشراء وهنا يكون اخر سعر شراء ويمكنك وضع سعر بيع انت تحدده عند بداية تسجيلك للصنف داخل قاعدة البيانات ويظهر هذا السعر داخل مربع سعر الصنف ويمكنك تغييره اثناء ادراج فاتورة اذا اردت انت ذلك ثانيا عند حساب الموازنة وبالاخص عندك طلب تقرير حركة المخزون يتم حساب تكلفة كل صنف على حده بمتوسط السعر فمثلا الصنف 1 تم بيعه فى الفاتورة الاولى بمبلغ 10 وفى فاتورة اخرى تم بيعه بمبلغ 12 فيكون متوسط سعر البيع هو 11 لهذا الصنف وكذلك فى المشتريات فيوجد لكل صنف متوسط سعر بيع ومتوسط سعر شراء بعدها يمكنك حساب الربح و الخسارة لكل صنف للمرة الثالثه اشكرك على اثراك للموضوع بطرحك للاسئلة و الاستفسارات وسوف اشرح هذة الجزئيه وايضا ساشرح نقاط اخرى ربما تفيد اعضاء المنتىدى فيما بعد ومعلومة جديده سوف اقوم بتوضيحها هنا من خلال استفسارتكم الفعاله لافادة الجميع ماهي المعالجة في حالتي الزيادة او النقصان في رصيد المخزون كما تفضلت اخى هانى ووضعت هذا الحل ( الزيادة تعامل كفاتورة شراء ) والمورد فيها هو ايرادات اخرى (بند من بنود الايرادات ) (والنقصان تعامل كفاتورة بيع) والعميل فيها هو المتسبب في النقصان وبالفعل هذا ما كنت اوصى به للمستخدمين فى الاصدارت السابقه للبرنامج ولكن فى هذا الاصدار وجدت طريقه اخرى وذلك لفصل هذه الحاله ووضعها فى موضوع مستقل فى هذا الاصدار قمت باضافة نوعين من الفواتير لم تكن موجوده بالاصدارت السابقة وهى فاتورة مبيعات مجانية وفاتورة مشتريات مجانيه.... لاحظ الصورة التالية وهذا النوع من الفواتير يستخدم لغرضين !- الحالة الاولى اما ان تكون هناك بالفعل بعض السلع التى تقدم من المستخدم الى العميل كتعويض عن توالف او تقدم فى صورة عرض(Offer) فتسجل الفاتورة مبيعات مجانية .. وكذلك الحال فى المشتريات المجانيه عندما تاتى للعميل بعض السلع كعرض او تعويض !!- الحالة الثانية وهنا هو الرد على السوال المطروح فى اول المشاركة فيمكنك معالجة حركة مستودعك سواء زياده او نقصان عن طريق هذا النوع من الفواتير فمثلا فى حالة زيادة رصيد المخزون نقوم بتسجيل فاتورة مشتريات محانية وفى حالة نقص المخزون نقوم بتسجيل فاتورة مبيعات مجانيه وهذه الطريقة افضل من السابقة حيث انها لن توئر على الرصيد النهائى (اجمالى مديونية العملاء و الموردين) ولاحظ كيف يتعامل البرنامج مع هذا النوع من الفواتير 1-فاتورة المبيعات المجانية او المشتريات المجانية تسجل داخل المستودع بدون قيمه فقط يتم تسجيل الاصناف وكميتها ففى فاتورة المبيعات المجانية يتم خصم الكمية من رصيد المخزون وفى حالة المشتريات المجانية يتم زيادة الكمية الى رصيد المخزون 2- فواتير المبيعات المجانية او المشتريات المجانية لا تظهر فى كشف حساب العميل وهذا طبيعى لانها بدون قيمه 3- عند تسجيل هذا النوع من الفواتير ستجد ان البرنامج قام باضافة كلمة " ـــ عرض ـــ" الى اسم العميل او المورد 4- فى حالة انك اردت ان تعرف جميع الفواتير المجانية سواء مبيعات او مشتريات يتم ذلك من خلال التقارير الشامله و اختيار نوع الفاتورة المطلوبه 5- كما يمنكك البحث عن العملاء او الموردين الذين حصلوا على عروض او فواتير مجانية من خلال الذهاب شاشة بحث حركة المستودع و اختيار فواتير العروض لاحظ الصورة التالية 6- عند حساب الموازنه فواتير المبيعات المجانية هى خصم من رصيد كميات المخزون بدون قيمة ماديه فذلك يؤدى الى تقليل متوسط سعر البيع واليك مثال على ذلك الصنف 1 تم البيع منه 100 وحده فى فواتير متعدده بمبلغ 1000 (اجمالى فواتيره) فيكون متوسط سعر البيع هو 10 ونفس الصنف تم تسجيل مبيعات مجانية منه بحوالى 20 وحده و يكون المبلغ صفر لانها مجانيه فيكون اجمالى مبيعات هذا الصنف 120 وحده وقيمة الفواتير ستكون نفسها 1000 فيكون متوسط سعر البيع هو 1000/120 و الناتج سيكون 8.33 فى المثال السابق وجدنا انخفاض فى متوسط سعر البيع وبالتالى سوف يؤدى الى انخفاض الربح و العكس تماما فى حالة المشتريات المجانية التى تؤدى الى زيادة فى الربح ما سبق شرحه كان بالنسبة لمعالجة حركة الكميات داخل المخزون وهذا شرح اخر بسيط لمعالجة الرصيد المالى بالزيادة او النقصان ويتم ذلك عن طريق شاشة الحركات المالية 1- اختيار نوع الحركة مصاريف وكما شرحت من قبل هى عبارة عن اى مصاريف يصرفها العميل فى مقايل عملية البيع 2- اختيار نوع الحركة خدمات قادمه واعتقد كان الافضل تسميتها ايرادات قادمه ( وسوف اقوم بهذا التعديل) وهى خاصة بأى زياده فى الرصيد المالى ... شاهد الصورة التالية وعند حساب تقرير الموازنه العامه تدخل المصاريف فى بند دائن والخدمات او الايرادات القادمه فى بند مدين هانى بدر "مافهمته من معالجة البرنامج هو ان العجز والزيادة حدث مايعني البرنامج في شانه هو ظبط الكميات داخل المخزن لتتوافق مع الجرد الفعلي وهذا غرض سليم لكن دون ايصال المعلومة كاملة الى متخذي القرار" "مايقوم به البرنامج صحيح وسيصل الى رقم مجمل دخل صحيح" عمرو_ معالجتك الحسابيه رائعه وهذا شيئ اكيد فى مثال بقول " اعطى العيش لخبازه" والذى افترضته انت فى عمل البرنامج هو كذلك البرنامج هو برنامج مخزون يتابع حركة فواتيرك داخل المخزون سواء كانت مبيعات او مشتريات ويمكنك البرنامج من تعديل ارصدة مخزونك و ارصدتك المالية كما يعطيك البرنامج تقارير شاملة لكل الحركات داخل المخزون و كما ذكرت يعطى البرنامج تقرير موازنة رقم مجمل نهائى صحيح وان اختلفت المسميات الحسابيه التى اعرف انك تدركها جيدا فالبرنامج يعطيك كافة الخصومات ويطرحها من صافى المبيعات بغض النظر ان كان هناك خصم مسموح به او لا و البرنامج فى هذا الاصدار لم يتعامل مع العمليات الحسابيه بفهومها المحاسبى كخصم مسموح به او خصم مكتسب ولكن يمكنك من الحصول على كافة التقارير كتقرير العروض او الخصومات و ايضا تقرير للمستخدمين الذى قاموا بتسجيل هذه الحركات فتستطيع مراقبة المخزون ومن المتسبب فى النقصان كما نستطيع عمل تقرير لكل مستخدم على حده ثم بعد ذلك تستطيع عمل حساباتك الخاصه اما العمليات الحسابيه التى ذكرتها اخى الكريم هانى بدر.. فتحتاج الى تفريعات اخرى وخصوصا اننى لم ادرك شجرة حسابات ماليه داخل البرنامج انا اكتفيت فقط بكلمة مصاريف و ايرادات وارده دون النظر الى تفاصيلها ولكن توجد تقارير مالية رئيسية داخل البرنامج مثل - تقرير بجميع خصومات السندات -تقرير بجميع خصومات البيع او الشراء لكل مستخدم على حده - وتقارير اخرى توجد فى صفحة الموازنه فكما قلت ان شاء الله فى الاصدار الرابع و اكرر اننى سوف استعين بحضرتك فى بعض الامور الحسابيه بمفهوم المحاسبه ليكون اضافتنا الى الاصدار الجديد هى الحسابات الختاميه
    1 point
×
×
  • اضف...

Important Information