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

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

  1. kkhalifa1960

    kkhalifa1960

    الخبراء


    • نقاط

      4

    • Posts

      1969


  2. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      3

    • Posts

      12671


  3. غريب طرابلس

    غريب طرابلس

    03 عضو مميز


    • نقاط

      3

    • Posts

      238


  4. Foksh

    Foksh

    الخبراء


    • نقاط

      3

    • Posts

      2976


Popular Content

Showing content with the highest reputation on 02/26/25 in all areas

  1. السلام عليكم الموضوع قديم من 2016 لا اعرف ان كان السيد صالح وجد الحل يوجد عدة طرق في جعل النمودج شفاء دون تاثير على مكونات الاخرى كالازرار وليبلات وغيرها فانا من محبي الاكواد البسيطة لان الاكسس لايتحمل والكود يمكن ان تستدعيه من اي نمودج والكـــود عبارة عن موديول بسيط جدا يممكنك استخدامه لاي نمودج تريد لتوضيح فقط لبعض الاخوة كود استدعاء الموديول يجب تغيير لون خلفية نمودج كما موجود في كود ان وضعت لون احمر في الكود فنفس الشيء في خلفية النمودج ويجب ان تكون الصورة بامتداد ( Png,Gif ) مثل الصورة الموجودة في النمودج وليس شرط ان تضع الصورة في نمودج يمكنك من جعل خلفية النمودج صورة فورم شفــاف.accdb
    2 points
  2. عليكم السلام اذا كان نوعه نموذج مستمر يمكنك ذلك اما اذا نوعه نموذج جدولي فلا يمكن لأن اكسس يتعامل معه كجدول
    2 points
  3. علي حد ما فهمت من سؤال حضرتك ان ده مخزن و بنضيف فيه من خلال الشراء و نصرف من خلال البيع حضرتك في الحاله دي هتدخل السعر في فواتير الشراء بشكل حر و كذلك البيع طيب حضرتك عاوز تعرف حجم الربح محاسبيا فيه اكتر من طريقه منها الداخل اولا يصرف اولا FIFO او الداخل اخيرا يصرف اولا LIFO ودول صعب تنفيذهم علي السيستم " يعني عاوز حد من العباقره هنا يساعدنا فيه " او المتوسط الحسابي AVERAGE وده اسهل طريقه علشان تعرف الربح لكل المنتجات بمعني حضرتك هتجيب متوسط سعر الشراء لكل صنف وتحسب من خلال الربح
    2 points
  4. لا تحدها في جدول الأصناف = أين سيتم تحديد سعر الصنف اذاً عند ادخال فاتورة الشراء لأصناف محددة مثلاً !!!!!!! كلا ، أخالفك الرأي في هذه الفكرة ، فجدول الفواتير حسب تصوري سيقوم باضافة اسم الصنف وسعر شراءه وبيعه من جدول الأصناف ، اي في جدول مستقل ، وهنا لن يتم تغيير السعر على جميع الفواتير السابقة !!! سنعود الى فاتورة الشراء والتي من خلالها سيكون عليك اضافة الأصناف التي تم شرائها لاحقاً !!! صحيح ؟؟ 100% لا شك في هذا .
    2 points
  5. السلام عليكم ورحمة الله وبركاته جزاكم الله كل خير لكل من يقوم علي هذا الموقع ودائما نتابعه للاستفادة من استاذتنا جعله الله في ميزان حسناتهم - لديا قاعدة بيانات المشكلة اني عند ادخال منتج معين لفاتورة شراء وليكن مثلا مروحة سقف تورنيدو يكون سعرها 1100 جنيه ، بعد فترة يزيد سعرها الي 1200 جنيه فاضطر الي ادخال صنف جديد واكتب مروحة سقف تورنيدو 2 علشان هذا الصنف له سعراء شراء مختلف عن ماقبله مع انه نفس الصنف ... اريد حل حتي يتوحد اسمه الصنف ويتعدد اسعار الشراء : وان لا يفقد قيمة كل منهم سعر الشراء الذي دخل بيه علي قاعد البيانات حتي استطيع بعد ذلك تحديد او معرفة الربح . بمعني عندما اقوم ببيع مروحة تورنيدو يظهر ليا سعرين وهما 1100 و 1200 مع الكمية واختار بينهم وجزاكم الله كل خير -مرفق قاعدة البيانات مخزن.rar
    1 point
  6. تمام يمكننا نقل النصاب الى جدول البيانات الرئيسبة هل لديك اقوال أخرى 🤣
    1 point
  7. على حسب مفهومي البسيط وتخصصي في برامج تجارية ارى ان الامر بسيط وهو العميل هو الدي يحدد اسماء المواد وليس المبرمج كما قال اخ يجب اضافة سعر1 وسعر2 وما الى دالك ارى خطا الامر هو ان تقوم بعمل رسالة في نمودج ادا كان نفس اسم المادة وسعر يختلف فلا تضف اسم المادة بنفس اسم السابق مثلا -- صنف اومادة ( زيت لوسيور ) موجود مسبقا بسعر مختلف فاجعل اسم المادة مختلفة (زيت لوسيور -1) بهكدا تكون المنظومة تاخد كل مادة وسعر مختلف وعند الجرد تكون الامور واضحة والاهم كما قلت رسالة في النمودج لتوضيح للعميل
    1 point
  8. انا ذكرت لك مواصفات عملي انشاء الله بعدل الكود كي يعمل على النواتين .
    1 point
  9. بالخدمة يتاج الراس ... سادرج الموضوع بمشاركة جديدة
    1 point
  10. استاذي العزيز @Foksh العمل اكثر من رائع شكرا جزيلاً طلب اخر استاذ كيف اجمع الاستعلامات الاربعة في استعلام واحد في قاعدة البيانات بحيث تظهر كافة السجلات على اعتبار ان الاستعلام الرئيسي هو qallshm2
    1 point
  11. اخوي فؤاد الله يصبحك ويصبح جميع الموجودين بأنوار النبي الظاهر انه فكرتي مش واضحة لذلك سأشرحها باسهاب لكي تكون مفهومة للجميع قبل سنوات قمت بتصميم برنامج محاسبة حيث وضعت في جدول المواد / الاصناف الحقول التالية المادة الكمية الافتتاحية سعر الشراء سعر البيع المتوفر بالمستودع ملاحظات وكانت الامور شغالة تمام بحيث فاتورة الشراء يتم من خلالها زياد ةالمتوفر بالمستودع وفاتورة البيع يتم من خلالها التنقيص من المستودع وبعد شهر تقريبا ارتفع سعر بعض السلع فقمت بتغيير سعر الشراء والبيع في جدول المواد / الاصناف تفاجئت بان الفواتير السابقة جميعها تغير السعر فيها الى السعر الجديد وبالتالي كلها اعط تنتائج خطأ بناءا على ذلك قمت بحذف سعر الشراء وسعر البيع من جدول المواد / الاصناف ووضعت سعر الشراء في جدول فاتورة الشراء ووضعت سعر البيع في جدول فاتورة المبيعات بحيث كل فاتورة انت حر في اختيار السعر ولا يؤثر على الفواتير السابقة ومن خلال استعلام بسيط تستطيع ان تعرف كمية المشتريات من سلعة معينة وايضا باستعلام بسيط تستطيع ان تعرف كمية المبيعات ومن خلال استعلامات توحيد sql استطيع عمل ميزانية وارباح وخسائر هذه تجربتي مع برامج المحاسبة وهذا من حدث معي كتجربة شخصية
    1 point
  12. عطني وقت كي أقرأ الموضوع من الاول ................. تقصد اعادة توجيه الكتاب أم الرد على الكتاب ويرد للمرسل منه . عموماً جرب المرفق بعد التعديل . GavanDB.rar
    1 point
  13. نفضل استاذ @تامر خليفه يالاستعانة بكود أحد الزملاء للاسف مادري اسمه ممكن يكون من النت أو من المنتدى . علما بأني أعمل على اوفيس 2010 32 بت .... اليك المرفق . QR_Code.rar
    1 point
  14. تفضل فكرتي المتواضعة ، حيث سيتم أولاً تحميل أسماء الاستعلامات في الليست بوكس ، وانت تختار ما تريده ، ثم انقر الزر للتصدير :- Private Sub Export_Selected_Queries() Dim xlApp As Object, xlWorkbook As Object, xlWorksheet As Object Dim db As DAO.Database, rs As DAO.Recordset Dim sheetIndex As Integer, colIndex As Integer, rowIndex As Integer Dim filePath As String, queryName As String Dim i As Variant filePath = Application.CurrentProject.Path & "\تقرير_الاكسيل.xlsx" If Me.Que_List.ItemsSelected.Count = 0 Then MsgBox "يرجى تحديد استعلام واحد على الأقل قبل التصدير", vbExclamation + vbMsgBoxRight, "خطأ" Exit Sub End If Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True Set xlWorkbook = xlApp.Workbooks.Add Set db = CurrentDb sheetIndex = 1 For Each i In Me.Que_List.ItemsSelected queryName = Trim(Me.Que_List.ItemData(i)) Set rs = db.OpenRecordset(queryName, dbOpenSnapshot) If sheetIndex <= xlWorkbook.Sheets.Count Then Set xlWorksheet = xlWorkbook.Sheets(sheetIndex) Else Set xlWorksheet = xlWorkbook.Sheets.Add End If xlWorksheet.Name = queryName colIndex = 1 With xlWorksheet For Each fld In rs.Fields .Cells(1, colIndex).Value = fld.Name .Cells(1, colIndex).Font.Bold = True colIndex = colIndex + 1 Next fld rowIndex = 2 Do While Not rs.EOF colIndex = 1 For Each fld In rs.Fields .Cells(rowIndex, colIndex).Value = fld.Value colIndex = colIndex + 1 Next fld rowIndex = rowIndex + 1 rs.MoveNext Loop End With rs.Close sheetIndex = sheetIndex + 1 Next i xlWorkbook.SaveAs filePath xlWorkbook.Close xlApp.Quit On Error Resume Next Set rs = Nothing Set db = Nothing Set xlWorksheet = Nothing Set xlWorkbook = Nothing Set xlApp = Nothing On Error GoTo 0 MsgBox "تم تصدير البيانات بنجاح", vbInformation + vbMsgBoxRight, "نجاح العملية" End Sub test.accdb
    1 point
  15. تم عمل استعلام موظف Sub بحث_في_السجل() Dim wsSijel As Worksheet, wsBataka As Worksheet Dim startDate As Date, endDate As Date Dim employeeName As String, movementType As String Dim i As Long, j As Long Dim lastRowSijel As Long, lastRowBataka As Long 'تعيين أوراق العمل Set wsSijel = ThisWorkbook.Sheets("السجل") 'تغيير اسم الورقة حسب الحاجة Set wsBataka = ThisWorkbook.Sheets("بطاقة الموظف") 'تغيير اسم الورقة حسب الحاجة 'قراءة قيم البحث من بطاقة الموظف startDate = wsBataka.Range("A2").Value endDate = wsBataka.Range("B2").Value employeeName = wsBataka.Range("C2").Value movementType = wsBataka.Range("D2").Value 'مسح البيانات القديمة في بطاقة الموظف lastRowBataka = wsBataka.Cells(wsBataka.Rows.Count, "A").End(xlUp).Row If lastRowBataka >= 6 Then wsBataka.Range("A6:F" & lastRowBataka).ClearContents End If 'إيجاد آخر صف في شيت السجل lastRowSijel = wsSijel.Cells(wsSijel.Rows.Count, "A").End(xlUp).Row 'البحث في السجل وعرض البيانات في بطاقة الموظف j = 6 'بداية كتابة البيانات في بطاقة الموظف من الصف 6 For i = 2 To lastRowSijel 'بداية البحث من الصف 2 (تخطي العناوين) If wsSijel.Cells(i, 2).Value = employeeName And _ wsSijel.Cells(i, 4).Value = movementType And _ wsSijel.Cells(i, 5).Value >= startDate And _ wsSijel.Cells(i, 5).Value <= endDate Then 'كتابة البيانات في بطاقة الموظف wsBataka.Cells(j, 1).Value = wsSijel.Cells(i, 1).Value 'العمود الأول wsBataka.Cells(j, 2).Value = wsSijel.Cells(i, 2).Value 'اسم الموظف wsBataka.Cells(j, 3).Value = wsSijel.Cells(i, 5).Value 'العمود الثالث wsBataka.Cells(j, 4).Value = wsSijel.Cells(i, 6).Value 'نوع الحركة wsBataka.Cells(j, 5).Value = wsSijel.Cells(i, 7).Value 'التاريخ wsBataka.Cells(j, 6).Value = wsSijel.Cells(i, 8).Value 'العمود السادس wsBataka.Cells(j, 6).NumberFormat = "[h]:mm;@" 'تنسيق الخلية مباشرة في الكود j = j + 1 'زيادة الصف لكتابة البيانات في الصف التالي End If Next i MsgBox "تم البحث وعرض البيانات بنجاح." 'Call حساب_مجموع_الساعات Call جمع_الساعات_والدقائق End Sub Sub جمع_الساعات_والدقائق() Dim wsBataka As Worksheet Dim نطاق_الجمع As Range Dim مجموع_الوقت As Double Set wsBataka = ThisWorkbook.Sheets("بطاقة الموظف") 'تغيير اسم الورقة حسب الحاجة ' تحديد نطاق الجمع (F6 إلى آخر خلية في العمود F) Set نطاق_الجمع = Range("F6", Cells(Rows.Count, "F").End(xlUp)) ' جمع القيم في النطاق مجموع_الوقت = WorksheetFunction.Sum(نطاق_الجمع) ' وضع النتيجة في الخلية E4 Range("E4").Value = مجموع_الوقت ' تنسيق الخلية E4 Range("E4").NumberFormat = "[h]:mm" ' أو "h:mm" حسب الحاجة End Sub الخروج والعودة - كود.xlsm
    1 point
  16. هل هذا هو المطلوب Sub حساب_فرق_الساعات1() Dim wsData As Worksheet, wsSummary As Worksheet Dim lastRowData As Long, lastRowSummary As Long Dim i As Long, j As Long Dim employeeName As String, movementType As String, movementDate As Date Dim exitTime As Date, returnTime As Date, timeDifference As Double Dim totalHours As Double, days As Long, remainingHours As Long Dim summaryDict As Object 'استخدام Dictionary لتجميع الساعات حسب الموظف والشهر 'تعيين ورقتي العمل Set wsData = ThisWorkbook.Sheets("السجل") 'تغيير اسم الورقة حسب الحاجة Set wsSummary = ThisWorkbook.Sheets("احتساب عدد الساعات") 'تغيير اسم الورقة حسب الحاجة 'إيجاد آخر صف في ورقة البيانات lastRowData = wsData.Cells(wsData.Rows.Count, "B").End(xlUp).Row 'إضافة عناوين الأعمدة في ورقة الملخص wsSummary.Cells(1, "A").Value = "اسم الموظف" wsSummary.Cells(1, "C").Value = "نوع الحركة (زمنية)" wsSummary.Cells(1, "D").Value = "إجمالي عدد الساعات" wsSummary.Cells(1, "F").Value = "عدد الأيام والساعات المتبقية" 'إنشاء Dictionary لتجميع الساعات Set summaryDict = CreateObject("Scripting.Dictionary") 'حساب الفرق بين وقت الخروج ووقت العودة For i = 2 To lastRowData employeeName = wsData.Cells(i, "B").Value movementType = wsData.Cells(i, "D").Value movementDate = wsData.Cells(i, "E").Value exitTime = wsData.Cells(i, "F").Value returnTime = wsData.Cells(i, "G").Value 'تأكد من وجود وقت خروج ووقت عودة If IsDate(exitTime) And IsDate(returnTime) Then timeDifference = returnTime - exitTime wsData.Cells(i, "H").Value = timeDifference wsData.Cells(i, "H").NumberFormat = "[h]:mm;@" 'تنسيق الخلية مباشرة في الكود 'تجميع الساعات إذا كانت الحركة "زمنية" If movementType = "زمنية" Then Dim key As String key = employeeName ' استخدام اسم الموظف فقط كمفتاح If summaryDict.Exists(key) Then summaryDict(key) = summaryDict(key) + timeDifference Else summaryDict(key) = timeDifference End If End If End If Next i 'كتابة ملخص الساعات في ورقة الملخص j = 2 Dim key1 As Variant For Each key1 In summaryDict.Keys employeeName = key1 ' استخدام المفتاح مباشرةً كاسم الموظف totalHours = summaryDict(key1) 'كتابة البيانات في ورقة الملخص wsSummary.Cells(j, "A").Value = employeeName wsSummary.Cells(j, "C").Value = "زمنية" wsSummary.Cells(j, "D").Value = totalHours wsSummary.Cells(j, "D").NumberFormat = "[h]:mm;@" 'تنسيق الخلية مباشرة في الكود 'تحويل الساعات إلى أيام وساعات days = Int(totalHours * 24 / 24) remainingHours = (totalHours * 24) Mod 24 wsSummary.Cells(j, "F").Value = days & " يوم " & remainingHours & " ساعة" j = j + 1 Next key1 MsgBox "تم حساب الفرق بين وقت الخروج ووقت العودة وتلخيص الساعات بنجاح." End Sub الخروج والعودة - كود.xlsm
    1 point
  17. وعليكم السلام تم تعديل المعادلة في العمود F تعديل معادلة1.xlsm
    1 point
  18. وعليكم السلام-تفضل هذا الفيديو به طلبك .. طالما انك لم تقم برفع ملف للمطلوب
    1 point
×
×
  • اضف...

Important Information