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

Lamyaa

02 الأعضاء
  • Posts

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

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

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

  1. أستاذي الفاضل @أبو إبراهيم الغامدي جزالك الله خيرا .. قلت ما لم أستطع أن أقوله وأجبت فأجدت بارك الله فيك .. بالفعل هو ما كنت أحتاج إلى فهمه وهذا الملف بعد تطبيق فكرتك يعطي نتائج صحيحة (لمن أراد أن يستفيد من الفكرة) تحمل الضريبة.accdb
  2. أستاذي الفاضل @احمد الفلاحجي جزيل الشكر والتقدير لك .. بارك الله فيك مجموع قيمة الخدمة + الضريبة يجب أن يكون نتيجة حاصل ضرب قيمة الخدمة بدون الضريبة * 15% والناتج يجب أن يكون مساويا لقيمة الخدمة قبل تطبيق الضريبة أقدر وأثمن جهودك أستاذي الفاضل .. لك مني خالص الدعاء
  3. السلام عليكم ورحمة الله وبركاته أحد المحلات يقدم خدمات وبعد تطبيق الضرائب قرر المحل أن يتحمل قيمة الضريبة عن الزبائن وبالتالي عليه أن يقسم أجرة الخدمة على حقل قيمة الخدمة و حقل الضريبة ويفترض حينها أن يكون المجموع مساويا لقيمة الخدمة قبل تطبيق الضريبة مثال: قيمة الخدمة قبل تطبيق الضريبة 1000 أريد تقسيم هذا 1000 إلى الحقلين قيمة الخدمة بدون الضريبة وإلى حقل الضريبة حينما فكرت في تطبيق الخصم المباشر من 1000 بمقدار 15% كان الناتج: 1000*0.15 = 150 وبالتالي حقل قيمة الخدمة = 1000 - 150 = 850 حقل الضريبة = 150 المجموع = 1000 ولكن الإشكالية أن الضريبة تطبق على حقل قيمة الضريبة مما يجعل الناتج غير صحيح فحينما أضيف الضريبة سيكون الناتج: 850*0.15 = 127.5 وحينما أجمع هذه الضريبة مع قيمة الخدمة سيكون الناتج 127.5+850 = 977.5 أي أن الناتج مختلف عن قيمة الخدمة قبل تطبيق الضريبة 977.5 <> 1000 في محاولة بائسة قمت بتغيير طريقة احتساب الضريبة الأولية بالضرب في 0.13 ولكن المجموع أصبح بالزيادة .. (يمكن الاطلاع على الملف المرفق) يا الله صداااع هل من طريقة يمكن من خلالها توزيع قيمة الخدمة بحيث يكون مجموع (قيمة الخدمة *0.15 + قيمة الخدمة) مساويا إلى قيمة الخدمة قبل تطبيق الضريبة. لدي إحساس أن الفكرة لن تصل 😞 تحمل الضريبة.accdb
  4. في البدية قم بالتصريح عن المكتبات التالية في بداية النموذج Option Explicit Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Const KEYEVENTF_KEYUP = &H2 وفي كود الزر ضع : 'مثلا أنت تريد Win+M keybd_event 91, 0, 0, 0 keybd_event 77, 0, 0, 0 DoEvents keybd_event 91, 0, KEYEVENTF_KEYUP, 0 keybd_event 77, 0, KEYEVENTF_KEYUP, 0 DoEvents
  5. السلام عليكم ورحمة الله وبركاته ليعمل البرنامج المكتبي من خلال الإنترنت فأنت بحاجة إلى التحويل إلى قواعد بيانات كلاود وهذه تكلفتها عالية لا يقبل بها العميل في الغالب. في حال كان هناك أكثر من فرع فيمكن أن تتم عملية مزامنة بين الفروع والمقر الرئيسي أو ما يسمى في بعض البرامج العالمية (Pulling) وذلك من خلال تسجيل عمليات المبيعات و المشتريات والحركات الأخرى في جداول إضافية يتم مزامنتها من السيرفر الرئيسي (الجهاز الذي تم تثبيت النسخة الأساسية). وللمعلومية في كثير من الأحيان يكون MSSQL Express كافيا. أعتقد أن طريقة ربطك بين النماذج والجداول هي التي تحدد سرعة الاتصال .. طبعا أتكلم عن الشبكة الداخلية أما الإنترنت فالتحول حسب وجهة نظري إلى الويب بيس (سواء باستخدام تقتيات .Net أو PHP) وسيعمل حينها برنامجك من المتصفح وهذا الحل أفضل وأرخص الحلول أما عن سؤالك الثاني: نعم سيحتاج كل فرع أن تثبت نسخة واحدة من سيرفر MSSQL على أحد الأجهزة والبقية يتم ربطهم به. قارن بين قواعد البيانات الأخرى فقد تجد ضالتك في نوع آخر من القواعد مثل SQLite يمكنك الاطلاع على مقارنة بين مشغلات قواعد البيانات المختلفة http://erikej.blogspot.com/2011/01/comparison-of-sql-server-compact-4-and.html
  6. قال أنه قام بربط MySQL بالأكسيس في الويندوز بنجاح ولكنه لم يستطع ربط الأكسيس بقاعدة MySQL في الماك شرح اليوتيوب الذي وضعته هو إلى MSSQL وليس MySQL
  7. برنامج قواعد البيانات ميكروسوفت أكسيس لا يعمل على الماك ! قد يكون السؤال غير واضح
  8. أستاذي الفاضل .. جزيل الشكر والتقدير هو بالفعل ما كنت أحتاجه .. وكل عام وأنتم بخير أستاذي الفاضل .. جزيل الشكر والتقدير على إثراءك الرائع والمفيد كل عام وأنتم بخير .. وتقبل الله طاعاتكم
  9. السلام عليكم ورحمة الله وبركاته أواجه مشكلة في تطبيق فلتر متعدد المعايير، النتيجة تكون غير صحيحة (عدد السجلات المطابقة أقل من الموجود) هذه صورة توضيحية: وهذه هو الكود الذي استخدمه للفلترة: Private Sub cmdFilter_Click() DoCmd.ApplyFilter "", "[ID] Like '*" & [txtID] & "*'" & _ " AND [SName] Like '*" & [txtSName] & "*'" & _ " AND [Gender] Like '*" & [txtGender] & "*'" & _ " AND [A1] Like '*" & [txtA1] & "*'" & _ " AND [A2] Like '*" & [txtA2] & "*'" & _ " AND [A3] Like '*" & [txtA3] & "*'" & _ " AND [A4] Like '*" & [txtA4] & "*'" & _ " AND [A5] Like '*" & [txtA5] & "*'" & _ " AND [A6] Like '*" & [txtA6] & "*'" & _ " AND [A7] Like '*" & [txtA7] & "*'" & _ " AND [A8] Like '*" & [txtA8] & "*'" & _ " AND [A9] Like '*" & [txtA9] & "*'" End Sub مثلا يوجد لدي خمسة سجلات لديها في الحقل A3 قيمة A حينما اضغط زر تطبيق الفلتر يظهر لي سجلين فقط ، حتى لو جعلت جميع الحقول فارغة وطبقت الفلترة لن يظهر إلا سجلين فقط ونفس الشيء بالنسبة إلى الاستعلام لا يظهر لي كل النتائج يظهر لي النتائج للسجلات التي تم تدوين قيم لجميع الحقول فيها المطلوب المساعدة في تعديل كود الفلتر والاستعلام ليظهر النتائج بشكل صحيح وفق المدخلات Filters.accdb
  10. الفكرة جميلة وجديدة علي.. ولكن لاحظت أن هناك صفحة فارغة بين كل تقرير!
  11. عن طريق الشل أنا أستخدمه بهذه الطريقة: Dim wsh As Object Dim str2PDF As String Set wsh = VBA.CreateObject("WScript.Shell") Dim waitOnReturn As Boolean: waitOnReturn = True Dim windowStyle As Integer: windowStyle = 1 str2PDF = "cmd.exe /C 2PDF.exe -src " & Chr$(34) & " C:\Temp4\*.pdf" & Chr$(34) & " -dst " & Chr$(34) & "c:\temp5" & Chr$(34) & " -pdf multipage:append combine:" & Chr$(34) & "اسم الملف التجميعي.pdf" & Chr$(34) & " , windowStyle, waitOnReturn" txtCMD = str2PDF wsh.Run str2PDF بحيث الملفات التي أود دمجها تم حفظها مسبقا في مجلد c:\temp4 ويتم حفظ الملف الناتج في مجلد c:\temp5
  12. أنا استخدم هذه البرنامج لدمج التقارير عن طريق سطر الأوامر بعد التصدير https://www.cmd2pdf.com/
  13. الصعايدة يفوزون قوي قوي ما شاء الله عليكم حقيقة أنا ممتنة للجميع على مشاركاتهم في الموضوع وإثراءه بهذا الشكل الرائع فلكم مني أطيب المنى تعلمت منكم الكثير فبارك الله فيكم 🎉
  14. ما شاء الله يا أبا جودي .. كعادتك تبلور الأفكار وتخرج بالخلاصة .. بارك الله فيك ونفع بك 🌹 😁😂 سرني تواجدكم فكرة رائعة وهي تؤدي المطلوب بشكل رائه .. فلك مني جزيل الشكر والتقدير 🌹
  15. الفكرة تعمل بشكل ممتاز .. جزيل الشكر والتقدير على مجهودك أستاذي الفاضل الطريقة التي ذكرتها أفادتني كثيرا .. بسيطة وعملية .. لك جزيل الشكر والتقدير 🌹
  16. الفكرة أستاذي ليست في جعل المتغير عاما أو خاصاً .. الفكرة كيف أمرر هذا المتغير على هذا السطر البرمجي: ففي الحالة العادية يتم كتابة اسم التقرير مباشرة Reports![rptStudents].Report.RecordSource = "qryStudents2" ولكن في حال كان اسم التقرير متغيير بناء على تغير المعطيات فكيف يمكن تمرير هذا المتغير على السطر التالي: Reports![X].Report.RecordSource = "qryStudents2"
  17. فكرة تغيير اسم التقرير رائعة في حال كانت التقرير ذا تصميم واحد، ولكن في حالة كان التقرير مختلف فلن ينفع
  18. أستاذي الفاضل جزيل الشكر والتقدير على تفاعلكم يبدو أنني لم أوفق في شرح المطلوب بشكل جيد يوجد لدي عدة تقارير : rptStudents, rptStudents3, rptStudents5, rptStudents6,... etc مصدر البيانات لهذه التقارير إما qryStudents1 أو qryStudents2 اسم التقرير المراد فتحه مكتوب في حقل نصي Me.txtReportName (يتك كتابة اسم التقرير آليا عند تغيير ComboBox) أقوم بفتح التقارير من نموذج من خلال الكود التالي: 'قمت بتعريف متغير لتخزين اسم التقرير فيه Dim strReportName As String strReportName = Me.txtReportName ' سأقوم بفتح التقرير بناء على الاسم الموجود في المتغير DoCmd.OpenReport strReportName, acViewReport ' والآن أريد أن أمرر مصدر البيانات للتقرير الذي تم تحديده (أي تقرير) وأن أجعل مصدره هو الاستعلام qryStudents1: Reports![ct17R2].Report.RecordSource = "qryStudents1" أي أنني سأحتاج تغيير اسم التقرير الذي لونته بالأحمر. وسأقوم بتطبيق الخطوات كلها في نموذج آخر frmStudents2 ولكن سيتغير مصر الاستعلام إلى استعلام آخر Reports![ct17R2].Report.RecordSource = "qryStudents2" آملأن أكون قد استطعت توضيح المطلوب جزيل الشكر على تفاعلك لا أقصد تغيير عنوان التقرير إنما اسم التقرير قبل تغيير مصدره .. كما أشرت أنني ربما لم أوفق في شرح المطلوب وبينته في تعقيبي السابق ..
  19. السلام عليكم ورحمة الله وبركاته كيف أجعل اسم التقرير متغير (الملون بالأحمر) كيف استخدم المتغير strReportName بدلا عن اسم التقرير "ct17R2" Dim strReportName As String strReportName = Me.ReportName ' فتح التقرير DoCmd.OpenReport strReportName, acViewReport ' تغيير مصدر التقرير برمجيا Reports![ct17R2].Report.RecordSource = "qryStudents"
  20. أيضا يمكن التحقق من حالة زر Num Lock وإعادتها إذا تم اطفاؤها. Private Declare PtrSafe Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer Private Const VK_NUMLOCK = &H90 If GetKeyState(VK_NUMLOCK) = 0 Then SendKeys "{NUMLOCK}", True End If
  21. بعد استخدامك إلى SendKeys "{UP}", True اضف : Sendkeys "{NUMLOCK}", True
  22. خذ نسخة احتياطية من قاعدة البيانات أعد تسمية امتداد ملف قاعدة البيانات إلى mdb بعدها يمكنك تطبيق الحماية بعد الانتهاء قم بإعادة تسمية امتداد القاعدة إلى accdb
  23. أستاذ جعفر شكر لتعقيبك الطريقة الأولى لم تنفع معي وقد جربتها منذ البداية فهي تظهر لي خطأ في الاستعلام، أما الطريقة الثانية فلم تعمل وتظهر اسم الحقل بدلا عن العنوان .. أرجو منك التجريب على استعلام وليس جدول فهو يعمل على الجدول بشكل صحيح ولكن على الاستعلام لا يقوم بإظهار العناوين.
×
×
  • اضف...

Important Information