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

عبد الله الثبيتي

عضوية شرفية
  • Posts

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

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

مشاركات المكتوبه بواسطه عبد الله الثبيتي

  1. السلام عليكم

    بعد اذن الأخوه اذا كان المقصود هو فتح مجلد يحتوي على ملف ، مسار هذا الملف أو الصوره في مربع نص

    بفرض أن مربع النص الموجود فيه المساره اسمه Abdullah

    استخدم هذا الكود

    Dim pathname As String
    Dim N, I As Integer
    N = InStr(StrReverse([Abdullah]), "\")
    I = Len([Abdullah]) - N
    pathname = Left([Abdullah], I)
    Shell "explorer.exe " & [pathname], vbMaximizedFocus

    استبدل Abdullahفي الكود باسم مربع النص لديك المحتوي على مسار الصوره

    مع التحيه للجميع

  2. السلام عليكم
    ضع هذا الكود في حدث عند الضغط لزر ألأمر


    
    DoCmd.OpenReport "اسم التقرير", acViewPreview, "", "", acNormal
        DoCmd.PrintOut acPages, 1, 1, acHigh, 1, True
        DoCmd.Close acReport, "اسم التقرير"

    تحياتي

  3. استاذي الأخ / محمد طاهر

    السلام عليكم

    لقد أمسكتموني طرف الخيط انت والأخ برقش في صياغة الحل برمجيا

    بما أنني سوف افتح ملف الوورد من داخل قاعدة بيانات الاكسيس فسوف تكون الإضافة في الريجستري من الاكسيس وحذف ماتم اضافته في الريجستري من اغلاق مستند الوورد بذلك يكون كود اضافة ما أشرتما اليه كما يلي :

    Dim WSHShell
    Dim obWrd As Object
    Dim strFilePath
    Set WSHShell = CreateObject("WScript.Shell")
    'لتخفيض مستوى أمان الماكرو في الوورد
    WSHShell.regWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\WORD\Security\level", 1, "REG_DWORD"
    'لإضافة SQLSecurityCheck الى الريجستري واعطائه القيمة 0
    WSHShell.regWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Options\SQLSecurityCheck", 0, "REG_DWORD"
    'فتح ملف الوورد الموجود في مجلد قاعدة البيانات
    strFilePath = CurrentProject.Path & "\NAMEDOCUMENT.Doc"
      Set obWrd = CreateObject("Word.Application")
      obWrd.Documents.Open strFilePath
      obWrd.Visible = True
      Set obWrd = Nothing
      OpenDoc = True
    بعد أن تم فتح مستند الوورد سوف نقوم بإغلاقه مع الاجابه على رسالة الحفظ بـ لا لأننا لانريد حفظ التغييرات ، مع تعديل مستوى الامان الى 3 وحذف ماتم اضافته الى الريجستري يكون ذلك في حدث عند الاغلاق للمستند
    'ايقاف رسالة عدم وجودSQLSecurityCheck في حالة عدم وجوده
    On Error Resume Next
    Set a = CreateObject("Wscript.Shell")
    'يقوم بحذف "SQLSecurityCheck" المضاف الى الريجستري عند فتحه من الاكسيس
    a.RegDelete ("HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Options\SQLSecurityCheck")
    'للخروج بدون حفظ التغييرات في المستند وهو يقوم بالاجابه على رساله حفظ التغييرات لا
     SendKeys "{tab}": SendKeys "{tab}": SendKeys "{enter}"
    'يقوم بتغيير الأمان الى المستوى 3 حيث تم وضعه على المستوى
    a.regWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\WORD\Security\level", 3, "REG_DWORD"

    تقبلوا تحياتي وأتمنى نقل الموضوع الى منتدى الاكسيس للفائده أو الاشارة اليه

    officena.rar

  4. الاخ الكريم / برقش

    السلام عليكم

    بالنسبة لكود الاغلاق بدون حفظ فقد قمت بوضعه في حدث عند الاغلاق كما يلي :

    Private Sub Document_Close()
    ActiveDocument.Close (DoNotSaveChanges)
    End Sub 
    ولم يعمل معي ولكنني قمت بالتعامل مع ارسال ضغطات الى مفاتيح الكيبورد برمجيا الضغطه الأولى الى مفتاح تاب من أجل الانتقال الى زر الغاء الأمر والضغط الى تاب مرة ثانية للانتقال الى زر لا في رسالة الحفظ والضغطه الثالثه الى مفتاح انتر للضغط على لا في الرسالة وبذلك تحقق المطلوب بذلك يكون كود الخروج بدون حفظ كما يلي ::
    Private Sub Document_Close()
     SendKeys "{tab}"
     SendKeys "{tab}"
     SendKeys "{enter}"
    End Sub
     

    لكن المشكلة حاولت تطبيق الكود على رسالة تنبيه تشغيل أمر sql عند فتح المستند ولم تفلح المحاولات حتى الان

    آمل من لديه خلفية في تطبيق نفس الفكرة برمجيا لنقل الاختيار الى زر موافق ثم تفعيل الضغط على الزر برمجيا أن يوافيني بالطريقه هنا

    حفظك المولى ودمت بخير

  5. الأخوة الكرام

    السلام عليكم وكل عام وأنتم بخير

    لقد قمت بعملية دمج مراسلات في مستند وورد بأخذ بياناته من قاعدة بيانات اكسيس ولكن في حال فتح المستند مرة أخرى تخرج لي الرسالة التالية :

    msgbox1.GIF

    آمل اعطائي الكود الذي يقوم باختيار نعم اوتو ماتيك دون تدخل المستخدم للرساله أعلاه

    كما آمل اعطائي كود عدم الحفظ عند الخروج من المستند عند الاغلاق

    ودمتم بخير

  6. ربما تم تحويل الملف إلى ملف mde إما إذا كان الملف نوعه mdb فقد تم تأمين تعليمات البرمجية ولمعرفة أكثر حول ذلك إقرأ مايلي :

    تأمين التعليمات البرمجية

    تأمين التعليمات البرمجية لـ Microsoft Visual Basic for Applications باستخدام كلمة مرور

    لمنع أى مستخدم من عرض تغييرات أو إجرائها على تعليمات Microsoft Visual Basic for Applications (VBA)‎ (‏Visual Basic for Applications (VBA)‎: إصدار لغة ماكرو من Microsoft Visual Basic ويستخدم لبرمجة تطبيقات Windows ومضمّن في عدة تطبيقات من Microsoft.) البرمجية، يمكنك حماية التعليمات البرمجية بواسطة استخدام كلمة مرور.

    افتح ملف مشروع Microsoft Access (.adp)‎ (مشروع Microsoft Access: ملف Access متصل بقاعدة بيانات Microsoft SQL Server حيث يستخدم لإنشاء تطبيقات عميل/ملقم. لا يحتوي ملف المشروع على أي بيانات أو تعريفات بيانات مستندة إلى كائنات مثل الجداول وطرق العرض.) أو ملف قاعدة البيانات Microsoft Access (.mdb)‎ (قاعدة بيانات: مجموعة بيانات تتعلق بموضوع أو غاية معينة. ضمن قاعدة البيانات، يتم تصنيف المعلومات حول شيء معيّن، مثل أحد الموظفين، أو طلبات الشراء، في جداول وسجلات وحقول.) الذي يحتوي تعليمات VBA البرمجية التي تريد حمايتها.

    في الإطار "قاعدة بيانات"، قم بالإشارة إلى ماكرو في القائمة أدوات، ثم انقر فوق محرر Visual Basic.

    في "محرر Microsoft Visual Basic"، انقر فوق خصائص مشروع < قاعدة بيانات Access أو اسم مشروع Access > في القائمة أدوات.

    في علامة التبويب حماية، حدد خانة الاختيار تأمين مشروع للعرض. إذا قمت بتعيين كلمة مرور ولكنك لم تقم بتحديد تأمين مشروع للعرض. من الممكن عرض وتحرير التعليمات البرمجية بواسطة أى مستخدم، ولكن خانة الاختيار خصائص المشروع ستكون محمية.

    في المربع كلمة مرور، اكتب كلمة المرور الخاصة بك.

    إرشادات لكلمات المرور

    استخدم كلمات مرور قوية تتكون من أحرف كبيرة وأحرف صغيرة، وأرقام، ورموز. كلمات المرور الضعيفة هي التي لا تضم هذه العناصر معاً. كلمة المرور القوية: Y6dh!et5 وكلمة المرور الضعيفة: House27. استخدم كلمة مرور قوية يمكنك تذكرها ولا يجب عليك تدوينها.

    يمكن أن تتراوح أسماء المستخدمين من 1 إلى 20 ، ومن الممكن أن تتضمن أحرف هجائية، وأحرف توكيد، وأرقاماً، ومسافات، ورموز، مع الاستثناءات التالية:

    الأحرف " \ [ ] : | < > + = ; , . ? *

    مسافات أولية

    أحرف تحكم (ASCII 10 إلى ASCII 31)

    ملاحظة تدعم كلمات المرور خاصية تحسس حالة الأحرف (تحسس حالة الأحرف: القدرة على التمييز بين الأحرف الكبيرة والصغيرة. يجد البحث المتحسس لحالة الأحرف النص الذي يطابق تماماً الأحرف الكبيرة والصغيرة فقط.).

    في المربع تأكيد كلمة المرور، قم بتأكيد كلمة المرور التي أدخلتها بكتابتها مرة أخرى، ثم انقر فوق موافق.

    تم تعيين كلمة المرور الآن. في المرة التالية التي تقوم فيها بفتح مربع الحوار أنت أو أي مستخدم آخر، سيعرض مربع حوار يطلب كلمة المرور.

    هام إذا نسيت كلمة المرور، لا يمكن استردادها، ولن تتمكن من عرض التعليمات البرمجية لـ VBA أو تحريرها.

    إنشاء ملف MDE

    تنبيه

    تأكد من حفظ نسخة من قاعدة بيانات Microsoft Access (قاعدة بيانات Microsoft Access: مجموعة من البيانات والكائنات مثل (الجداول أو الاستعلامات أو النماذج) المرتبطة بموضوع أو غرض معين. يقوم محرك قاعدة بيانات Microsoft Jet بإدارة البيانات.) الأصلية في موقع آمن. إذا كنت بحاجة إلى تغيير تصميم الكائنات في قاعدة البيانات، عليك إجراء نفس التغيير في قاعدة بيانات Access الأصلية ثم إعادة حفظ قاعدة البيانات كملف MDE.

    لا يمكنك إنشاء ملف MDE في Microsoft Access 2002 أو الإصدارات السابقة من قاعدة البيانات التي تم إنشاؤها في إصدار سابق. يمكنك فقط حفظ ملف MDE من قاعدة بيانات من نفس إصدار Access.

    لن تتمكن أيضاً من تحويل قاعدة بيانات Access المحفوظة كملف MDE في الإصدارات الأحدث من Access. لكن يمكنك تشغيل ملف MDE في الإصدار الأحدث من Access.

    إذا تم تمكين أمان على مستوى المستخدم (أمان على مستوى المستخدم: عند استخدام أمان مستوى المستخدم في قاعدة بيانات Access، يمكن لمسئول قاعدة البيانات أو مالك الكائن منح أذونات محددة للمستخدمين أو لمجموعات من المستخدمين إلى جداول واستعلامات ونماذج وتقارير ووحدات ماكرو.) لقاعدة البيانات، عليك تحقيق متطلبات معينة قبل أن تتمكن من حفظها كملف MDE.

    متطلبات لحفظ ملف باستخدام أمان على مستوى المستخدم كملف MDE

    يجب عليك ضم ملف معلومات مجموعة العمل (ملف معلومات مجموعة العمل: ملف يقرأه Access عند بدء التشغيل، وهو يحتوي على معلومات حول المستخدمين في مجموعة العمل. تتضمن تلك المعلومات أسماء حسابات المستخدمين وكلمات المرور والمجموعات التي تضمهم كأعضاء.) الذي يعرف حسابات المستخدم (حساب مستخدم: حساب يتم تعريفه بواسطة اسم المستخدم والمعرف الشخصي (PID) الذي يتم إنشاؤه لإدارة أذونات المستخدم للوصول إلى كائنات قاعدة البيانات في مجموعة عمل Access.) الخاصة بالوصول إلى قاعدة البيانات أو التي كانت تستخدم عند إنشاء قاعدة البيانات.

    يجب أن يتضمن حساب المستخدم الإذنين (أذونات: مجموعة من الخصائص تحدد نوع وصول المستخدم إلى البيانات أو الكائنات في قاعدة البيانات.) "فتح/تشغيل" و"فتح خاص" لقاعدة البيانات.

    يجب أن يتضمن حساب المستخدم الإذن "تعديل التصميم" أو "إذن مسؤول" لأية جداول في قاعدة البيانات أو يجب أن تكون المالك (مالك: عند استخدام نظام تأمين، فالمالك هو حساب المستخدم الذي يملك التحكم في قاعدة بيانات أو كائن قاعدة بيانات. وبشكل افتراضي، يكون حساب المستخدم الذي قام بإنشاء قاعدة البيانات أو كائن قاعدة البيانات هو المالك.) لأحد الجداول في قاعدة البيانات.

    يجب أن يحتوى حساب المستخدم على أذونات "قراءة تصميم" لكافة الكائنات في قاعدة البيانات.

    قم بإغلاق قاعدة بيانات Microsoft Access. إذا كنت تعمل في بيئة متعددة المستخدمين، تأكد أن كافة المستخدمين الآخرين قد قاموا بإغلاق قاعدة البيانات Access.

    في القائمة أدوات، انقر فوق أدوات مساعدة لقواعد البيانات، ثم انقر فوق إنشاء ملف MDE.

    في مربع الحوار قاعدة بيانات لحفظها كـ MDE، حدد قاعدة البيانات Access التي تريد حفظها كملف MDE، ثم انقر فوق إنشاء MDE.

    في مربع الحوار حفظ MDE باسم، حدد اسماً ومحرك أقراص ومجلداً لقاعدة بيانات Access.

    مع الحية

    عبدالله الثبيتي

  7. السلام عليكم

    بعد إذن الأستاذ التقني

    لإغلاق الويندز من الاكسيس ضع الكود التالي في حدث عند النقر لزر أمر

    Call Shell("shutdown -s -t 0", 1)
    ولكن لاحظ الرقم صفر لو تم تغييره إلى لأي عدد مثل 15 يعني رايح يعطي مهلة قبل الإيقاف 15 ثانية مع ظهور مربع حوار طيب نفرض أنه يوجد مهلة 15 ثانية تستطيع أن تجعل هنا خيار تراجع لمستخدم عن إيقاف الجهاز وذلك بوضع زر أمر ووضع الكود التالي في حدث عند النقرحيث أنه عند الضغط عليه تلغى عملية إيقاف الجهاز
    Call Shell("shutdown -a", 1)
    إضافة : إذا كان هناك مهلة مثلاً 25 ثانية وتريد تضمين رسالة في مربع الحوار أستخدم الكود التالي :
    Call Shell("shutdown -s -t 25 -c بدأ.العد.التنازلي.لإيقاف.الجهاز.بعد25ثانية.مع.أطيب.الأماني", 1)

    ولكن كما تلاحظ يعيب على الرسالة عدم قبول مسافات والتي إستبدلتها بالنقاط ولا اعلم طريقه بديله لها

    واخيراً تقبلوا تحياتي وكل عام وأتنم بخير

    عبدالله الثبيتي

  8. السلام عليكم :

    تفضل الكود بعد التعديل عليه ضعه في حدث بعد التحديث لمربع النص No_k

    Dim i
    i = DLookup("[ No_ks1 ]", "tabel1", "[ No_ks1 ]=[No_k ]  ")
    
    If i <> "" Then
    MsgBox "رقم الإيصال :" & "(" & i & ")" & "  مسجل سابقاً ... فضلاً تأكد من عدم إدخال رقم مكرر", vbOKOnly, "تنبيه"
    End If

    تم حذف أمرإلغاء السجل فقط وبقي رسالة تنبيه بتكرار القيمة

    آمل أن يكون حسب المطلوب

    ثبيت عرب

  9. الأخ عبد الحميد

    لم توضح اسم مربع النص في النموذج والذي يتم إدخال رقم الايصال فيه ولكن لنفرض أن اسمه text1

    إذاً ضع الكود التالي في حدث بعد التحديث لمربع النص

    Dim i
    i = DLookup("[رقم الايصال]", "جدول", "[رقم الايصال]=[text1]  ")
    
    If i <> "" Then
     MsgBox "رقم الإيصال :" & "(" & i & ")" & "  مسجل سابقاً ... فضلاً تأكد من عدم إدخال رقم مكرر", vbOKOnly, "تنبيه"
    SendKeys "{Esc}{Esc}"
    End If

    بالتوفيق

    ثبيت عرب

  10. السلام عليكم ورحمة الله وبركاته :

    تتكر الأسئلة حول كيفية إيقاف بكرة الماوس

    لكل سائل هدف من وراء إيقاف بكرة الماوس وتعطيل عملها

    ــ ربما يكون الهدف منع المستخدم من التنقل بين السجلات المحفوظة .

    ــ ربما الهدف من ذلك فتح النموذج على سجل معين وعدم إظهار بقية السجلات الأخرى .

    إذا كان مقصد السائل لا يخرج عن هذين الإحتمالين فإليه الطريقة كما هي موضحة بالمثال المرفق والتي تغنيه عن تكبيل بكرة الماوس بأصفاد الأكواد .

    أرجو أن يكون المثال المرفق فيه الجواب الشافي لكل من يبحث عن طريقة لإيقاف عجلة الماوس .

    ____________________.rar

  11. الأخوة أعضاء المنتدى

    السلام عليكم ورحمة الله وبركاته :

    أشيد ببعض المشاركات التي تحتوي على فكرة أو أفكار جيدة والتي تنعكس إيجابياً على إثراء المنتدى بأمثلة وحلول ممتازة ... وعليه فإنني أثني وأشكر العضو (y) حسن سليم (y) على طرح إستفساره والذي يقول فيه:

    الأخ خضر الرجبي

    السلام عليكم ورحمة الله وبركاته

    مرسل اليكم برنامج أكسس

    لنفرض أن لدينا 1000 موظف، وهناك عدد من هؤلاء الموظفين فئة 1 ومجموعة أخرى فئة 2 وأخرى فئة 3.

    كيف يمكن عند طريق عمل استعلام إيجاد العدد الكلي للموظفين؟

    كيف يمكن عن طريق الاستعلام ايجاد عدد الموظفين مثلاً من فئة 1. أو فئة 2 أو فئة 3.

    وكذلك نسبة كل فئة من العدد الإجمالي للموظفين.

    مثلاً لنفرض لدينا 200 موظف فئة 1، كيف يمكن حساب ذلك عن ذلك الاستعلام وايجاد ذلك العدد. ثم كيف ايجاد نسبة العدد من المجموع الكلي أي 200 من 1000.

    أرجو أن تكون الصورة واضحة

    ورغم أن السؤال موجه لأستاذي ومعلمي القدير خضر إلاّ أنني أستبيحه عذراً على تنزيل المرفق التالي الذي يحتوي على إجابة الأخ السائل

    أرجو أن يكون المرفق يحتوي على الإجابة الشافيه وأتمنى الفائدة والتوفيق للجميع مع أطيب تحياتي

    ثبيت عرب

    ___________________________________.rar

  12. السلام عليكم ورحمة الله وبركاته :

    أرفق لكم مثال متواضع يقوم بحساب فترة بين تاريخين

    المثال مفيد جداً في عملية حساب مدة الخدمة لموظف أو معرفة فترة خبرته

    أرجوووو الفائدة للجميع وتقبلووو تحياتي

    ثبيت عرب

    ___________________.rar

×
×
  • اضف...

Important Information