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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      8

    • Posts

      9,814


  2. omar elhosseini

    omar elhosseini

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


    • نقاط

      4

    • Posts

      1,950


  3. هيثم أحمد

    هيثم أحمد

    02 الأعضاء


    • نقاط

      3

    • Posts

      62


  4. عبدالله باقشير

    عبدالله باقشير

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


    • نقاط

      3

    • Posts

      4,796


Popular Content

Showing content with the highest reputation on 26 يول, 2016 in all areas

  1. السلام عليكم ورحمة الله وبركاته من الله علي بطريقة لعمل Tool bar او Ribbon Bar مثل البرامج الاحترافية وهي كالتالي وأسأل الله ان تفيد الجميع عمل Tab control في رأس انموذج ثم اضافة التبويبات حسب التصنيف الذي ترغب فيه مثلا تبويب للعملاء وتضيف اليه جميع الازرار الخاصة بالنماذج والتقارير ثم تبويب اخر للموردين وتضيف اليه كذلك ما تريد من ازرار ثم بعد الانتهاء من اضافة التبويبات المطلوبة تذهب الي خصائص الTab Control وتذهب الي خاصية Back style وتجعلها Transparent وبدلا من الازرار التقليدية يمكنك اضافة صورة واضافة امر لها عند النقر ولاضافة خاصية اخري يمكنك جعل المؤشر عند المرور علي الصورة ان يظهر شكل اليد لتكون افضل شكلا مرفق مثال ومدرج به موديول خاص بتغيير شكل المؤشر لشكل اليد عند المرور علي الصورة اي استفسار انا تحت امر الجميع مع خالص الشكر لاعضاء المنتدي المحترمين واسال الله ان ينفع بهذا العمل وان يجعله خالص لوجهه الكريم مرفق المثال Test.rar
    3 points
  2. وعليكم السلام الكود يقوم بفتح الملف الموجود مساره واسمه في الحقل DTPath فمثلا الملف التالي سيفتحه الكود اعلاه بإستخدام البرنامج الافتراضي في الوندوز لفتح هذه الصيغة: DTPath= "F:\Officena\Report_Time.txt" جعفر
    3 points
  3. السلام عليكم تكملة للتجربة اعلاه ، وبعد وضع كود جديد في المشاركة الاخيرة ، وهذا الكود يعتمد على انشاء جدول مؤقت ، اضع لكم النتائج: 1-7-2016 to 30-7-2016 j = 335.2969 R = 239.1992 Transpose = 148.8281 والكود على هيئة دالة Option Compare Database Function transposer() 'http://www.access-programmers.co.uk/forums/showpost.php?p=907107&postcount=15 'Edited by jjafferr on 22-7-2016 Dim db As DAO.Database Dim tdfNewDef As DAO.TableDef Dim fldNewField As DAO.Field Dim rstSource As DAO.Recordset Dim rstTarget As DAO.Recordset Dim i As Integer, j As Integer Dim strSource As String Dim strTarget As String Dim sqlcode As String Dim t_array() As Variant Dim t_no_of_rows As Integer Dim t_no_of_columns As Integer Dim s_no_of_rows As Integer Dim s_no_of_columns As Integer Dim T As Long On Error GoTo Transposer_Err 'strSource = "tbl_input" strSource = "qry_blagh_2" strTarget = "tbl_output" Set db = CurrentDb() 'Set rstSource = db.OpenRecordset("SELECT * FROM tbl_input ORDER BY sample_type", dbOpenDynaset) Set rstSource = db.OpenRecordset("SELECT * FROM " & strSource, dbOpenDynaset) rstSource.MoveLast t_no_of_rows = rstSource.Fields.count t_no_of_columns = rstSource.RecordCount + 1 s_no_of_columns = rstSource.Fields.count s_no_of_rows = rstSource.RecordCount + 1 DoCmd.SetWarnings False sqlcode = "DELETE tbl_output.* FROM tbl_output" DoCmd.RunSQL sqlcode DoCmd.SetWarnings True ReDim t_array(t_no_of_rows, t_no_of_columns) ' Fill the first field of the array with ' field names from the original table. For i = 0 To t_no_of_rows - 1 t_array(i, 0) = rstSource.Fields(i).Name Next i rstSource.MoveFirst ' Fill each column of the array ' with a record from the original table. For j = 0 To t_no_of_rows - 1 ' Begin with the second field, because the first field ' already contains the field names. For i = 1 To t_no_of_columns - 1 ' Debug.Print i & " " & j t_array(j, i) = rstSource.Fields(j) rstSource.MoveNext Next i rstSource.MoveFirst Next j ' Fill the target table with fields from the array Set rstTarget = db.OpenRecordset(strTarget) For j = 0 To t_no_of_rows - 1 rstTarget.AddNew T = 0 For i = 0 To t_no_of_columns - 1 'rstTarget.Fields(i) = t_array(j, i) rstTarget.Fields(i + 1) = t_array(j, i) 'j If j > 0 And IsNumeric(t_array(j, i)) Then T = T + Val(t_array(j, i)) End If Next i rstTarget!Totals = T rstTarget.Update Next j db.Close 'MsgBox ("finished") Exit Function Transposer_Err: Select Case Err Case 3061 'Too Few parameters, expect 2 Set db = CurrentDb Set qdf = db.QueryDefs(strSource) For Each prm In qdf.Parameters prm.Value = Eval(prm.Name) Next prm Set rstSource = qdf.OpenRecordset(dbOpenDynaset) Resume Next Case 3010 MsgBox "The table " & strTarget & " already exists." Case 3078 MsgBox "The table " & strSource & " doesn't exist." Case Else MsgBox CStr(Err) & " " & Err.Description End Select Exit Function End Function اما الجدول المؤقت فهكذا شكله: وهذه نتيجته جعفر
    2 points
  4. تغير الفلدر الافتراضي ل GetOpenFilename المعروف عند استخدام GetOpenFilename فأن الديالوج بوكس يفتح على الفلدر الافتراضي وهو My Documents ولا يمكن تغيره ولكن يمكن اجبار GetOpenFilename علي تغير الفلدر الافتراضي لها الي أي فلدر نريد بإستخدام دوال API Functions كما في هذا المثال سوف تفتح علي الفلدر الحالي لهذا الملف GetOpenFilename.rar
    1 point
  5. السلام عليكم ورحمة الله وبركات الطريقة_الاولي ان تكون الصور محفوظة داخل الملف ويتم عرض الصور من خلال اي مدي الطريقة_الثانية ان تكون الصور محفوظة داخل الملف ويتم عرض الصور بإستخدام اداة الصورة من مربع ادوات التحكم الطريقة_الثالثة ان تكون الصور محفوظة داخل فولدر ويتم عرض الصور بإستخدام اداة الصورة في الفورم ================================================== ================================================== شرح الطريقة_الاولي ان تكون الصور محفوظة داخل الملف ويتم عرض الصور من خلال اي مدي في ورقة All_Pic يتم استيراد الصور بالوقوف في خلية مثلا مثل C2 ثم استخدام زر ( ادراج صـــورة / صـــور بـــدء مـــن الخليـــة الحـــاليـــة ) لأستيراد صورة واخدة او عدة صور دفعه واحدة فيتم ادراج اسم الصور في العمود B والصور في العمود C ويتم تحديد حجم الصور في الكود Width_Of_Pic_Col = 2 Height_Of_Pic_Row = 7 بعرض 2 عمود وارتفاع 7 صفوف وانواع الصور التي يمكن استخدامها هي jpg gif png bmp tif Emf jpeg الطريقة_الاولي.rar ================================================== شرح الطريقة_الثانية ان تكون الصور محفوظة داخل الملف ويتم عرض الصور بإستخدام اداة الصورة من مربع ادوات التحكم يتم استيراد الصور بنفس طريقة الطريقة_الاولي ويتم تحديد حجم الصور بنفس طريقة الطريقة_الاولي وانواع الصور التي يمكن استخدامها هي jpg gif bmp Emf jpeg الطريقة_الثانية.rar ================================================== شرح الطريقة_الثالثة ان تكون الصور محفوظة داخل فولدر ويتم عرض الصور بإستخدام اداة الصورة في الفورم الطريقة_الثالثة.rar ================================================== ملحوظة هامة بالنسبة الي الطريقة_الاولي والطريقة_الثانية في الورقة التي يدرج بها الصور ترتيب الصور والاسماء لا علاقة له بإستدعاء الصور حتي الاسماء التي في العمود B يمكن حذفها الصور يمكن ان تكون في اي مكان في الورقة حتي لوكانت بصورة عشوائيه ==================================================
    1 point
  6. لا تبحث عن المعادلات بالطربقة التقليدية (~+Ctrl+Shift) بعد الان اكسل يلوّن لك الخلية التي تحتوي على معادلة بمجرد كتابتها والضغط على Enter تلوين المعادلات.rar
    1 point
  7. جزاك الله خيرا اخي ابو عبد الاله ورزقك الصحة والعافية في النفس والاهل
    1 point
  8. شكرا يا استا.د ساجرب جزاك الله خيرا يا استاد الماكرو يعمل فقط سازيل كود ادراج التوقيت هل يمكن تتطبيقه على اكتر من شيت بنفس الجد ول وتشغيله بctrl +d بعد التحديد واعتدر عن الازعاج
    1 point
  9. الأخ الكريمحسين22 السلام عليكم جرب الماكرو التالى Sub abo_abary() With Selection .Cut .Offset(0, -1).Value = .Offset(0, 0).Value .Offset(0, 0).Value = "" .Offset(0, 1).Value = Date End With End Sub
    1 point
  10. جرب هذا الماكرو Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub If Target.Count > 1 Or Target <> "" Then Exit Sub If Target.Offset(0, 1) <> "" And Target.Offset(0, 2) = "" Then Target.Value = Target.Offset(0, 1).Value Target.Offset(0, 1).Value = "" Target.Offset(0, 2).Value = Time Target.Offset(0, 3).Value = Date End If End Sub
    1 point
  11. هات مثال غلى ذلك ثم تريد النسخ ام النقل
    1 point
  12. نعم يمكن.. ولكن.. بشروط اولا تحلف بالله انها لك ثانيا تقول لي عن اي شي او اسم داخلها حتي اتاكد انها ملكا لك تحياتي
    1 point
  13. السلام عليكم هل توجد طريقة لاسترجاعكلمة مرور قاعدة البيانات اذا نسيتها
    1 point
  14. ساعدل على العنوان في موضوعك السابق الخاص بالعلاقات ويمكننا النقاش هناك
    1 point
  15. الأخ الكريم مامون دعيس مشكور لكلماتك الرقيقة ولك بمثل ما دعيت به
    1 point
  16. تفضل أخي هذا هو الملف بعد إصلاحه. Me.num = CurrentRecord On Error Resume Next Dim ss As Date If Me.num > 1 Then ss = DLookup("[ÇáÊÇÑíÎ]", "tbl", "num=" & [num] - 1) + 1 Me.dat = ss Me.dat.Enabled = False Else Me.dat.Enabled = True End If ضع هذا الكود في حدث الحالي للنموذج سلسلة تواريخ.rar
    1 point
  17. السلام عليكم بعد إذنك أخي سعيد محمد تفضل هذا مثال على ما طلبت راجع الملف ووافني بالنتيجة سلسلة تواريخ.rar
    1 point
  18. بالنسبة الي الطريقة_الاولي و الطريقة_الثانية الورقة التي بها الصور يجب ان يكون اسمها All_Pic او تغير الاسم من الاكواد
    1 point
  19. حياك الله اخي الكريم استخدم دالة Dateadd لإضافة يوم للتاريخ الأول وبعدد السجلات التي تريد اضافتها مع استخدم احد دوال اللوب ... وهكذا اذا لم تتضح الصورة اضف مرفق للتعديل عليه. بالتوفيق
    1 point
  20. 1 point
  21. الاخ ASHHMA شاهد المرفق Password=123 يمكنك تغيرها من حدث Private Sub Workbook_Open() حصص.rar
    1 point
  22. وعليكم السلام أليك هذا الحل (وهناك حلول أخرى) قم بإزالة الحماية عن الورقة
    1 point
  23. السلام عليكم أخي صالح ، شرحك هو حول الامر NZ هنا تحدثت عن هذا الامر: فالدالة Len هي لحساب عدد الحروف في حقل او قيمة ، بغض النظر عن نوع الحقل ، نص او رقم او تاريخ او .. جعفر
    1 point
  24. تفضل هذا ملفك بعد التعديل Book1.rar
    1 point
  25. السلا عليكم الموضوع هذا اصبح له حلّان: حلّي انا بإستخدام الاستعلام الجدولي ولأكثر من مرة ، وحل اخوي رمهان بإستخدام دالة Dcount في التقرير اكثر من مرة (اما موضوع النتائج الغير صحيحة كما اشرت اليها في مشاركتي السابقة ، فهو موضوع سهل حلّه على اخوي رمهان) . السؤال الذي طرأ على بالي هو: اي الطريقتين هي الاسرع (على اساس ان الطريقتين تعطيان النتائج الصحيحة) ، وبذلك نقترح هذه الطريقة على الاخ محمود سعيد في برنامجه لحساب السرعة ، يجب ان تكون الجداول كبيرة ، حتى يكون للمقارنة معنى ، لذلك عملت التالي: 1. عملت الفهرسة للحقول التي تحتاج فهرسة ، 2. جعلت عدد السجلات في الجداول كالتالي: Blagh = 3,845,966 ، المصابين = 1,922,966 ، الوفيات = 1,538,373 3. بحيث اصبح حجم قاعدة البيانات حوالي 328MB الموضوع اخذ مني يوم كامل ، والنتائج: وطريقة احتساب الوقت الذي أخذه كل تقرير على حده هو: t = Timer docmd.openreport .... Time_Took = Timer - t والنتيجة بالثوان: j = جعفر ، R = رمهان 1-7-2016 to 7-7-2016 j = 109.8164 R = 132.0977 1-7-2016 to 15-7-2016 j = 230.1016 R = 187.8359 1-7-2016 to 30-7-2016 j = 335.2969 R = 239.1992 وهذه صور التقرير النهائي: جعفر: . رمهان: لهذا السبب ، فانا اقترح على الاخ محمود سعيد ان يستخدم طريقة الاخ رمهان (طبعا بعد ان يتم تصحيح النتائج بها) ، فهي الاسرع في الاداء جعفر
    1 point
  26. السلام عليكم نعم أخوي رمهان اللي تقوله يصير ، ولكني كنت اشير الى الطريقة التي عملت فيها برنامجي ، فبرنامجي معتمد عليه: وبالبرمجة ممكن عمل اي شئ وانزلت برنامجك واتضح انك تستخدم دالة Dcount في التقرير ، وعملت مقارنة بين نتائجي ونتائجك ، بس الظاهر ان عندك خطأ في الجمع: نتيجتي (بعد ان اخذت بيانات جداولك): . ونتيجتك: ورجاء متابعة المشاركة التالية جعفر
    1 point
  27. السلام عليكم ورحمة الله أساتذتنا وأصدقائنا الكرام في هذ الصرح العملاق والمتميز دائماً في فعل ونشر المعرفة والخير للجميع اليوم أتيت لكم ببرنامجي البسيط والمتواضع الذي ولله الحمد قد قمت ببرمجته في عام 2015 وأستخدمته أحدى شركات المقاولات التي تحتوي مايقارب عن 500 موظف في الأونة الأخيرة تم نشر برامج كثيرة حول مجال شؤون الموظفين والمرتبات ولكن كانت تقتصر فقط على مبدأ أرشفة بيانات الموظفين ولكن الآن تستطيع أخي المستخدم غير ذلك بكثير ، وهي إضافة المرتب لكل موظف في حسابه حسب اختيار المستخدم لفترة استحقاق المرتب له وعند دخول وقت الاستحقاق يقوم البرنامج بالتنبيه وتذكيرك بسحب المرتبات وأيضاً تستطيع إضافة حركات مالية أخرى كنظام السلف والدفعات والمسحوبات على المرتب وميزات كثيرة سوف تكتشفها بنفسك عند الاستخدام . قمت بإضافة نظام الحماية المتميز وهو تفعيل النسخة بالرقم التسلسي للوحة الأم بحيث تعمل النسخة على جهاز واحد فقط وعند النقل يتم قفل البرنامج عن العمل صور من البرنامج صورة تفعيل البرنامج روابط التحميل Office Soft.Employ & Salary أو Office Soft.Employ & Salary فيديو شرح التنصيب والتثبيت من هنا فيديو طريقة ألية عمل واستخدام البرنامج من هنا الشرح التفصيلي للبرنامج موجود في مجلد البرنامج بعد تثبيته على جهاز الكمبيوتر ملاحظة مهمة :يرجى عدم تغيير مسار تنصيب البرنامج لكي يعمل معكم بشكل كامل أو تنصيبه في مسار أخر غير القرص الصلب (C) البرنامج تم تجربته على أوفيس 2010 و 2007 ويعمل بشكل كامل ومتميز أتمنى أن ينال أعجابكم والحمد لله
    1 point
  28. السلام عليكم اعداد تقرير من نطاق معين اتوماتيكيا عن طريق فورم لاختيار رؤوس الاعمدة التي تريده في التقرير ما عليك سوى تغيير اسم الورقة والعمود الذي يعين آخر صف في النطاق والنطاق هنا: Private Sub kh_MyRngSet() Dim Last As Long '======================== ' تعيين النطاق ويشمل رؤوس الاعمدة With Sheets("قاعدة البيانات") Last = .Range("C" & .Rows.Count).End(xlUp).Row Set MyRng = .Range("A2:Z" & Last) End With '======================== Num = MyRng.Columns.Count End Sub وتعيين اول صف في ورقة التقرير هنا: '======================== ' اول صف للتقرير Const iRow As Integer = 3 '======================== خبور خير اعداد تقرير حسب اختيار الاعمدة اتوماتيكيا.rar
    1 point
  29. السلام عليكم فورم لحفظ نسخة من الملف بامكانية تغيير اسم الملف والمسار يعمل على اكسل 2003-2007 افتراضيا يعطيك نفس مسار الملف مع نسخة بتاريخ اليوم واذا تكرر الخفظ يخفظ فوق النسخة المحفوظة لتاريخ اليوم اما اليوم الثاني ستكون لك نسخة اخرى بتاريخه وبعدين لك الحرية في كل الاستخدمات اذا لم تريد ذلك تغيير المسار تعيير الاسم كما تريد وفيه امكانيات ستعجبكم كثيرا هديتي لكم لان كنت مقلا معكم هذه الايام فورم لحفظ نسخة من الملف.rar
    1 point
  30. السلام عليكم الاخ الفاضل/ خالد القدس-------- حفظه الله ولك امثال دعائك اضعاف مضاعفة تقبل شكري وتقديري ============================= الاخ الفاضل/ obad65-------- حفظه الله تقبل شكري وتقديري ============================= الاخ الفاضل/ احمد-------- حفظه الله ولك امثال دعائك اضعاف مضاعفة تقبل شكري وتقديري ============================= الاخ الفاضل/ قصي-------- حفظه الله تم التغيير بحيث انه يتم لصق البيانات بثلاثة معايير لصق عرض الاعمدة لصق التنسيقات لصق القيم يمكنك حذف مالا تريده ما عدى القيم طبعا في الكود التالي: Private Sub Kh_Start(iColumn As Integer) Dim RCount As Long, C As Integer C = Cells(iRow, Columns.Count).End(xlToLeft).Column + 1 With MyRng RCount = .Rows.Count .Cells(1, iColumn).Resize(RCount, 1).Copy ' لصق عرض الاعمدة Cells(iRow, C).PasteSpecial xlPasteColumnWidths ' لصق الفورمات Cells(iRow, C).PasteSpecial xlPasteFormats ' لصق القيم Cells(iRow, C).PasteSpecial xlPasteValues Application.CutCopyMode = False End With End Sub تقبل شكري وتقديري خبور خير اعداد تقرير حسب اختيار الاعمدة اتوماتيكيا1.rar
    1 point
  31. بسم الله الرحمن الرحيم أليكم الآن الأصدار الأول من برنامج المستودعات ( النسخة للتعامل باللغة الأنجليزية ) فكرة البرنامج وكيفية الأستخدام ستبدأ أولاً بتسجيل الأصناف الموجودة لديك في صفحة ( Items ) لا تقم بإدخال رقم متسلسل لكل صنف . فقط أدخل الموديل وكذلك وصف المنتج وسيتم ترقيمة تلقائياً الرقم المتسلسل هام وستحتاجه عند إضافة صنف أو أخراجه من المستودع الآن وبعد تسجيل المنتجات التي لديك . توجه الي صفحة ( To Store ) والتي تعني أدخال الصنف للمستودع في خانة ( NO ) أدخل الرقم المتسلسل للصنف كما هو مسجل في صفحة ( Items ) وستلاحظ أن بياناته تظهر أمامك ويبقى تسجيل العدد وتاريخ الأدخال عندما تريد إخراج صنف من المستودع ستذهب الي صفحة Out Of Store وستقوم أيضاً بإدخال رقم الصنف وستلاحظ أنه تظهر أمامك الآن الموديل والوصف والكميه المدخله من البدايه والرصيد الباقي لديك قم بأدخال الكميه المراد إخراجها وستظهر لك رساله توضيحيه بالرصيد الباقي . ولا تقلق إن أخطأت في كتابة الكميه بزياده عن الموجود في المستودع فالبرنامج لن يقبل ذلك وستظهر رساله أيضاً بذلك يمكنك طباعة تقرير مستقل لصنف بكميته وعدد مرات الأدخال والأخراج من المستودع يمكنك طباعة ورقه برصيد المستودع لكامل الأصناف ولكن عليك الضغط على زر الطباعه المخصص لذلك في الصفحه لتجنب طباعة البيانات الفارغه . يوجد زر بحث في صفحة الأصناف لكي يسهل عليك الوصول الي رقم أي صنف تريد نعرفته سريعاً ملحوظه : إذا أدخلت عدد معين لصنف ما ... وتريد أضافة عدد آخر فأنت لست بحاجه للذهاب لرصيدك السابق وتعديله ولكن يمكن تسجيل العدد الجديد برقم الصنف وسيتم أضافته للسابق قريباً النسخة العربيه ولا تنسونا من صالح الدعاء مقترحاتكم تهمنا فلا تبخلوا بها علينا بالتوفيق تحية حب وتقدير للأستاذ الكبير محمد طاهر Store.zip
    1 point
  32. السلام عليكم هذا تعديل بسيط على واجهة برنامج ضبط المخزون والمبيعات يرجى من اصحاب العقول النيرة متابعة تطوير البرنامج وتطويره حتى يخرج بافضل صورة وذا هو التعديل _________________.zip
    1 point
×
×
  • اضف...

Important Information