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

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

أوفيسنا
  • Posts

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

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

  • Days Won

    13

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

  1. Set db = CurrentDb()  sql = "select * from tblUserClose where UserName=" & "'" & MyUserName & "'" Set rs = db.OpenRecordset(sql, dbOpenDynaset) rs.Edit rs("UserOn") = "ON"  rs.Update  rs.Close للمعلومية.. الإجراء Rs.Close يقوم بإغلاق الغرض Rs فقط ولا يحرره من الذاكرة إذا كنت تريد تحرير الغرض Rs من الذاكرة.. استخدم المنهج Set Rs=Nothing ' Db وكذلك على الغرض Set Db=Nothing
  2. عزيزي @qathi نحن في أيام يضن الواحد فيها بوقته.. قد عرفت الحل.. وطريقة الطبيق هي الأسهل.. لكن الوقت لا يسعف.. ولم أجلس على الجهاز منذ أخر رد لي.. لا تقلق..
  3. أستاذ @رمهان نص عبارتي: "في مخيلتي طريقتان سوف أعمل عليهما.. إن شاء الله.." ولقد اعتذرت لضيق الوقت..
  4. ليتك أرفقت النموذج بدلا من الصورة لأني لا أعلم سبب وجود البيانات في صف واحد! هذه الإشكالية ليست في مرفقي.. هذه الإشكالية تزول عند معرفتك بآلية التنفيذ؛ سواء كانت الصناديق في نموذج واحد أو نماذج متعددة..
  5. أستاذ @عبدالله المجرب هذه المشكلة في تقديري ناتجة عن تذبذب الاتصال الشبكي.. أرجو منك التاكد من عتاد الاتصال الشبكي (الأسلاك، الموزع، الخادم..)
  6. احتاج إلى مزيد من التفصيل لو تكرمت.. للمعلومية.. استخدمت لنافذة تعديل القيم؛ نوافذ ويندوز Windows Forms وليس نوافذ أكسس Access Forms ولعل هذا سبب اشكالية في نقل المثال للواقع.. وهنا أنتظر منك أن تؤكد لي أن المثال يعمل؟
  7. أهلا @حلبي الشفره التالية تفي بالغرض إن شاء الله Private Sub Form_Current() If Not NewRecord Then Parent.Bookmark = Me.Bookmark End If End Sub الموظفين.accdb
  8. أهلا بكم.. في الحقيقة لن أتمكن من تطبيق كلا الطريقتين لضيق الوقت.. هذه إحداهما على عجل.. خطوات التنفيذ أتركها للمناقشة.. إلى المثال: Database1.accdb
  9. أهلا بكم.. أشكرك أستاذ @رمهان على ثقتك بي وأثني بالزملاء الكرام.. في مخيلتي طريقتان سوف أعمل عليهما.. إن شاء الله..
  10. أستاذ قدور المثال المرفق ليس به بيانات ولا توجد علاقات! على أي حال في المثال المرفق نموذج به ثلاثة مستويات للجداول: الجدول الرئيسي --> الجدول الفرعي --> الجداول المتربطة بالجدول الفرعي.. بمعنى: يمكن استخدام جدول رئيسي واحد فقط، وجدول فرعي واحد فقط، وجداول متعددة مرتبطة بالجدول الفرعي كما في الصورة هذا في تصوري مقبول.. كمثال يمكن البدء به.. للأهمية يجب أن يكون بين الجداول المطلوب تصديرها علاقة قائمة وإلا لن تكون البيانات منضبطة النسق.. إليك المثال: ExportToXML.accdb
  11. أهلا أستاذ @عبد الله قدور نعم ممكن.. أولا.. يجب أن يكون التصدير باستخدام المنهج 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
  12. نعم هذا صحيح.. في أكسس 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;]; هناك بعض الأمور المتعلقة بالدليل الافتراضي للربط أتركه للسؤال..
  13. أجل خذ هذه الفائدة.. ترتيب المعرف على هذه الوضعية يعطي سجلا فريدا على مستوى الشبكة؛ بمعنى إذا أردت أن تحصل على سجل فريد في بيئة مستخدمين متعددة على مستوى الشبكة فيمكنك وضع المعرف على هذه وضعية Replication ID .. تعطي هذه الوظعية مصفوفة بيانات يطلق عليها GUID. وبناءً عليه لا ينبغي على مطوري قواعد البيانات القلق بشأن تطوير معرف سجلات فريدة في بيئة شبكة متعددي المستخدمين حتى في بيئة أكسس!
  14. أهلا بالاستاذ @عبد الله قدور أرجو أن تفيدني بسبب ضبط حقل المعرف على هذا النوع من البيانات وكيفية التعامل الجداول المرتبطة معه! لأنه في حد علمي لا أعلم أحدا تكلم عن فائدة ضبط المعرف على هذا النوع من البيانات والفائدة منه... أما عن سؤالك فإن استخدام هذا الضبط في النموذج يعيد بيانات مبهمة! ويعود السبب في ذلك إلى أن البيانات العائدة من الحقل في النموذج هي من نوع البيانات 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
  15. أهلا @سلمان الشهراني جرب هذا التعديل: Dashboard2003.mdb
  16. أهلا بك أستاذ جعفر.. أنت تبالغ أستاذ! لو كان هناك طلب على هذا الأسلوب لكان أول من يبدع فيه أنت.. في الحقيقة أنا متردد بعض الشيء.. وقد رتبت لهذا الفكرة من قبل، لكن اعترضتني بعض الإشكالات.. وسوف أعمل على حلها في القريب..
  17. نعم يمكن.. لكن سوف يؤثر هذا على طريقة عرض البيانات.. سوف أقوم بإعادة ترتيب البطاقة بشكل مختلف ليتلائم مع الوضع الجديد.. إن شاء الله
  18. أهلا بكم.. هناك دالة في أكسس اسمها (Partition) تقوم بتقسيم (القيمة) بين حدين وبنمط متكرر.. أرجو أن تفيدكم في تقسيم الفئات العمرية وأمثالها.. تجدون شرح لها على هذا الرابط Partition
  19. أهلا @سلمان الشهراني في هذا التعديل أنشأت وظيفة تعيد بيانات الاستعلامين التي أشرت إليها في المرفق، وضمنتها ببطاقة التعريف بالشكل التالي 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
  20. أهلا بك @سلمان الشهراني أرجو منك رفع قاعدة البيانات على 2007
  21. اهلا @محمد احمد لطفى هذا السطر والسطر الأول أيضا كانا من أجل أزرار التبديل التي في الصورة التالية، وبناءً عليه يمكنك حذفهما إن شئت. بالنسبة لبرنامجك أنا لا أعرف آلية العمل فيه! فاعذرني
  22. أهلا @محمد احمد لطفى في الواقع انت بحاجة إلى التأكد من إعادة الترتيب التنازلي بعد التصفية فقط ! ملاحظات: .. إذا لم يكن هناك هدف محدد من تركيب النماذج بهذه الطريقة: نموذج داخل نموذج داخل نموذج.. فهذا الوضع يستهلك الذاكرة ويزيد في تعقيد الشفرة البرمجية. .. زر أمر الفرز مكانه الصحيح في رأس النموذج بجانب عنوان حقل التاريخ.
  23. أهلا @محمد احمد لطفى راجع التعديل وحاول التبديل بين عرض مصدر البيانات وإجراء التصفية والفرز على كلا المصدرين.. 6000.mdb
×
×
  • اضف...

Important Information