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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    117

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

  1. أخي @محسن خليل .. أعتقد أن هناك تكرار في جلب قيمة [EMP_ID] مرتين. وأخبرنا ما هو الهدف من النقر على الحقل Name ؟؟ ثم سأنصحك نصيحة من أخوك أن تحاول الابتعاد عن الأسماء المحجوزة للنظام ومنها Name,Date,From .... الخ
  2. بالنسبة لي:- لكل شيء إيجابيات وسلبيات ، فالهدف من الضغط والإصلاح هو تحسين الأداء ، تقليل المساحة وحجم قاعدة البيانات ، إصلاح الأخطاء . إلا أنني انصح بالنسخة الاحتياطية دائماً ، وعمل ضغط وإصلاح قاعدة البيانات أثناء عدم استخدامها إن كانت مشتركة أو مستخدمة من قبل أكثر من مستخدم .. وأيضاً عدم استخدام هذا الأمر بشكل متكرر . هذا رأيي و وجهة نظري 😊
  3. اخي الكريم أنا استخدمت الدالة Select Case لأننا كنا سنتعامل مع متغير واحد له العديد من القيم المحتملة كما في حالتك أعلاه .. والمتغير الذي قصدته هنا هو الكومبوبوكس وكان بالإمكان استخدام الدالة الشرطية If ولكني أعتقد - ومن وجهة نظري - أنها تستخدم للحالات المعقدة أو التي تحتوي شروط كثيرة أو في تقييم عدة متغيرات أو شروط مركبة.
  4. بالنسبة للجملة الشرطية ، تبدو صحيحة ، ما لك تقم بإرفاق ملف وتوضيح ما الخطأ الذي ينتج عنها !!
  5. أخي العزيز 2saad .. متمنياً لك أن تجد الإجابة بكل سهولة دائماً ، ولكن أرجو منك مستقبلاً الإهتمام بالعنوان ليكون واضحاً وله دلالة على الموضوع . ارسل مرفقك ليكون واضحاً الخطأ الذي تتحدث عنه ،
  6. تفضل يا صديقي ، استخدم هذا الكود في التقرير عند الفتح Me.Text121 = Year(Date) عدم تجاوز التسلسل.accdb هكذا سيتم تغيير السنة حسب التاريخ
  7. لا اعتقد أن اكسيس يدعم هذه الميزة !!! إلا إن كان صورة يتم ادراجها داخل التقرير ,,
  8. ولا يهمك يا دكتور ،، وهذا دليل على بل أخلاقك وطيب معدنك .. لا داعي للإعتذار صدقني ، والحمد لله على هذه النعمة التي أوتينا منها قليلا
  9. تفضل أخي @محمود _ المصري ، ملفك بعد التعديل Downloads.zip ولكن حتى تتوضح الأفكار لديك ، ليتم عرض ملفات الـ PDF في النموذج ؛ يجب أن يكون لديك برنامج Acrobat Reader !!! هذا من وجهة نظري
  10. اهلا مهندسنا الغالي ، خانتني ذاكرتي في هذا الموضوع فعلاً ، فلو بحثت عنه لساعدني أيضاً في طلبي 🥺 بارك الله فيك وجزاك الله كل خير 🥰
  11. كلام سليم 100% ، أشكرك معلمي الفاضل ، 10000% المطلوب بعينه 👍
  12. السلام عليكم ورحمة الله وبركاته ، لدي في النموذج المرفق 100 زر تمت تسميتها حسب تسمية آكسيس Command ويتبعها رقم كمثال Command335 ,, اريد فكرة لإعادة تسميتها مرة واحدة بتسلسل ونمط محددين ، كمثال :- بدلاً من Command أريدها Foksh1 , Foksh2 , Foksh3 .... Foksh100 وهكذا . فهل من أفكار تساعد في تنفيذ المطلوب ؟؟ مع العلم أن الهدف تغيير اسم الازرار التي تحتوي اسمائها على Command وليس كل الأزرار بشكل عام ؟؟؟؟ Rename.accdb
  13. هل قمت بتحميل آخر مرفق في مشاركتي الأخيرة ؟؟؟؟؟؟ https://www.officena.net/ib/applications/core/interface/file/attachment.php?id=230011&key=82ec48622ab73edbcdc75988d22d14c5 الدالة DCount تعيد القيمة 0 تلقائياً اذا كان الجدول فارغاً !!!
  14. طبعاً صديقي @الحلبي ، تستطيع الاستغناء عن الاستعلامات الثلاثة ، هي فقط للتأكد من الاحصاء وضبط العدد ، يعني فقط الكود الذي في النموذج يخدم هدفك على ما أعتقد . جرب هذا ,, علي أكون قد فهمت صح هههههه التوريد - Copy.accdb
  15. جرب التعديل بعد ازالة اسم الصنف كشرط التوريد.accdb
  16. هذه الجملة تنفي هذه الجملة في طلبك 😂
  17. الأكواد الثلاثة هي استعلامات SQL موجودة باسماء Query1 , Query2 , Query3 .. وضعت الكود في وظيفة مستقلة واستدعيتها في حدث بعد التحديث لمربعات النص الثلاثة في النموذج .
  18. صديقي الدكتور @الحلبي ،، وعليكم السلام ورحمة الله وبركاته ،، مع أني دخلت في دوامة لحتى أفهم المطلوب 😄 ، لكن دعنا بداية نخطو خطوة خطوة .. بدايةً لازم نبدأ باستعلام يسترجع لنا جميع التوريدات الموجودة وبنفس الوقت يحسب عدد التوريدات لكل اسم صنف ونوع توريد في نفس اليوم. ونشوف الاستعلام التالي إن كان فعلاً سيسترجع المطلوب أم لا :- SELECT Main.nume, Main.typtest, Main.bookingdate, Count(*) AS num_of_supplies FROM Main GROUP BY Main.nume, Main.typtest, Main.bookingdate; وبعدين هنحاول نستخدم دالة العد DCount علشان نحسب عدد التوريدات السابقة من نفس النوع والصنف والتاريخ ، وبعدها يتم تعيين الرقم الصحيح للتوريد الحالي بإضافة الرقم 1 للعدد السابق ، ونجرب على الاستعلام التالي :- SELECT a.nume, a.typtest, a.bookingdate, (SELECT COUNT(*) FROM Main AS b WHERE b.nume = a.nume AND b.typtest = a.typtest AND b.bookingdate = a.bookingdate AND b.k < a.k)+1 AS k FROM main AS a; الآن علشان نحدث قيمة الحقل K في الجدول Main بقيمة رقم التوريد الجديدة لكل صنف ونوع وتاريخ ، نستخدم استعلام تحديث البسيط ده . وطبعاً استثنيت القيم الفارغة ، ونجرب :- UPDATE Main SET k = (SELECT COUNT(*) FROM SupplyTable AS b WHERE b.nume = Main.nume AND b.typtest = Main.typtest AND b.bookingdate = Main.bookingdate AND b.k <= SupplyTable.k) WHERE Main.k IS NULL; الآن في النموذج Main اختر اي حدث تريده ونحط الكود التالي لإضافة القيمة في مربع النص K برقم التوريد الجديد بناءً على القيم الموجودة في مربعات النص (nume و typtest و bookingdate) :- Dim newK As Integer newK = DCount("*", "SupplyTable", "nume='" & Me.nume & "' AND typtest='" & Me.typtest & "' AND bookingdate=#" & Me.bookingdate & "#") + 1 Me.k = newK حيث تم حجز متغير رقمي واسميته كمثال newK يقوم بعد القيم لرقم التوريد الجديد . التوريد.accdb
  19. أخي @jo_2010 ، جرب هذا الكود ؟؟ مع العلم أن كود الأستاذ @سامي الحداد يعمل بنجاح بعد تجربتي له ، ولكنني أعتقد أنك تواجه مشكلة في حذف ملفات الـ PDF خصوصاً .. والسبب هو أن برنامج Acrobat Reader يعمل في الخلفية في الويندوز لديك وهو بدوره يقوم بفتح الملف عنط طريقه كوسيط في النموذج لديك ، وبذلك فأنت تحاول حذف ملف محجوز ومفتوح ومشغول من قبل مستخدم آخر . وطبعاً في حال تم اغلاق البرنامج الوسيط فإنه لا يمكنك عرض ملفات الـ PDF في النموذج إلا بعد عمل إعادة تشغيل للويندوز . طبعاً هذا من وجهة نظري ، والله أعلم Private Sub Del_Click() On Error GoTo ErrHandler If IsNull(Me.MyList) Then MsgBox "يجب اختيار الملف أولاً" & vbNewLine & vbNewLine & "اختـار اسـم الملـف من القائمـة", vbCritical + vbMsgBoxRight, "تنبيه" Exit Sub End If Dim sSQL As String Dim FLS_Path As String Dim FDS_path As String Dim MainFolderPath As String Dim fso As Object Dim FileCount As Integer Dim FolderCount As Integer FLS_Path = DLookup("[Attachment_Path]", "[tbl_AttachmentList]", "[Attachment_NO]=[forms]![Attacheds]![MyList]") If FLS_Path = "" Then MsgBox "لم يتم العثور على الملف المحدد", vbCritical + vbMsgBoxRight, "خطأ" Exit Sub End If FDS_path = Left(FLS_Path, InStrRev(FLS_Path, "\") - 1) MainFolderPath = Left(FDS_path, InStrRev(FDS_path, "\") - 1) If MsgBox("هل تريد حذف المرفق؟", vbYesNo + vbMsgBoxRight + vbCritical) = vbYes Then Set fso = CreateObject("Scripting.FileSystemObject") Me.Show_Files.SourceObject = "" If fso.FileExists(FLS_Path) Then fso.DeleteFile FLS_Path, True Else MsgBox "الملف المحدد غير موجود أو قد تم حذفه مسبقاً.", vbExclamation + vbMsgBoxRight, "خطأ" Exit Sub End If Set DB = CurrentDb sSQL = "DELETE FROM tbl_AttachmentList WHERE [Attachment_NO]= " & Me.MyList DB.Execute sSQL FileCount = 0 FolderCount = 0 If fso.FolderExists(FDS_path) Then Dim file As Object Dim subFolder As Object For Each file In fso.GetFolder(FDS_path).Files FileCount = FileCount + 1 Next file For Each subFolder In fso.GetFolder(FDS_path).SubFolders FolderCount = FolderCount + 1 Next subFolder If FileCount = 0 And FolderCount = 0 Then fso.DeleteFolder FDS_path, True End If End If FileCount = 0 FolderCount = 0 If fso.FolderExists(MainFolderPath) Then For Each file In fso.GetFolder(MainFolderPath).Files FileCount = FileCount + 1 Next file For Each subFolder In fso.GetFolder(MainFolderPath).SubFolders FolderCount = FolderCount + 1 Next subFolder If FileCount = 0 And FolderCount = 0 Then fso.DeleteFolder MainFolderPath, True End If End If MsgBox "تم حذف المرفق بنجاح", vbInformation + vbMsgBoxRight, "تأكيد" Me.MyList.Requery End If Exit Sub ErrHandler: MsgBox "حدث خطأ: " & Err.Description, vbCritical, "خطأ" End Sub
  20. أخي الكريم @Mohamed Abo Elala ، الى أن استوعبت الأكواد خرجت بهذه النتيجة ، ولا أعلم إن كانت تخدم فكرتك .. قمت بتعديلات بسيطة على الوظائف التي في المديول الذي يظهر رسائل التنبيه ، واضطررت لإيقافها والإستعاضة عنها بعدد التنبيهات وعرض النتائج في List Box في نموذج الواجهة . ولك حرية التعديل طبعاً ، تفضل . سجل المحضرين.zip
  21. أخي الكريم ،، بالنسبة للعنوان "من التقرير والاستعلام من شريط الادوات " الاستعلام من التقرير يكون حصراً مصدر بيانات لهذا التقرير ,, أما الإستعلام الذي أشرت اليه في الصورة الأولى ، فهو استعلام عام تستطيع استخدامه في نموذج أو تقرير آخر أو أينما تريد اظهار البيانات . هذه وجهة نظري 😊
  22. أخي الكريم أولا أين النموذج frmNavi ؟؟؟ ثانياً ، هلا حددت لنا اين النموذج الذي يحتوي النموذج الفرعي لتنفيذ طلبك ، ولكن اعذرني لحين الوصول الى المنزل لتكون قد أوضحت لنا النموذج الهدف !!!!
  23. أخي الكريم ، تفضل أن كان هذا طلبك .. استخدم الكود التالي في حدث بعد التحديث للكومبوبوكس كما يلي .. Select Case Me.vool.Value Case "كشف حساب" DoCmd.OpenReport "aa1", acViewPreview Case "كشف اجمالي الديون" DoCmd.OpenReport "a2", acViewPreview Case Else MsgBox "يرجى اختيار تقرير لطباعة", vbExclamation End Select طبعاً تستطيع الاضافة والتغيير كما تريد .. Database10.accdb
×
×
  • اضف...

Important Information