-
Posts
1176 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
16
منتصر الانسي last won the day on ديسمبر 7
منتصر الانسي had the most liked content!
السمعه بالموقع
245 Excellentعن العضو منتصر الانسي

البيانات الشخصية
-
Gender (Ar)
ذكر
-
Job Title
موظف
-
البلد
اليمن
اخر الزوار
4076 زياره للملف الشخصي
-
منتصر الانسي started following فتح التقرير عن طريق البدياف داخل النموذج و عند إغلاق النموذج يحدث هذا الخطأ....
-
عند إغلاق النموذج يحدث هذا الخطأ....
منتصر الانسي replied to BRAHIM Ben aissa's topic in قسم الأكسيس Access
من كلامك هذا اعتقد أنك قمت بتغيير الجهاز ويمكن أن تكون المشكلة مرتبطة بلغة النظام لأن المشكلة لم تظهر عندي انا ايضاً -
فتح التقرير عن طريق البدياف داخل النموذج
منتصر الانسي replied to بلال اليامين's topic in قسم الأكسيس Access
قم بنسخ الكود التالي ولصقه في أي وحدة نمطية Public Function ReportExists(rptName As String) As Boolean Dim obj As AccessObject For Each obj In CurrentProject.AllReports If obj.Name = rptName Then ReportExists = True Exit Function End If Next obj ReportExists = False End Function بهذا سيتم حل المشكلة التي تسبب الخطأ الظاهر في الصورة الثانية لا أدري إذا ما سيتم حل المشكلة الظاهرة بالصورة الأولى أم لا ولكن جرب ورد علينا بالنتيجة تحياتي -
Version 1.0.0
39 تنزيل
اليوم أقدم لكم أداة أعتقد أن الجميع يحتاجها والحقيقة أن هذه الأداة هي في الأصل عبارة عن أداتين كلا منها يؤدي وظيفة مستقلة لكنهما يتكاملان مع بعضهما لتقومان بجميع الوظائف المرتبطة بتخصيص طرق عرض وطباعة التقارير من حيث تخصيص حجم الورق وإتجاه الورقة ونوع الطابعة ومربع حوار الطباعة .... إلخ وظيفة الأداة الأولى - إنشاء قائمة مختصرة لطباعة التقارير - إظهار مربع حوار مخصص للطباعة وظيفة الأداة الثانية - إنشاء مايشبه القوالب الخاصة بمعاينة وطباعة التقارير بحيث يتم ربط كل تقرير بحجم الورق والطابعة وطريقة العرض الخاصة به - سيتم الإستغناء عن أمر معاينة وطباعة التقارير فبدلاً عن هذه الصيغة DoCmd.OpenReport "ReportName", ViewMode, , strCriteria, OpenArgs سيتم إستخدام هذا الصيغة MyOpenReport "ReportName", ViewMode, ReportTypeID, strCriteria, OpenArgs, NoMargins حيث نلاحظ أن الصيغتين لها نفس المعلمات مع إضافة معلنتين إضافينين هما - ReportTypeID وتمثل رقم السجل الخاص بالقالب في جدول القوالب - NoMargins معلمة خاصة بتجاهل الهوامش (سيتم توضيح عملها ضمن المثال التوضيحي) أخيراً مرفق لكم مجلد يحتوي على مايلي 1- مثال عملي شامل يوضح عمل الأداتين معاً 2- مجلد فرعي خاص بكل أداة يشمل مثال توضيحي لطريقة الإستفادة من الأداة وقالب يحتوي على الكائنات الأساسية لكل أداة في الأخير أتمنى من الجميع تجربة الأداة وإبداء إي ملاحظات تحياتي -
اعرض الملف بهذه الأداة سيتم تخصيص طريقة عرض وطباعة التقارير {سلسلة الأدوات المساعدة المخصصة} اليوم أقدم لكم أداة أعتقد أن الجميع يحتاجها والحقيقة أن هذه الأداة هي في الأصل عبارة عن أداتين كلا منها يؤدي وظيفة مستقلة لكنهما يتكاملان مع بعضهما لتقومان بجميع الوظائف المرتبطة بتخصيص طرق عرض وطباعة التقارير من حيث تخصيص حجم الورق وإتجاه الورقة ونوع الطابعة ومربع حوار الطباعة .... إلخ وظيفة الأداة الأولى - إنشاء قائمة مختصرة لطباعة التقارير - إظهار مربع حوار مخصص للطباعة وظيفة الأداة الثانية - إنشاء مايشبه القوالب الخاصة بمعاينة وطباعة التقارير بحيث يتم ربط كل تقرير بحجم الورق والطابعة وطريقة العرض الخاصة به - سيتم الإستغناء عن أمر معاينة وطباعة التقارير فبدلاً عن هذه الصيغة DoCmd.OpenReport "ReportName", ViewMode, , strCriteria, OpenArgs سيتم إستخدام هذا الصيغة MyOpenReport "ReportName", ViewMode, ReportTypeID, strCriteria, OpenArgs, NoMargins حيث نلاحظ أن الصيغتين لها نفس المعلمات مع إضافة معلنتين إضافينين هما - ReportTypeID وتمثل رقم السجل الخاص بالقالب في جدول القوالب - NoMargins معلمة خاصة بتجاهل الهوامش (سيتم توضيح عملها ضمن المثال التوضيحي) أخيراً مرفق لكم مجلد يحتوي على مايلي 1- مثال عملي شامل يوضح عمل الأداتين معاً 2- مجلد فرعي خاص بكل أداة يشمل مثال توضيحي لطريقة الإستفادة من الأداة وقالب يحتوي على الكائنات الأساسية لكل أداة في الأخير أتمنى من الجميع تجربة الأداة وإبداء إي ملاحظات تحياتي صاحب الملف منتصر الانسي تمت الاضافه 12/06/25 الاقسام قسم الأكسيس
-
وكمعلومة إضافية في مثال الاخ @محمد التميمي يمكنك الحصول على رقم أي قرص غير الـ C بإستبدال الحرف C بالحرف المطلوب SerialNumber = CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber تحياتي
-
💡 دعوة لتجربة حماية الجداول من الإستيراد 💡
منتصر الانسي replied to Foksh's topic in قسم الأكسيس Access
اخي العزيز @محب العقيدة من خلال إطلاعي على ماجاء في المحادثة فإن الطريقة التي يعتمدها هي وهذا معناه شيئين اولاً الإعتماد على حقول نوع OLE أو Attachment لحفظ البيانات وهذا سيؤدي إلى تضخم حجم قاعدة البيانات بصورة كبيرة حتى ولو لم تحتوي إلا على بيانات قليلة ثانيا بهذه الطريقة سنفرغ قاعدة البيانات من مفهومها الرئيسي وهو الترميز والعلاقات لضمان تنظيم البيانات عدم تكرار البيانات الغير ضرورية فالذي يتم هنا هو أنه يتم أخذ بيانات السجل وتقسيمها إلى أجزاء وحفظها كـ xml دون مراعاة لقواعد التحقق من صحة البيانات وتكرارها بالإضافة إلى كل ماسبق فإن آلية العمل مشكوك فيها فإذا كنت قد شغلت الإجراء Test مرة وأفادني بالفعل أنه تم حفظ الكميات 8. المخزون الحالي: - أرز: 80 كيس - سكر: 50 كيس فيفترض أنه اصبح لدي بالفعل صنف بإسم أرز وصنف بإسم سكر الآن لو قمت بحذف أو تعليق الاسطر الخاصة بإنشاء الأصناف وهي ' 2. إضافة مواد Debug.Print "2. إضافة مواد جديدة..." itemID1 = itemsMgr.AddItem("أرز", "RICE001", "كيس", 10, 50, "أرز هندي") If itemID1 > 0 Then Debug.Print " ? تمت إضافة: أرز - ID: " & itemID1 End If itemID2 = itemsMgr.AddItem("سكر", "SUGAR001", "كيس", 5, 45, "سكر أبيض") If itemID2 > 0 Then Debug.Print " ? تمت إضافة: سكر - ID: " & itemID2 End If Debug.Print "" ' 3. حفظ المواد Debug.Print "3. حفظ المواد..." If itemsMgr.Save Then Debug.Print " ? تم حفظ المواد بنجاح" End If Debug.Print "" وقمت بتعديل الكميات في إجراءات الاضافة والتنزيل (او حتى بدون تعديلات) ستظهر لي الرسالة التالية وهذا معناه أنه قد نسي أنه تم حفظ الصنفين هذه هي ملاحظاتي السريعة على ماجاء في مشاركتك ان شاء الله تكون ملاحظات مفيدة تحياتي -
💡 دعوة لتجربة حماية الجداول من الإستيراد 💡
منتصر الانسي replied to Foksh's topic in قسم الأكسيس Access
بسيطة إستخدم هذا الإستعلام من أي قاعدة بيانات أخرى SELECT MSysObjects.Flags, MSysObjects.Name, MSysObjects.Type FROM MSysObjects IN 'D:\HideTBL V1-64.accde' WHERE ( ((MSysObjects.Name) NOT LIKE "MSys*") AND ((MSysObjects.Type) = 1) ); وذلك على إفتراض أن الملف موجود تحت القرص D مباشرة وإلا قم بتعديل المسار تحياتي -
💡 دعوة لتجربة حماية الجداول من الإستيراد 💡
منتصر الانسي replied to Foksh's topic in قسم الأكسيس Access
ماذا تقصد بغير متاحة ؟ - إن كنت تقصد بإنها مؤمنة بكلمة سر فأنت تعلم بأنه يمكن كسر هذا التأمين بسهولة - وإن كنت تقصد تأمين قاعدة البيانات عن طريق الكود بحيث أننا لن نستطيع فتحها عن طريق مفتاح Shift فيمكننا تنفيذ الاستعلام من أي قاعدة بيانات أخرى - وإذا تقصد أنك ستقوم بإخفاء قاعدة البيانات هذه للدرجة التي لايمكن أن يصل إليها أحد فأعتقد أن هذا هو أقوى تأمين ولن نحتاج للقلق من الوصول إلى البيانات داخلها فهل فكرتك هي ضمن هذه الحالات أم أن لديك فكرة أخرى؟ -
كود طباعة تقرير مع تحديد عدد النسخ
منتصر الانسي replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
لو رجعنا لتعليمات مايكروسوفت بخصوص الامر DoCmd.PrintOut على هذا الرابط سنجد أن صيغة هذا الأمر هي كالتالي DoCmd.PrintOut (PrintRange, PageFrom, PageTo, PrintQuality, Copies, CollateCopies) نلاحظ أنه يحتوي على المعلمة (Copies) والتي نحدد فيها عدد النسخ ولكن مع الأسف لا تعمل بشكل صحيح ولا ادري إذا ما كانت هذه المشكلة مرتبطة بنسخة الاوفيس لدي أم انها مشكلة عامة حبيت اوضح هذه النقطة لتجربتها فإذا عملت لديكم كان بها وإلا فإن طريقة الاخ @Foksh قامت بمعالجة المشكلة تحياتي -
💡 دعوة لتجربة حماية الجداول من الإستيراد 💡
منتصر الانسي replied to Foksh's topic in قسم الأكسيس Access
انا طريقتي تختلف عن الاخوان حيث قمت بإظهار الجدول نفسه كما بالصورة وللقيام بذلك قم بتنفيذ الخطوات كالتالي 1- إنسخ الملف تحت القرص D مباشرة (يمكن نسخه إلى أي مكان ولكن هكذا سيكون المسار قصير) 2- إفتح الملف وقم بإنشاء الاستعلام التالي (هذه الخطوة غير مهمة لكم لإني سبق واستخرجت قيمة العمود المطلوب ووضعتها في الكود ولكني ذكرتها للتعرف على الخطوات) SELECT MSysObjects.Flags, MSysObjects.Name, MSysObjects.Type FROM MSysObjects WHERE ( ((MSysObjects.Name) NOT LIKE "MSys*") AND ((MSysObjects.Type) = 1) ); من خلال هذا الاستعلام سنتعرف على أي جدول Type=1 ولايبدأ بالأحرف MSys لتظهر لنا النتيجة كما بالصورة مايهمنا هنا هي قيمة العمود الأول Flags بعد ذلك قم بإغلاق التطبيق بدون حفظ اي شيء 3- إفتح أي قاعدة بيانات أخرى (سواء قاعدة بيانات فارغة أو مستخدمة لايهم) وفي أي وحدة نمطية (جديدة أو فيها اكواد لايهم) والصق فيها الإجراء التالي Sub sbUnHideTables() Dim app As Access.Application Dim wks As Workspace Dim db As dao.Database Dim rst As dao.Recordset Dim tdf As TableDef Set app = New Access.Application Set wks = app.DBEngine(0) 'الإصدار 64 Set db = wks.OpenDatabase("D:\HideTBL V1-64.accde") 'مسار الملف 'الإصدار 32 'Set db = wks.OpenDatabase("D:\HideTBL V1-32.accde") 'مسار الملف For Each tdf In db.TableDefs If tdf.Attributes = -2147483645 Then tdf.Attributes = 0 'تغيير قيمة العمود Flags Next tdf Set db = Nothing End Sub 4- انقر الزر F5 لتشغيل الإجراء حيث سيقوم بتغيير قيمة العمود Flags إلى القيمة صفر 5- اغلق قاعدة البيانات التي قمنا بتنفيذ الكود فيها (حفظ الكود من عدمه راجع لك) 6- الان إذهب إلى القرص D وقم بفتح الملف (HideTBL V1-64.accde او HideTBL V1-32.accde وفقاً لإصدار أوفيس لديك) لتجد أن الجدول قد ظهر في جزء التنقل تحياتي -
بالإضافة إلى ماذكره الأخ @Foksh يمكنك العمل برقم السجل بدلا من رقم الحساب مرفق لك مثالك بعد التعديل حيث قمت بإضافة مربع نص يظهر رقم السجل الحالي ويمكنك إدخال رقم السجل المطلوب للإنتقال إليه مباشرة بالإضافة إلى زري تنقل قمت بإنشائهما عن طريق المعالج بشكل طبيعي تحياتي test.accdb
-
مرفق لك المثال بعد استخدام ماكرو البيانات جرب تعديل حقلSlabs الي في جدول Receiving_Bundle وشاهد كيف ستتغير قيمة الحقل Slabs_in_Bundle في جدول SAW حيث يقوم ماكرو البيانات بما يشبه الـ Trigger في انظمة قواعد البيانات الكبيرة مثل Sql Server و Oracle وغيرها ولكن المشكلة الوحيدة هي ان هذا النوع من الماكرو لن يعمل الا مع اكسس 2010 ومابعده (صراحة غير متأكد من انه يعمل مع اكسس 2007) والاكيد انه لن يعمل مع ماقبل 2007 تحياتي Database.accdb