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

كل الانشطه

هذه الصفحة تحدث تلقائياً

  1. الساعة الأخيرة
  2. استاذي @kkhalifa1960 حفظك الله اشكرك على اهتمامك ,,, انا هنا لا اقصد التعديل على الفواتير القديمة ,, انا اقصد في استفساري اننا افتح عدة فواتير جديده في نفس الوقت و التعامل معها كل فاتورة بشكل مستقل على سبيل المثال المستخدم للبرنامج المحاسبي عندما يواجه ثلاثة زبائن بنفس الوقت الاول يطلب صنف افتح فاتورة جديده واضيف الصنف ولم يكتمل طلبه والزبون الثاني كذالك كل زبون جديد افتح له فاتورة جديده وانزلها على شريط المهام حتى اكتمال الطلب وحفظ الفاتورة " فواتير تحت الانتظار حتى اكتمال طلب الزبون " ,, اتمنى ان فكرتي وصلت ,
  3. الله يعطيكم العافية ، نقاشكم أثرى معلوماتي وأضاف لي الكثير ، فجزاكم الله خيراً . تسمحولي أطرح عليكم كم سؤال خطروا في بالي .. ؟ 🔸 في التطبيقات الكبيرة التي تحتوي على بيانات ضخمة ، برأيكم : هل من الأنسب تحميل البيانات من جدول الإعدادات إلى TempVars عند بدء التشغيل ، أم أن القراءة من الجدول عند الطلب أفضل ؟ ولماذا ؟ 🤔 🔸 هل ترون أن وجود جدول إعدادات واحد رئيسي كافٍ ؟ ، أم أن الأفضل تقسيم الإعدادات على جداول منفصلة حسب الحاجة (مثل إعدادات النظام ، المستخدم ، النماذج ... إلخ ) ؟ 🔸 وأخيراً ، إذا تغيّرت بعض الإعدادات أثناء تشغيل البرنامج ، فما الطريقة المثلى لإعادة تحميل أو تحديث TempVars دون الحاجة لإعادة تشغيل البرنامج ؟ 🌟 كل الشكر والتقدير لكم معلمينا وأساتذتنا الأفاضل .
  4. Today
  5. اخي العزيز محمد مرحبا بك في منتداك الثاني أكسس الموضوع قتل بحثا هنا ومواضيع كثيرة عن اكسس والواتساب سواء التطبيق او واتساب ويب ويبدوا انك لم تبحث ، لهذا لم تجد مبادرة في الرد في هذه الصفحة وفي موضوع : دروس وشروحات هذا .. اكثر من عنوان لطلبك حاول تعمل على احد تلك الامثلة المناسبة لك وتكيفه حسب احتياجاتك .. والصعوبات التي تواجهها اعرضها هنا
  6. تقصد بالزيارات : الجدول البعيد .. اذا نحن متفقون جلب القيمة بالدالة من جدول محلي بدلا من الاعتماد على المتغير في حمل القيمة .. لا ارى فيها أذن جحا .. بل بالعكس ومع اننا لجأنا لها للحاجة .. فنحن نعطي مساحة افضل واسرع لمتغيرات الاحداث الأخرى في الذاكرة للعلم : اكسس يستخدم هذه الفكرة
  7. اذا فيه صعوبة ممكن نقلل الشروط
  8. هههههههههههههههه ما شاء الله فى كل مره بخسر ((فعلا اللعبه وقفت معايا لما سجلت اسمي انجليزي لكن لما كتبته عربي اشتغل عادي ^_^)) يا عم طلع التركيز بتاعي 0 ههههههههههههه
  9. السلام عليكم ورحمه الله وبركاته شاهد الموضوع ادناه لعله يكون المطلوب تجميع و دمج عده ملفات عمل اكسيل في ملف عمل واحد - منتدى الاكسيل Excel - أوفيسنا
  10. في برنامج الصور ، وبسبب شح المعلومات ، كنت اشوف نجوم السماء في كل وقت !! كل شوي ويتوقف البرنامج ، او النتائج ما تكون صحيحة ، او ... فكان اعتمادي الكبير على نافذة immediate window لقراءة القيم ، فكان مهم ان تبقى القيم عند توقف البرنامج. نعم هي الطريقة المتعارف عليها (وعادة هي سجل واحد بعدة حقول) ، والتي ذكرها اخوي موسى كذلك بالتفصيل وبالدوال ، وانا استعمل هذه الطريقة في برامجي كذلك ، ولكني استدعي بيانات جميع الحقول مرة واحدة (دائما احاول ان اقلل من زيارات الجدول قدر الامكان ، وجعل الجدول جاهز للمستخدمين) ، فانادي القيم هكذا: dim tbl_values as string, x() as string tbl_values = dLookup("Aspect_Ratio_Width & '|' & Aspect_Ratio_Height & '|' & Lock_Aspect_Ratio & '|' & Save_On_Exit_Sides & '|' & IrfanView_Path & '|' & Employees_Pic_Folder & '|' & Others_Pic_Folder & '|' & Big_Pic_Folder & '|' & tmp_Pic_Folder & '|' & Pictures_BackUp_Folder & '|' & Left_Position & '|' & Top_Position & '|' & Save_On_Exit_Position & '|' & Percent_Smaller_Picture & '|' & EOS_or_Webcam & '|' & How_Many_EOS", "tbl_Settings") x = Split(tbl_values, "|") 'x(0)*15 Aspect_Ratio_Width 'x(1)*15 Aspect_Ratio_Height 'x(2) Lock_Aspect_Ratio 'x(3) Save_On_Exit_Sides 'x(4) IrfanView_Path 'x(5) Employees_Pic_Folder 'x(6) Others_Pic_Folder 'x(7) Big_Pic_Folder 'x(8) tmp_Pic_Folder 'x(9) Pictures_BackUp_Folder 'x(10) Left_Position 'x(11) Top_Position 'x(12) Save_On_Exit_Position 'x(13) Percent_Smaller_Picture 'x(14) EOS_or_Webcam 'x(15) How_Many_EOS 'Debug.Print x(11) . ولكن ومع استعمال الجدول ذو السجلات الكثيرة ، فعندنا 3 طرق: 1. استعمال الدوال العادية ، وتكون هناك دالة خاصة لكل سجل (لأننا لا نعرف رقم السجل وانما قيمة في حقل) ، 2. استعمال Recordset ، 3. والطريقة الاخيرة هي TempVars. نعم لكل طريقة ميزة وعيوب ، وبعد ان القيت اقلامي ، اخترت الطريقة الثالثة 🙂
  11. جزاك الله خيرا علي المجهود الرائع
  12. السلام عليكم ورحمه الله وبركاته اتفضل لعله المطلوب Book1.xlsm
  13. السلام عليكم ورحمه الله وبركاته ممكن تستخدم الكود التالي عند ظهور الاخطاء الخاصه من 32 الي 64 Private Declare Function استبدلها الي Private Declare PtrSafe Function ----------------------------------------------------------------- Private Declare استبدلها الي Private Declare PtrSafe
  14. . 1. هي عادة احاول التمسك بها ، مثل عند الانتهاء من عمل Recordset ، فلا يوجد داعي لإستعمال set rst=Nothing ، ولكنها عادة جيدة خصوصا لما يكون عندك مجموعة من Recordsets 🙂 2.1. الحد الاقصى لـ TempVars هو 255 متغير فقط ، 2.2. هذه الطريقة استعملها فقط لجدول اعدادات البرنامج ، ولا اعتقد انها ستتعدى 30-40 معلومة ، وكما قلت سابقا:
  15. الله الله على الفكر الإبداعي الجميل طبعا أنا خبرتي في مجال الألعاب محدودة .. لذلك كنت أفكر لو كانت اللعبة لها مراحل كيف شكل كل مرحلة بيكون ؟!! لكن صاحب الخبرة لما يتكلم ، علين أن ننصت بإمعان ✌ طبعا المهندس العزيز @Foksh قدم لي نسخة مطورة طبق فيها الأفكار اللي طرحها جزاه الله عنا كل خير 😊🌹🌷 .. وسيتم طرحها حالما تجهز .. 👍 وأنا سعيد جدا أن اللعبة لاقت استحسانكم .. ولله الحمد والفضل والشكر والمنّة . 🤲🌷 والشكر موصول لعمي العزيز @jjafferr 😊🌹
  16. صحيح .. ومسح الذاكرة ما يحدث عادة .. بعض البيانات التي تحملها المتغيرات يجب ان تبقى طيلة فتح البرنامج .. وغالبا يكون وقت التحميل عند فتح البرنامج .. مثل المستخدم ورقمه وغير ذلك من البيانات انا استخدم في عملي الجدول والدوال ( جدول محلي يخص المستخدم ) تثبت القيم في الجدول عند فتح البرنامج .. ومهما حدث من اخطاء ؛ القيمة ستكون موجودة عند استدعاء الدالة .. مع امكانية التحديث لبعض القيم عند الحاجة خلال عمل البرنامج هذا بيت القصيد
  17. عندي سؤال خاطف - ليش تحذف المتغير قبل تعيين قيمة جديدة له ؟ وسؤال آخر ؟ - لو خزنا آلاف السجلات في TempVars بيكون عندنا عدد كبير منها ومساحة لا بأس بها في الذاكرة .. ألن يؤثر هذا على الأداء ؟ 🙂
  18. معلومة قيمة ، شكرا جزيلا 🙂 احنا كل اللي نعرفة عن الشبكة هو ، عندنا DNS وعندنا IP (لما ما يشتغل DNS) للوصول لمجلد المشاركة على السيرفر في الشبكة ، وكله تمام 🙂
  19. السلام عليكم ورحمة الله وبركاته جرب التعديل التالى حسب طلبكم الاخير وفقكم الله طريقة اخرى للبحث معدلة5.xlsb
  20. تفضل أخي الكريم توحيد البحث في شيت واحد v5.xlsb
  21. تفضل استاذ @خالد جميل هذا مشروع من عندي حتى لا ألخبط عملك ولكي يتم فتح أي فاتورة والتعديل عليها أو اضافة عنصر جديد . اليك المرفق والشرح . ووافني بالرد . DMultiInvoice.rar
  22. Yesterday
  23. أحسنت الرد أحي الكريم الأستاذ / @محمد هشام.
  24. شكر وتقدير واجب أخي الأستاذ / @عبدالله بشير عبدالله أخي الأستاذ / @محمد هشام. أخي الأستاذ / @Foksh
  25. أخي الفاضل الأستاذ / @عبدالله بشير عبدالله السلام عليكم ورحمة الله وبركاته فكرة وردتني من أخينا الفاضل / @محمد هشام. أطال الله عمريكما وبارك فيه؛ من الإحصائية الخاصة به من خلال الـ (UserForm1) وحقيقة أعجبتني جدا وأردت تنفيذها هنا ولكن توصلت لمعادلة واحدة فقط ولم أستطيع تنفيذها مع باقي الوظائف رغم أن نفس المعادلة ستستخدم مع باقي الوظائف ولكن لم أتوصل لطريقة الدمج الصحيحة كي تنفذ مع جميع الوظائف والمطلوب: عندما يتم اختيار وظيفة في الخلية (E5) يتم اختيارها تلقائيا في كل من الخليتين: (B10) و (G10) في نفس الوقت ثم يتم تطبيق المعادلات الموجودة في الخلايا (C10& C11) و (H10& H11) الخاصة بوظيفة طبيب على بقية الوظائف ليتم استخدامها في نفس الخلايا عند تبديل الوظائف المختلفة. (مرفق الملف للاطلاع). وتقبلوا مقدما خالص الشكر والتقدير والاحترام لشخصكم الكريم. أخي الفاضل الأستاذ / @محمد هشام. السلام عليكم ورحمة الله وبركاته أعجبني جدا الإحصائية في نهاية الـ (UserForm1) وأشكرك حتى يعجز الشكر عن شكرك؛ وأتمنى لو شملت الإحصائية على عدد الذكور والإناث لكل من (DATA) و (معاشات) كلا على حده أي: بعد (DATA) يكون ذكور: ... وإناث: ... ويكون الذكور والإناث بعد (معاشات) كما هي في مكانها خاصة بـ (معاشات) فقط. وتقبلوا مقدما خالص الشكر والتقدير والاحترام لشخصكم الكريم. طريقة اخرى للبحث معدلة4.xlsb
  26. في العادة الحد الافصى لطول لكيبل الشبكة من نوع cat6 و cat7 و cat8 بحدود 100 متر بشرط ان يكون الكيبل من نوعية جيدة ومعزول بشكل صحيح والفرق بينهم يكون في سرعة النقل وعرض النطاق وكلما زاد طول الكيبل تقل السرعة ويزداد التشويش وفقد البيانات فمثلا كات6 يمكن الحصول على السرعة القصوى اذا كان الكيبل اقل من 55 متر وكات 7 في حدود 30 متر فقط اما الكات 8 فالحد الاقصى للحصول على سرعة نقل كاملة يتطلب ان يكون طول الكيبل لا يزيد عن 100 متر لذا عند زيادة المسافة عن 40 متر يتطلب استخدام سويتشات من نوعية تدعم السرعة المناسبة لنوع الكيبل ويستثنى الكات8 حيث يمكن وضع سوتشات كل 90 متر في جميع الاحول لمسافة 1000 متر او اكثر يكون استخدام هذا النوع من الكيابل والسويتشات امر غير مجدي واعتقد ان الخيار الامثل استخدام كيابل الفايبر حينها لن يكون هناك فقد للبيانات والاهم لن يكون هناك اختناق او عنق زجاجة يمكن للكيبل الفايبر الاحادية نقل بيانات لمسافة 100 كيلو متر او اكثر عند بناء الشبكة نهتم بسعة النطاق اكثر من الاهتمام بالسرعة سعة النطاق لكيبل cat8 وهو افضل كيبل من سلسلة كات فقط 2000 ميجا هيرتز بينما في الفايبر تكون سعة النطاق ما بين 40 الى 100 جيجا في الثانية انا هنا اتحدث الكيابل احادي الوضع والله الموفق
  27. وعليكم السلام ورحمة الله تعالى وبركاته إليك الكود المطلوب لحفظ جميع الشهادات في ملف PDF داخل مجلد باسم برنامج الكنترول شيت في نفس مكان المصنف Option Explicit Private Const CopyRange As String = "A5:J49" Private Const sFolder As String = "برنامج الكنترول شيت" Private Const NamePDF As String = "شهادات الأول" Private Const CrWS As String = "شهادات الأول بالقديرات" Private Sub CommandButton1_Click() Dim tbl As Boolean: tbl = False On Error GoTo CleanExit Dim f As Worksheet: Set f = Sheets(CrWS) Dim WS As Worksheet, début As Integer, fin As Integer, i As Integer, row As Integer Dim sPath As String, tempFile As String, tmp As Long, Rng As Range, OnRng As Range If IsEmpty(f.[J3].Value) Or Not IsNumeric(f.[J3].Value) Then _ MsgBox "يرجى تحديد رقم أول شهادة", vbExclamation, "تنبيه": Exit Sub début = f.[J3].Value: fin = f.[R3].Value If début < 1 Or fin < 1 Or début > fin Then Exit Sub If MsgBox("هل ترغب بحفظ الشهادات من " & _ début & " إلى " & fin & "؟", vbYesNo + vbExclamation, "تأكيد") = vbNo Then Exit Sub SetApp False On Error Resume Next Set WS = Sheets("PDF") If Not WS Is Nothing Then Application.DisplayAlerts = False: WS.Delete: Application.DisplayAlerts = True Set WS = Sheets.Add(After:=Sheets(Sheets.Count)) WS.Name = "PDF": WS.DisplayRightToLeft = True On Error GoTo 0 If WS Is Nothing Then: GoTo CleanExit tempFile = ThisWorkbook.Path & "\" & sFolder If Dir(tempFile, vbDirectory) = "" Then MkDir tempFile tmp = 1 Set OnRng = f.Range(CopyRange) For i = début To fin Step 5 f.[J3].Value = i: Set Rng = WS.Cells(tmp, 2) OnRng.Copy Rng.PasteSpecial Paste:=xlPasteValues: Rng.PasteSpecial Paste:=xlPasteFormats Rng.PasteSpecial Paste:=xlPasteColumnWidths For row = 1 To OnRng.Rows.Count WS.Rows(tmp + row - 1).RowHeight = OnRng.Rows(row).RowHeight - 1.5 Next If i + 5 <= fin Then WS.HPageBreaks.Add Before:=WS.Cells(tmp + OnRng.Rows.Count, 1) tmp = tmp + OnRng.Rows.Count + 1 Next With WS.PageSetup .Orientation = xlPortrait: .Zoom = False: .FitToPagesWide = 1: .FitToPagesTall = False .TopMargin = Application.InchesToPoints(0.5): .BottomMargin = Application.InchesToPoints(0.5) .LeftMargin = Application.InchesToPoints(0.2): .RightMargin = Application.InchesToPoints(0.2) .PaperSize = xlPaperA4: .CenterHorizontally = True: .CenterVertically = False End With sPath = tempFile & "\" & NamePDF & ".pdf" On Error Resume Next WS.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False tbl = (Err.Number = 0) On Error GoTo 0 f.[J3].Value = 1 WS.Delete CleanExit: SetApp True MsgBox IIf(tbl, _ "تم تصدير جميع الشهادات بنجاح" & vbNewLine & _ "تم حفظ الملف باسم: " & NamePDF & vbNewLine & "في المجلد: " & sFolder, _ "حدث خطأ يرجى المحاولة مرة أخرى"), IIf(tbl, vbInformation, vbCritical), _ "PDF" & "تصدير الشهادات بصيغة" End Sub Private Sub SetApp(ByVal enable As Boolean) With Application .ScreenUpdating = enable: .EnableEvents = enable: .DisplayAlerts = enable End With End Sub وإليك في المرفقات شكل الملف PDF المستخرج بعد تنفيذ العملية لتأخذ فكرة واضحة عن النتيجة النهائية شهادات الأول والثانى- الصف الأول.rar شهادات الأول.pdf
  28. أستاذنا @Foksh أضحك الله سنك وأدام فرحك وسرورك. لسه واخد بالي.
  1. أظهر المزيد
×
×
  • اضف...

Important Information