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

Foksh

الخبراء
  • Posts

    2982
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    117

كل منشورات العضو Foksh

  1. وعليكم السلام ورحمة الله وبركاته.. راجع هذا الموضوع:- https://www.officena.net/ib/topic/19137-تمت-الاجابة-إظهار-التاريخ-الهجري-والميلادي-في-تقرير/#comment-86999
  2. اعتذر منك ، حاولت ولكن محاولاتي لم تنجح للأسف . آملاً أن تجد الحل الذي يحل لك مشكلتك يا صديقي
  3. لا تبخل علينا في ملف مرفق يحتوي تقرير مماثل لما وصفته ( لا يشترط الجداول ولا اي نماذج )
  4. وعليكم السلام ورحمة الله وبركاته ،، من مشروع قديم ، جرب هذا الكود في زر . مع العلم أنني لم أصل الى حجم الورقة A2 مثلاً Dim rpt As Report DoCmd.openReport "Report4", acViewPreview Set rpt = Reports("Report4") rpt.Printer.PaperSize = acPRPSA4 rpt.Printer.LeftMargin = 200 rpt.Printer.RightMargin = 200 rpt.Printer.TopMargin = 200 rpt.Printer.BottomMargin = 200 DoCmd.PrintOut DoCmd.Close acReport, "Report4", acSaveNo
  5. صدقني اعتذر منك على التأخير .. الملف مفتوح المصدر . Update.accdb
  6. خلاصة القول عن ما تفضل به الأستاذ @أبوبسمله : الجزء المسؤول عن حجم QR Code غير موجود في الكود ، ولكن يمكن التحكم به بإضافة scale=X حيث X هو معامل التكبير المناسب لحاجتك . حيث scale=2 يزيد حجم QR Code ، ويمكنك تغيير الرقم حسب الحاجة .
  7. جهود جميلة منكم أخي الكريم ، واسمحلي بسؤال يدور في ذهني !! هل تمت التجربة على هذا الكود ؟؟؟؟؟؟؟؟؟؟؟؟؟
  8. وعليكم السلام ورحمة الله وبركاته.. أخي الكريم طلبك غير منطقي ، والسبب ان التقرير سيكون مبني على جداول أو استعلامات ، صحيح ؟؟؟؟؟؟؟
  9. في هذه الحالة ، سنقوم باستعمال مصفوفة بسيطة على سبيل المثال لتحديد الإستعلامات التي موجودة لديك ، كالتالي :- Sub ExportQueriesToExcel() Dim xlApp As Object Dim xlWorkbook As Object Dim xlWorksheet As Object Dim db As DAO.Database Dim rs As DAO.Recordset Dim queryNames As Variant Dim sheetIndex As Integer Dim filePath As String Dim colIndex As Integer Dim rowIndex As Integer queryNames = Array("Qallmsr2", "Qallshm2", "Qallshy2", "Qalltipr2") filePath = Application.CurrentProject.Path & "\تقرير_الاكسيل.xlsx" Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True Set xlWorkbook = xlApp.Workbooks.Add Set db = CurrentDb sheetIndex = 1 For Each queryName In queryNames 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 For Each fld In rs.Fields xlWorksheet.Cells(1, colIndex).Value = fld.Name xlWorksheet.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 xlWorksheet.Cells(rowIndex, colIndex).Value = fld.Value colIndex = colIndex + 1 Next fld rowIndex = rowIndex + 1 rs.MoveNext Loop rs.Close sheetIndex = sheetIndex + 1 Next queryName xlWorkbook.SaveAs filePath xlWorkbook.Close xlApp.Quit Set rs = Nothing Set db = Nothing Set xlWorksheet = Nothing Set xlWorkbook = Nothing Set xlApp = Nothing MsgBox "تم تصدير البيانات بنجاح", vbInformation + vbMsgBoxRight, "نجاح العملية" End Sub test.accdb
  10. التحديث لقاعدة البيانات الأمامية ، ومن المفترض والأصح أن يتمتقسيم قاعدة البيانات ( أمامية للنماذج والإستعلامات ... إلخ ، والخلفية للجداول فقط ) . اذا كان التطوير لإضافة جداول فهنا مشكلة بالنسبة للمصمم 😁 ، ويمكنه إضافة الجداول الجديدة في القاعدة الأمامية دون إعادة التقسيم اذا كان هناك سجلات وبيانات تهم المستخدم بالدرجة الأولى ,
  11. هل هذا ما تقصده ؟؟ SELECT TIP.*, TSHM.*, TSHY.[id] AS TSHY_id, TSHY.*, Ttipr.[id] AS Ttipr_id, Ttipr.*, Tmsr.[id] AS Tmsr_id, Tmsr.[No], Tmsr.[اسم المادة], Tmsr.[مبلغ الصرف], Tmsr.data, Tmsr.Year FROM ((((TIP LEFT JOIN TSHM ON TIP.id = TSHM.[id]) LEFT JOIN TSHY ON TIP.id = TSHY.[id]) LEFT JOIN Ttipr ON TIP.id = Ttipr.[id]) LEFT JOIN Tmsr ON TIP.id = Tmsr.[id]);
  12. لا اعلم ان كان ما فهمته صحيح ، تفضل هذا الاستعلام ، وأخبرنا بالنتيجة ,, TRANSFORM Sum([Competitor Analysis].Premium) AS SumOfPremium SELECT [Competitor Analysis].clint_code FROM [Competitor Analysis] GROUP BY [Competitor Analysis].clint_code PIVOT [Competitor Analysis].company; test (1).accdb
  13. لا تحدها في جدول الأصناف = أين سيتم تحديد سعر الصنف اذاً عند ادخال فاتورة الشراء لأصناف محددة مثلاً !!!!!!! كلا ، أخالفك الرأي في هذه الفكرة ، فجدول الفواتير حسب تصوري سيقوم باضافة اسم الصنف وسعر شراءه وبيعه من جدول الأصناف ، اي في جدول مستقل ، وهنا لن يتم تغيير السعر على جميع الفواتير السابقة !!! سنعود الى فاتورة الشراء والتي من خلالها سيكون عليك اضافة الأصناف التي تم شرائها لاحقاً !!! صحيح ؟؟ 100% لا شك في هذا .
  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
  15. سلمك الله وعافاك أخي الأستاذ @kkhalifa1960 ،
  16. ليس للـ Check Box علاقة بالأمر ، الأمر هو ان الحقل يحتوي على حروف عربية وانجليزية !!!
  17. هذا يعني أنه لن يكون عليه إدخال الأصناف بفواتير شراء ، وما يترتب عليه عدم الحصول على أرباح أو ضبط الأمور المالية للأرباح والخسائر.... إلخ. أيضاً يعني أنه عند عملية كل بيع وفاتورة بيع ، سيكون عليك ادخال سعر الشراء والبيع بشكل يدوي .. وشوف انت لو لخبطت الدنيا بفاتورة وحدة بعد ما تحفظها 😅 . وجهة نظر غير ملزمة 😇 .
  18. وعليكم السلام ورحمة الله وبركاته .. هذه فكرة مطورة لكود ربط قاعدة بيانات الجداول بشكل آلي من خلال الكود .. جربها وأخبرني بالنتيجة . *نسيت إخبارك بأن النموذج Frm_Start هو النموذج الرئيسي الذي عليك تشغيله ، ثم سيتم تحويلك الى نموذج اختيار قاعدة بيانات الجداول. اعتذر لعدم التوضيح والتركيز ولكن فعلاً ونتيجة لهذا المنخفض الجوي قد أصبت بالإنفلونزا 🤧 . come.zip
  19. وعليكم السلام ورحمة الله وبركاته .. عُمُر آخر مشاركة تقريباً 4 سنوات ، لذا ولمتابعة موضوعك بشكل أفضل ، أنصحك بفتح موضوع جديد والإشارة الى هذا الموضوع اذا أحببت ، متمنياً لك أن تجد إجابتك بأسرع وقت ,,
  20. وعليكم السلام ورحمة الله وبركاته.. سؤال على الهامش لصاحب الموضوع ، لو كنت بعت المروحة دي بسعر الشراء السابق ولنفرض 1100 ، وبعد يومين ارتفع سعرها ولكن انت اشتريتها لنفترض 900 ، وعندك عدد لنفترض 10 قطعة من السعر 900 ( لم يتم بيعها ) ، وجئت بعد 3 ايام واشتريت عدد 12 قطعة بالسعر الجديد 1050 . الآن لديك سعري شراء لمنتج 1 ، فبأي السعرين ستبيع ؟؟؟؟؟ وفيما يتعلق بموضوع الربح كيف سيفهم برنامجك أنك بعت الصنف نفسه بالسعر القديم أو الجديد ليحدد لك هامش الربح ؟؟؟ لذا توجه الى اسم الصنف مثلاً مروحة سقف تورنيدو سعر1 أو ... سعر2 ... أو سعر 3 . مع استخلاص الكمية الأخيرة لكل صنف حتى تعلم كم الباقي منه .... الخ ولاحظ انك عند شراء الصنف بالسعر الجديد سيتم إدخاله بفاتورة شراء جديدة . هذا رأيي وغير ملزم 😇 .
  21. كلامك سليم 100% أستاذنا ومعلمنا الفاضل .. واعتقد ان اخونا عبداللطيف لم يهتم بهذه الجزئية أو يتطرق لها . فمن المفترض ان يكون هناك وقت بين فترة انتهاء الحجز الأول وبداية الحجز الثاني ما لا يقل عن 30 دقيقة كأقل تقدير .. ومن هنا تأتي الفكرة وهي أن يكون هناك مواعيد ثابتة يتم اختيارها من قائمة كومبوبوكس بوكس على سبيل المثال كما تفضلتم سابقاً بدلاً من الاخال اليدوي وجعل الكود يقوم بالبحث عن الفترات المسموحة للحجز .. إلخ
  22. يوجد طريقة (إجابة على سؤالك) ، لكن الطريقة بسيطة وتعتمد على بنية الجدولين والجداول المرتبطة بالجدول الأساسي في القاعدتين .. 😉
  23. هذه الفكرة قمت بضبطها في مثالي المرفق الأخير ، لكنها يبدو أنها لم تكن مطلباً من مطلب أخونا @عبد اللطيف سلوم 😅 .
  24. 👏🏻 اختصار جميل وبسيط يحقق الهدف إذا كانت رغبة أخي @ازهر عبد العزيز هي التحويل من AM الى PM فقط ، ولا يرغب بتطبيق التغيير من PM الى AM على سبيل المثال!! واتنازل عن اختيار الإجابة الأفضل مرشحاً إجابته 🤗 .
×
×
  • اضف...

Important Information