-
Posts
3001 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
117
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
أخي @محسن خليل .. أعتقد أن هناك تكرار في جلب قيمة [EMP_ID] مرتين. وأخبرنا ما هو الهدف من النقر على الحقل Name ؟؟ ثم سأنصحك نصيحة من أخوك أن تحاول الابتعاد عن الأسماء المحجوزة للنظام ومنها Name,Date,From .... الخ
-
استفسار: ضغط قاعدة البيانات واصلاحها
Foksh replied to Omar Abdulrahman's topic in قسم الأكسيس Access
بالنسبة لي:- لكل شيء إيجابيات وسلبيات ، فالهدف من الضغط والإصلاح هو تحسين الأداء ، تقليل المساحة وحجم قاعدة البيانات ، إصلاح الأخطاء . إلا أنني انصح بالنسخة الاحتياطية دائماً ، وعمل ضغط وإصلاح قاعدة البيانات أثناء عدم استخدامها إن كانت مشتركة أو مستخدمة من قبل أكثر من مستخدم .. وأيضاً عدم استخدام هذا الأمر بشكل متكرر . هذا رأيي و وجهة نظري 😊 -
اخي الكريم أنا استخدمت الدالة Select Case لأننا كنا سنتعامل مع متغير واحد له العديد من القيم المحتملة كما في حالتك أعلاه .. والمتغير الذي قصدته هنا هو الكومبوبوكس وكان بالإمكان استخدام الدالة الشرطية If ولكني أعتقد - ومن وجهة نظري - أنها تستخدم للحالات المعقدة أو التي تحتوي شروط كثيرة أو في تقييم عدة متغيرات أو شروط مركبة.
-
بالنسبة للجملة الشرطية ، تبدو صحيحة ، ما لك تقم بإرفاق ملف وتوضيح ما الخطأ الذي ينتج عنها !!
-
أخي العزيز 2saad .. متمنياً لك أن تجد الإجابة بكل سهولة دائماً ، ولكن أرجو منك مستقبلاً الإهتمام بالعنوان ليكون واضحاً وله دلالة على الموضوع . ارسل مرفقك ليكون واضحاً الخطأ الذي تتحدث عنه ،
-
هل يمكن لقيمة مثل العام الدراسي في النموذج ليظهر في التقرير
Foksh replied to ahmed draz's topic in قسم الأكسيس Access
تفضل يا صديقي ، استخدم هذا الكود في التقرير عند الفتح Me.Text121 = Year(Date) عدم تجاوز التسلسل.accdb هكذا سيتم تغيير السنة حسب التاريخ -
لا اعتقد أن اكسيس يدعم هذه الميزة !!! إلا إن كان صورة يتم ادراجها داخل التقرير ,,
-
ولا يهمك يا دكتور ،، وهذا دليل على بل أخلاقك وطيب معدنك .. لا داعي للإعتذار صدقني ، والحمد لله على هذه النعمة التي أوتينا منها قليلا
-
تعديل علي برنامج لعرض ملفات pdf بدلا من jpg
Foksh replied to محمود _ المصري's topic in قسم الأكسيس Access
تفضل أخي @محمود _ المصري ، ملفك بعد التعديل Downloads.zip ولكن حتى تتوضح الأفكار لديك ، ليتم عرض ملفات الـ PDF في النموذج ؛ يجب أن يكون لديك برنامج Acrobat Reader !!! هذا من وجهة نظري -
أعادة تسمية مجموعة كائنات دفعة واحدة بتسمية تسلسلية
Foksh replied to Foksh's topic in قسم الأكسيس Access
اهلا مهندسنا الغالي ، خانتني ذاكرتي في هذا الموضوع فعلاً ، فلو بحثت عنه لساعدني أيضاً في طلبي 🥺 بارك الله فيك وجزاك الله كل خير 🥰 -
أعادة تسمية مجموعة كائنات دفعة واحدة بتسمية تسلسلية
Foksh replied to Foksh's topic in قسم الأكسيس Access
كلام سليم 100% ، أشكرك معلمي الفاضل ، 10000% المطلوب بعينه 👍 -
السلام عليكم ورحمة الله وبركاته ، لدي في النموذج المرفق 100 زر تمت تسميتها حسب تسمية آكسيس Command ويتبعها رقم كمثال Command335 ,, اريد فكرة لإعادة تسميتها مرة واحدة بتسلسل ونمط محددين ، كمثال :- بدلاً من Command أريدها Foksh1 , Foksh2 , Foksh3 .... Foksh100 وهكذا . فهل من أفكار تساعد في تنفيذ المطلوب ؟؟ مع العلم أن الهدف تغيير اسم الازرار التي تحتوي اسمائها على Command وليس كل الأزرار بشكل عام ؟؟؟؟ Rename.accdb
-
-
هل قمت بتحميل آخر مرفق في مشاركتي الأخيرة ؟؟؟؟؟؟ https://www.officena.net/ib/applications/core/interface/file/attachment.php?id=230011&key=82ec48622ab73edbcdc75988d22d14c5 الدالة DCount تعيد القيمة 0 تلقائياً اذا كان الجدول فارغاً !!!
-
طبعاً صديقي @الحلبي ، تستطيع الاستغناء عن الاستعلامات الثلاثة ، هي فقط للتأكد من الاحصاء وضبط العدد ، يعني فقط الكود الذي في النموذج يخدم هدفك على ما أعتقد . جرب هذا ,, علي أكون قد فهمت صح هههههه التوريد - Copy.accdb
-
جرب التعديل بعد ازالة اسم الصنف كشرط التوريد.accdb
-
هذه الجملة تنفي هذه الجملة في طلبك 😂
-
الأكواد الثلاثة هي استعلامات SQL موجودة باسماء Query1 , Query2 , Query3 .. وضعت الكود في وظيفة مستقلة واستدعيتها في حدث بعد التحديث لمربعات النص الثلاثة في النموذج .
-
صديقي الدكتور @الحلبي ،، وعليكم السلام ورحمة الله وبركاته ،، مع أني دخلت في دوامة لحتى أفهم المطلوب 😄 ، لكن دعنا بداية نخطو خطوة خطوة .. بدايةً لازم نبدأ باستعلام يسترجع لنا جميع التوريدات الموجودة وبنفس الوقت يحسب عدد التوريدات لكل اسم صنف ونوع توريد في نفس اليوم. ونشوف الاستعلام التالي إن كان فعلاً سيسترجع المطلوب أم لا :- 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
-
أخي @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
-
كود لمنع طباعة الصفحات الخالية من البيانات عند طباعة التقرير
Foksh replied to ahmed draz's topic in قسم الأكسيس Access
جرب فكرتي هذه أخي @ahmed draz ،، 1.zip -
أخي الكريم @Mohamed Abo Elala ، الى أن استوعبت الأكواد خرجت بهذه النتيجة ، ولا أعلم إن كانت تخدم فكرتك .. قمت بتعديلات بسيطة على الوظائف التي في المديول الذي يظهر رسائل التنبيه ، واضطررت لإيقافها والإستعاضة عنها بعدد التنبيهات وعرض النتائج في List Box في نموذج الواجهة . ولك حرية التعديل طبعاً ، تفضل . سجل المحضرين.zip
-
أخي الكريم ، تفضل أن كان هذا طلبك .. استخدم الكود التالي في حدث بعد التحديث للكومبوبوكس كما يلي .. Select Case Me.vool.Value Case "كشف حساب" DoCmd.OpenReport "aa1", acViewPreview Case "كشف اجمالي الديون" DoCmd.OpenReport "a2", acViewPreview Case Else MsgBox "يرجى اختيار تقرير لطباعة", vbExclamation End Select طبعاً تستطيع الاضافة والتغيير كما تريد .. Database10.accdb