اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

أوفيسنا
  • Posts

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

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

  • Days Won

    13

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

  1. أهلا بك.. في الحقيقة لا يوجد في أكسس دالة اسمها Concatenate هذي وظيفة أنشأها المبرمج من أجل دمج القيم! .. أقول هذا للتوضيح فقط.
  2. فكرة سليمة 100% .. التنصيص يكون على علامة النمجمة(*) فقط وتربط بعلامة الدمج (&) Like "0" & Format(Date(),"yy") & "*" // تعمل بشكل سليم لو وضعتها في الاستعلام // بهذه الطريقة أيضا Format() يمكن استخدام Like Format(Date(),"\0yy") & "*" أو استخدم هذه إن شئت.. أضفتها في الاستعلام Qry_Filter Like Mid(Year(Date()),2) & "*" التعديل: qus.zip
  3. أهلا بك طاهر.. يلزمك لهذا كتابة عناوين الأعمدة يدويا في الاستعلام الجدولي كما في الصورة: إليك التعديل: 11تجريبي.zip
  4. هذا النموذج نسخة عن النموذج frmEdrajSenf ..أين تريد وضع هذا النموذج؟ تحت أي حدث؟
  5. أهلا بك أبو زاهر أجريت بعض التعديلات على نموذج البحث تحت مسمى جديد.. أرجو ذكر أسماء النماذج المتعلقة بالمبيعات والمشتريات.. وماهية الإدراج التي تريد استخدامها لأن مراجعة الشفرة التي في قاعدة البيانات مرهقة بعض الشئ.. أذكر ما تريد وسوف أنفذه لك بإذن الله تعالى إليك المرفق: الحفاظ على لون السجا.zip
  6. الشفرة تعني الكود، والتعطيل يعني عدم تفعيل الحدث الاستاذ جعفر يخترع الشفرة من بنات أفكاره وأنا أستعين بملف المساعدة لأكسس وأقتبس منه.. إذا كنت تريد استخدام الشفرة التي كتبتها لك في النموذج الفرعي فلا تستخدم معها الشفرة التي كتبها الأستاذ جعفر الموجودة في حدث KeyDown في النموذج الرئيسي
  7. أهلا بك أبو زاهر.. عندما قمت بمساعدت في إصلاح شفرة التنقل بين السجلات أنشات لهذا الغرض نماذج جديدة وضمنت النموذج الفرعي شفرة التنقل بين السجلات في الحدث KeyDown.. لكوني لم أستطع فهم الشفرة المرفقة في المثال.. إذا كانت النماذج خاصتك تتضمن شفرة للتنقل بين السجلات في نفس الحدث فإنه توجب عليك تعطيلها كي تستقر حركة التنقل..
  8. كل ما في الأمر أنك بنيت نماذج لجداول خالية من البيانات وعطلت خاصية الإضافة فيظهر النموذج على هذا الحال غير خاصية الاضافة إلى نعم هنا هذا الإجراء خاطئ جدا
  9. أهلا بكم.. إذا كان أحدكم يستخدم Windows ويتصل بالانترنت عن طريق شبكة اتصال ثابتة (Router) سلكي أو لا سلكي، فيمكن عمل محرك أقراص شبكي بعد تفعيل مشاركة الملفات والطابعات من الخصائص المتقدمة... وبعد ذلك يمكن وضع مجلد قاعدة البيانات الخلفية في مجلد المشاركة العام وذلك لتسهيل عملية الفحص والتجربة في المنزل! قمت بتجربة الشفرة على Windows 10 وهي تعمل بشكل جيد سواء عند الاتصال أو قطع الاتصال.. يمكن مشاهدة محرك الاقراص الشبكي قبل إغلاق قاعدة البيانات.. لكن بعد إغلاق قاعدة البيانات ينقطع الاتصال بمحرك الأقراص ويختفي من القائمة.. في Windows 10 يجب أن يكون الحساب محلي وليس حساب خادم Microsoft (التسجيل باستخدم البريد الالكتروني). من المهم جدا عند استخدام محرك الأقراص الشبكي أن يشار إليه مباشرة عند الاتصال بقاعدة البيانات الخلفية بالطريقة التالية Tbl.Connect = ";DATABASE=Z:\tbl.mdb" إذا كان حرف محرك الأقراص مستخدم من قبل Windows فسوف تظهر رسالة بأن محرك الأقراص مستخدم من الجيد فحص الاتصال بقاعدة البيانات قبل مطالبة المستخدم بإعادة الاتصال ولتحقيق ذلك نستخدم الشفرة التالية Function IsTblLinked() As Boolean On Error GoTo Err_Handler Dim Tbl As TableDef IsTblLinked = False For Each Tbl In CurrentDb.TableDefs If Len(Tbl.Connect) > 0 Then If Dir(Split(Tbl.Connect, "=")(1)) <> "" Then IsTblLinked = True End If End If Next Exit_Function: Exit Function Err_Handler: MsgBox Err.Number & vbCrLf & vbCrLf & Err.Description Resume Next End Function تعيد هذه الشفرة قيمة منطقية موجبة إذا كان هناك اتصال ، أو قيمة سالبة إذا لم يكن اتصال... عندئذ يمكن إظهار نموذج أعادة الاتصال.. من المهمة هنا التحقق من تكوين محرك الشبكة والاتصال بقاعدة البيانات قبل الخروج من النموذج وذلك بإعادة تمرير الوظيفة IsTblLinked بعد نجاح الاتصال يمكن إغلاق النموذج وفتح النموذج الرئيسي لقاعددة البيانات.. قطع الاتصال بمحرك الأقراص يكون عند إغلاق قاعدة البيانات.. فإذا لم يتم الاتصال بنجاح، أو حدث قطع الاتصال من خارج قاعدة البيانات فسيعيد إغلاق قاعدة البيانات خطاء مفاده أن محرك الأقراص غير ظاهر. قمت بعمل الوظائف الإضافية لكني لم إدرجها في أماكنها اعتمادا على ما سبق بيانه.. أتمنى للجميع التوفيق app.zip
  10. بلي فهمت! .. لكن كنت أحسبك هاوي برمجة إليك التعديل بعد التحسين: قاعدة البيانات3.zip
  11. أهلا بك أبو زاهر.. لم استطع فهم آلية إدراج الأصناف في الفاتورة.. لكن إن كان الموضوع يتعلق بما أشرت إليه من تسبب المنهج (Me.Recalc) في تعطل الإضافة؛ فقد تراجعت عنها واستخدم الأسلوب الشرطي فقط.. تشابك التلوين بين السجلان_.zip
  12. أهلا بك أبو زاهر.. المرفق مغلق لمخالفة القوانين.. حاول فتح مشاركة جديدة من فضلك
  13. وعليكم السلام ورحمه الله وبركاته.. عملت نموذجين آخرين بطريقة مختلفة بعض الشئ إليك التعديل: تشابك التلوين بين السجلان_.zip
  14. رقيب: لا يتوفر له بيانات تاريخ تقاعد قاعدة البيانات3.zip
  15. والسلام عليكم ورحمه الله وبركاته.. إليك التعديل: السجلات_.zip
  16. وعليكم السلام ورحمة الله وبركاته أهلا بك علي.. إذهب إلى مكتبة المراجع واخثر المكتبة الموضحة في الصورة أضف الشفرة التالية إلى وحدة نمطية عامة Function GetFilePath() Dim FDlg As FileDialog Set FDlg = FileDialog(msoFileDialogFilePicker) FDlg.Title = "Select Picture File" FDlg.Filters.Clear FDlg.Filters.Add "Pictures", "*.Png,*.Jpg,*.Bmp,*.Tiff,*.Gif" FDlg.Filters.Add "All Files", "*.*" FDlg.AllowMultiSelect = False If FDlg.Show Then GetFilePath = FDlg.SelectedItems(1) Debug.Print GetFilePath End If End Function استبدل السطر التالي picturepaht = GetOpenFile_CLT("", "ÇÎÊÑ ÕæÑÉ :") بالسطر هذا picturepaht = GetFilePath()
  17. أشكرك على سرعة الاستجابة أستاذ @يوسف أحمد لكن قبل أبدأ المناقشة أعيد تسجيل اعتراض الاستاذ @Shivan Rekany التالي نعم! لماذا لا يكون البحث في جميع الأسماء؟! ولماذا أقوم بتسجيل ما أريد البحث عنه؟!... استفهام الأستاذ شيفان كان اعتراضا مبطنا!.. وفي تقديري لا يزال قائما ويحسب للأستاذ شيفان، وإجابة الاستاذ يوسف كانت سطحية بعض الشيء! ولا لوم عليه في ذلك، لأن القصد من المثال هو توضيح الفكرة في طريقة التسجل في اعتقادي.. إذاً.. لماذا لا نأخد بالأمرين جميعا؛ فنجعل مربع التحرير يظهر الأسماء جميعا كالمعتاد، ثم نترك الخيار للمستخدم؛ ما إذا كان يرد تسجيل جلسة العمل من عدمه؛ عن طريق مربع اختيار.. ويتم السجيل في الخلفية في cl، على أن يكون ذلك للسجلات التي جرى عليها التعديل فقظ، يقع ذلك في حدث بعد التحديث للنموذج، ولو ظهر عدد السجلات التي تم تسجيلها في مربع نص بلون مميز يكون العمل أكثر تفاعلا وحيوية... عند العودة إلى جلسة العمل؛ إذا كان هناك سابق تسجيل يخير المستخدم فيما إذا كان يريد البحث في جميع السجلات أم السجلات التي جرى تسجيلها فقط.. عن طريق مربع اختيار أيضا.. وبهذه الطريقة تكتمل الصورة الجمالية للفكرة.. ونكون أرضينا الجميع!
  18. الفكرة وطريقة تسجيل البيانات بحد ذاتها رائعة أتمنى من الاستاذ @يوسف أحمد أن يوسع هذه الفكرة بجعل القيم تبقى في الذاكرة حتي وإن تم إغلاق النموذج! لأن الرجوع لجلسة العمل يكون في الغالب بعد إنهاء جلسة العمل. يبدأ العمل مثلا بخيار هل تريد تسجل جلسة العمل؟ فيبدأ التسجيل للسجلات التي يجرى العمل عليها.... الرجوع للعمل إذا كان هناك تسجل مسبق يبدأ مثلا بخيار هل تريد الرجوع لجلسة العمل السابقة... يمكن استخدام Collection Object طالما قاعدة البيانات مفتوحة.. كما يمكناستخدام جدول خاص إذا كان طلب الرجوع إلى جلسة البيانات السابقة بعد إغلاق قاعدة البيانات أتمني لك التوفيق..
  19. هل تم إنشاء محرك أقراص شبكي أم لا؟ هذا هو المهم عندي الآن! فاذا تم ذلك فمعنى ذلك أن الإجراء صحيح.. أما ربط الجداول فيمكن معرفة السبب لاحقا.. ملاحظة: أغلاق قاعدة البيانات يقوم بقطع الاتصال بمحرك الأقراص إذا تم إنشاؤه.. التحقق يكون قبل إغلاق قاعدة البيانات.. محرك الأقراص الشبكي سوف يكون معرفه (:Z)
  20. أهلا بكم.. نحن بحاجة إلى نموذج نمرر بواسطته اسم المستخدم وكلمة المرور وفقا للمعطيات التي أشرت إليها سابقا.. إذا كان الإجراء صحيح سوف يفتح نموذج إدخال البيانات.. الشفرة في نظري بحاجة إلى تحسين نناقشه بعد الفحص الأولي إن شاء الله.. هذا المرفق بعد التعديل.. لم أقم بفحصة عمليا لعدم توفر بيئة خدمية لدي.. أرجو منكم التكرم بإجراء الفحص العملي وإفادتي بالنتيجة لأقوم بإجراء اللازم.. app.zip
  21. هذه الشفرة طويلة جدا ولا يعنيك منها إلا ثلاثة سطور فقط.. فكرة هذه الشفرة هي إنشاء محرك أقراص شبكي على جهاز العميل (المستخدم) وذلك من أجل تمرير اسم المستخدم وكلمة المرور.. بعد انتهاء العميل من الاتصال بقاعدة البيانات من الأفضل قطع الاتصال بمحرك الأقراص الشبكي.. لعمل محرك أقراص شبكي يجب إنشاء مكون التعامل مع موارد الشبكة بالصيغة التالية.. Dim NWO As Object,NwPath,UserName,PassWord,NwMap '-- إنشاء مكون التعامل مع الشبكة المحلية Set NWO=CreateObject("WScript.Network") '-- تمرير اسم المستخدم وكلمة المرور للمتغيرات UserName=[اسم المستخدم على اشبكة] PassWord=[كلمة المرور على الشبكة] '-- تمرير مجلد البيانات وسم الخادم لدليل الوصول للبيانات NwPath="\\192.168.1.2\test" '-- تكوين القرص الشبكي على جهاز العميل '-- تعيين حرف لمحرك الأقراص الشبكي.. أفضل عدم تعيين حرف والاكتفاء بعلامة التنصيص NwMap="Z:" NWO.MapNetworkDrive NwMap,NwPath,False,UserName,PassWord 'بهذه الطريقة يتكون محرك الأقراص الشبكي على جهاز العميل '-- الإتصال بقاعدة البيانات هنا .... '-- قطع الاتصال بمحرك أقراص الشبكة.. أفضل أن يكون عند الخروج من قاعدة البيانات NwMap="Z:" NWO.RemoveNetworkDrive NwMap, True, True من الأفصل إنشاء نموذج لهذا الغرض يحث العميل (المستخدم) بإدخال اسمه وكلمة المرور عند عدم وجود اتصال..
×
×
  • اضف...

Important Information