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

أبو إبراهيم الغامدي

أوفيسنا
  • Posts

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

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

  • Days Won

    13

كل منشورات العضو أبو إبراهيم الغامدي

  1. أهلا @حلبي الشفره التالية تفي بالغرض إن شاء الله Private Sub Form_Current() If Not NewRecord Then Parent.Bookmark = Me.Bookmark End If End Sub الموظفين.accdb
  2. أهلا بكم.. في الحقيقة لن أتمكن من تطبيق كلا الطريقتين لضيق الوقت.. هذه إحداهما على عجل.. خطوات التنفيذ أتركها للمناقشة.. إلى المثال: Database1.accdb
  3. أهلا بكم.. أشكرك أستاذ @رمهان على ثقتك بي وأثني بالزملاء الكرام.. في مخيلتي طريقتان سوف أعمل عليهما.. إن شاء الله..
  4. أستاذ قدور المثال المرفق ليس به بيانات ولا توجد علاقات! على أي حال في المثال المرفق نموذج به ثلاثة مستويات للجداول: الجدول الرئيسي --> الجدول الفرعي --> الجداول المتربطة بالجدول الفرعي.. بمعنى: يمكن استخدام جدول رئيسي واحد فقط، وجدول فرعي واحد فقط، وجداول متعددة مرتبطة بالجدول الفرعي كما في الصورة هذا في تصوري مقبول.. كمثال يمكن البدء به.. للأهمية يجب أن يكون بين الجداول المطلوب تصديرها علاقة قائمة وإلا لن تكون البيانات منضبطة النسق.. إليك المثال: ExportToXML.accdb
  5. أهلا أستاذ @عبد الله قدور نعم ممكن.. أولا.. يجب أن يكون التصدير باستخدام المنهج Application.ExportXML ثانيا.. لابد من وجود علاقة بين جدول البيانات الرئيسي والجداول الفرعية، كما يمكن إضافة توابع الجداول الفرعية ثالثا.. يمكن اضافة الجداول الفرعية وتوابعا أيصا باستخدم المنهج Application.CreateAdditionalData الشفرة التالية تبين طريقة إضافة البيانات الفرعية Sub ExportCustomerOrderData() Dim objOrderInfo As AdditionalData Dim objOrderDetailsInfo As AdditionalData Set objOrderInfo = Application.CreateAdditionalData ' Add the Orders and Order Details tables to the data to be exported. Set objOrderDetailsInfo = objOrderInfo.Add("Orders") objOrderDetailsInfo.Add "Order Details" ' Export the contents of the Customers table. The Orders and Order ' Details tables will be included in the XML file. Application.ExportXML ObjectType:=acExportTable, DataSource:="Customers", _ DataTarget:="Customer Orders.xml", _ AdditionalData:=objOrderInfo End Sub فضلا راجع ملف تعليمات أكسس، أو طالع الروابط التالية من Docs  Office VBA Reference  Access Application.ExportXML Application.CreateAdditionalData
  6. نعم هذا صحيح.. في أكسس 2003 فما دون.. نعم هذا صحيح أيضا لكن في أكسس 2007 فأعلى.. فما الحل؟ الحل في تعديل إعدادات الربط الافتراضية.. الخصيصة IMEX في أكسس 2003 تأخذ القيمة (0): IMEX=0 في أكسس 2007 تأخذ القيمة (2): IMEX=2 يمكن الاطلاع على إعدادات الربط والقيم الافتراضية في الحقل CONNECT من جدول النظام MSysObjects يمكن تعديل قيمة الخصيصة IMEX عن طريق الشفرة على النحو التالي Sub CHANGE_EXCEL_LINK_MODE() Dim DB As DAO.Database Dim TD As DAO.TableDef Set DB = CurrentDb Set TD = DB.TableDefs("tblPage1") Debug.Print TD.Connect TD.Connect = Replace(TD.Connect, "IMEX=2", "IMEX=0") TD.RefreshLink Debug.Print TD.Connect End Sub يمكن ربط ملفات أكسل والملفات الأخرى عن طريق الاستعلام.. وفي نظري هذه الطريقة أسهل في التعامل SELECT * FROM [ورقة1$] IN 'C:\Users\LENOVO\Desktop\AccsAcsl\Book1.xls'[Excel 5.0;HDR=NO;IMEX=0;]; هناك بعض الأمور المتعلقة بالدليل الافتراضي للربط أتركه للسؤال..
  7. أجل خذ هذه الفائدة.. ترتيب المعرف على هذه الوضعية يعطي سجلا فريدا على مستوى الشبكة؛ بمعنى إذا أردت أن تحصل على سجل فريد في بيئة مستخدمين متعددة على مستوى الشبكة فيمكنك وضع المعرف على هذه وضعية Replication ID .. تعطي هذه الوظعية مصفوفة بيانات يطلق عليها GUID. وبناءً عليه لا ينبغي على مطوري قواعد البيانات القلق بشأن تطوير معرف سجلات فريدة في بيئة شبكة متعددي المستخدمين حتى في بيئة أكسس!
  8. أهلا بالاستاذ @عبد الله قدور أرجو أن تفيدني بسبب ضبط حقل المعرف على هذا النوع من البيانات وكيفية التعامل الجداول المرتبطة معه! لأنه في حد علمي لا أعلم أحدا تكلم عن فائدة ضبط المعرف على هذا النوع من البيانات والفائدة منه... أما عن سؤالك فإن استخدام هذا الضبط في النموذج يعيد بيانات مبهمة! ويعود السبب في ذلك إلى أن البيانات العائدة من الحقل في النموذج هي من نوع البيانات Byte.. والمعروف عن هذا النوع من البيانات يعيد مصفوفة بيانات بطول البيانات المدخلة.. ولكي تستخدم هذه البيانات يجب أخراجها من المصفوفة أولا.. وحتى لا أشغل تفكيرك بكيفية ذلك! فإن أكسس وفر دالة تقوم بهذا العمل نيابة عنك وهي StringFromGUID ولكي نستخدمها في الدالات المجمعة نتبع الطريقة التالية Private Sub CMD_TEST_Click() X = DLookup("ID&CHR(13)&NAME", "TBL01", "ID=" & StringFromGUID(Me.ID)) MsgBox X End Sub لكن إن طلبت الاختصار! يمكنك استخدام الطريقة التالية على سبيل المثال Private Sub CBO_FIND_AfterUpdate() Dim RS As DAO.Recordset Set RS = Me.RecordsetClone RS.FindFirst "Mid(ID, 2, 8) ='" & Me.CBO_FIND & "'" If RS.NoMatch Then Exit Sub Me.Bookmark = RS.Bookmark End Sub أرجو ملاحظة الجانب الأيسر في مجال البحث للفائدة: هناك دالة أخرى بعكس السابقة أعلاه وهي GUIDFromString أرجو أن تقرأ عنهما في ملف التعليمات! إليك هذا المثال:REPLICATION ID(GUID).MDB
  9. أهلا @سلمان الشهراني جرب هذا التعديل: Dashboard2003.mdb
  10. أهلا بك أستاذ جعفر.. أنت تبالغ أستاذ! لو كان هناك طلب على هذا الأسلوب لكان أول من يبدع فيه أنت.. في الحقيقة أنا متردد بعض الشيء.. وقد رتبت لهذا الفكرة من قبل، لكن اعترضتني بعض الإشكالات.. وسوف أعمل على حلها في القريب..
  11. نعم يمكن.. لكن سوف يؤثر هذا على طريقة عرض البيانات.. سوف أقوم بإعادة ترتيب البطاقة بشكل مختلف ليتلائم مع الوضع الجديد.. إن شاء الله
  12. أهلا بكم.. هناك دالة في أكسس اسمها (Partition) تقوم بتقسيم (القيمة) بين حدين وبنمط متكرر.. أرجو أن تفيدكم في تقسيم الفئات العمرية وأمثالها.. تجدون شرح لها على هذا الرابط Partition
  13. أهلا @سلمان الشهراني في هذا التعديل أنشأت وظيفة تعيد بيانات الاستعلامين التي أشرت إليها في المرفق، وضمنتها ببطاقة التعريف بالشكل التالي Function CardDetails(ID As Long) On Error Resume Next Dim P1 As dao.Recordset, P4 As dao.Recordset Dim H As String Set P1 = CurrentDb.OpenRecordset("select * from qr_p1 where Apartment_No4=" & ID) Set P4 = CurrentDb.OpenRecordset("select * from qr_p4 where id=" & ID) H = H & "<p class='first'>" & P1!Name1 & "</p>" H = H & "<p><span>تاريخ الدخول</span>" & Format(P1!Date_Entry, "yyyy/mm/dd") & "</p>" H = H & "<p><span>المبلغ المدفوع</span>" & P1!Mdfo3 & "</p>" H = H & "<p><span>المبلغ المتبقي</span>" & P1!Residual & "</p>" H = H & "<p><span>مبالغ أخرى</span>" & P4!Total2 & "</p>" CardDetails = H End Function إليك المرفق: Dashboard2003.mdb
  14. أهلا بك @سلمان الشهراني أرجو منك رفع قاعدة البيانات على 2007
  15. اهلا @محمد احمد لطفى هذا السطر والسطر الأول أيضا كانا من أجل أزرار التبديل التي في الصورة التالية، وبناءً عليه يمكنك حذفهما إن شئت. بالنسبة لبرنامجك أنا لا أعرف آلية العمل فيه! فاعذرني
  16. أهلا @محمد احمد لطفى في الواقع انت بحاجة إلى التأكد من إعادة الترتيب التنازلي بعد التصفية فقط ! ملاحظات: .. إذا لم يكن هناك هدف محدد من تركيب النماذج بهذه الطريقة: نموذج داخل نموذج داخل نموذج.. فهذا الوضع يستهلك الذاكرة ويزيد في تعقيد الشفرة البرمجية. .. زر أمر الفرز مكانه الصحيح في رأس النموذج بجانب عنوان حقل التاريخ.
  17. أهلا @محمد احمد لطفى راجع التعديل وحاول التبديل بين عرض مصدر البيانات وإجراء التصفية والفرز على كلا المصدرين.. 6000.mdb
  18. عزيزي محمد أرجو أن تجيب على السؤال أعلاه رجاءً
  19. أهلا @محمد احمد لطفى طلبك كان بخصوص الترتيب! هل تريد الآن طبيق التصفية أيضا؟ في النموذج الفرعي لديك مصدران للبيانات.. هل تريد أن يكون الترتيب والتصفية وفقا لهذين المصدرين؟ وتطبيق ذلك على التقرير؟
  20. أهلا @wael_rafat كل ما في الأمر أني نشطت خاصية Locked في مربع النص في النموذج ثم أعيد تعطيلها عند النقر على الرقم.. وأعيد تنشيطها بعد ذلك.. Function XActiveVal(TagVal) With Me.ActiveControl .Locked = False .Value = .Value & TagVal .SelStart = Len(.Value) .Locked = True End With End Function
  21. أستاذ @أبو عبدالله الحلوانى أشكرك على التوضيح والبيان.. وقد أصبت.. بارك الله فيك.. وذب الله عنك يوم القيامة.. محبك.. أبو إبراهيم
  22. المثال الذي أرفقته أنت ليس به جدول! ولم تشر في مداخلت أنك سوف تضع البياات في جدول! لا يوجد فرق بين مثالي ومثالك إلا التعقيد! أنت تبني الأشياء بطرق معقدة! وأنا أبنيها بطرق سهلة! ما أصنع لك إذا كنت لا تعرف كيف تربط عناصر التحكم بالجدول! هذه أشياء بدهية لكل من يعمل على قواعد البيانات...
×
×
  • اضف...

Important Information