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

mom20088

03 عضو مميز
  • Posts

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

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

مشاركات المكتوبه بواسطه mom20088

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

    محتاج كود اكسس "كيف اجعل لون الحقل (قيمة) وليس لون الخط كالاتى:"

    1- لون اصفر لو اقل من 42

    2- لون اخضر لو اكثر من 42

    3- لون احمر لو يساوى 0

    محتاج لون متحرم (يطفئ ويعمل) زى كشافات الانتظار فى العربية

     

     

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

    مع الاسف الكود لايعمل عندى والخطا فى هذا الكود

    Public Function InputBoxDK(Prompt, Optional Title, Optional Default, Optional XPos, _
                            Optional YPos, Optional HelpFile, Optional Context) As String
        Dim lngModHwnd As Long, lngThreadID As Long

        lngThreadID = GetCurrentThreadId
        lngModHwnd = GetModuleHandle(vbNullString)

        hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID)

        InputBoxDK = InputBox(Prompt, Title, Default, XPos, YPos, HelpFile, Context)
        UnhookWindowsHookEx hHook

    احتاج كود لايسمح بالتعديل على السجلات السابقة الا بكلمة سر ويسمح بالاضافة على السجلات الجديدة فقط

    حاولت استخدام  هذا الكود البسيط فى النموذج (بعد التحديث) ولكنه فى السجلات الجديدة عندما اضيف بيانات فى اول حقل يسمح بالاضافة وبعد ذلك يمنع الاضافة فى باقى الحقول الفارغة لماذا؟ 

    me.allowedits=false

    شكرا

     

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

    اسف على التأخير

    انا وجدت الحل والحمد لله وهو عبارة عن 

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

    اشكركم اخوتى فى الله

     

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

    عندى نموذج فى قاعدة بيانات به حقلين 

    الاول واسمه qproduced (الكمية المنتجة) وهو حقل يكتب فيه اى قيمة 

    الثانى واسمه text482 وهو حقل ياخد قيمته من رصيد المخزن ويتغير  بعد وضع قيمه فى الحقل الاول qproduced معنى هذا انه حقل استعلامى ولايقبل الكتابة فيه

    اامعطيات هى :

    اذا كان الحقل الثانى به قيمه تساوى 500 كيلوجرام فاننى متاح لى بوضع الكمية المنتجة فى الحقل الاول 500 كيلوجرام أو اقل منها واذا وضعت قيمة اكبر من 500 كيلوجرام البرنامج يرفض القيمة

    وهذا هو الكود 

     ()Private Sub Qproduced_afterUpdate

    If [Qproduced] > [Text482] Then
    Beep
    MsgBox ("Sorry ! The maximum value is " & Round([Text482], 3) & " Kg "), "" & vbCritical, "Critical Message!"
    DoCmd.CancelEvent
    MsgBox "Please Rewrite Value of Qproduced again!", vbCritical, "Attention"
    DoCmd.RefreshRecord
    Me.Undo
    Else
    If [Qproduced] <= [Text482] Then
    Select Case MsgBox("The Production Quantity is " & Me.Qproduced.Value & Me.Unit.Value & vbCrLf & _
    "", vbInformation + vbMsgBoxleft + vbYesNo, "Attention!")
    Case vbYes
    MsgBox " It is Ok"
    DoCmd.OpenQuery "query1"
    Case vbNo
    DoCmd.RunCommand acCmdDeleteRecord
    End Select
    End If
    End If

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

    Private Sub Qproduced_Click()
    If Me.Text482 <= 0 Then
     Me.Qproduced.Enabled = False
      MsgBox "Sorry! No Raw materials found in Store for this Product", vbCritical, "Attention"
     DoCmd.RefreshRecord
     DoCmd.OpenQuery "delete empty order"
     DoCmd.Close
     DoCmd.OpenForm "Main"
      Else
      Me.Qproduced.Enabled = True
      Me.Raw_Material_subform.Visible = True
      [Total Production by Year every month].Visible = True
      [Year Target Query].Visible = True
    [packing subform1].Visible = True
        End If
    End Sub

    يتضح من الاكود ان هناك استعلام  ينفذ بعد وضع القيمة فى الكمية المنتجة وهذا الاستعلام عبارة عن حساب كميات المواد الخام اللازمة للتصنيع بناء على الكمية المنتجة التى سوف توضع فى الحقل

    اى انه عند وضع قيمة 300 يتم حساب كمية المواد الخام واذا وضعت 500 طبعا يحدث زيادة فى كميات المواد الخام 

     

    السؤال:

    نفترض انى وضعت قيمة فى الحقل الاول (الكمية المنتجة) 300 كيلوجرام سوف يتبقى لى 200 كيلوجرام فى الحقل الثانى ( المخزن) وحفظت هذا السجل على ذلك.

    اذا اردت تعديل حقل الكمية المنتجة من 300 الى 350 سوف يرفض البرنامج لان حقل المخزن به 200 كيلوجرام فقط وان 350 اكبر من 200 وهذا طبيعى لاننى وضعت كود (بعد التحديث) وموضحا بالاعلى  اذا كان قيمة الحقل الاول اكبر من الحقل الثانى يقوم البرنامج بالرفض 

    محتاج كود يعمل الاتى

    يحسب الفرق بين القيمة  القديمة المكتوبة اولا (300) والثانية(350) المراد تعديلها وهى 50 فقط وهى بالتالى اقل من قيمة رصيد المخزن ويقوم بالبرنامج بقبول التعديل؟

    أو كيف يتم التعديل للقيمة الجديدة ؟

     

    اسف جدا لعدم ارفاقى للقاعدة 

     

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

    اسف على التأخير فى الرد

    هذو هى الرسالة التى تظهر لى عند تحويل قاعدة البيانات

    This error is usually associated with compiling a large database into an MDE file.  Because of the method used to compile the database, a considerable number of TableID references are created for each table.  The Access database engine can only create a maximum of 2048 open TableIDs at one time.  Exporting a database as an MDE potentially can exceed this limit if the database has a large number of objects (table, macro, form, report, etc).
    There is no accurate method to estimate the number of TableIDs the Access database engine uses during the process of compiling a database as an MDE.  However, each VBA module and each form uses one TableID, as a result, if the database has 500 forms, and each form's HasModule property is set to Yes, as many as 1,000 TableIDs are used.
     

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

    انا صممت قاعدة بيانات كبيرة وعليها طرق حماية كثيرة بامتداد accdb واريد تغيير الامتداد الى accde لاننى علمت ان الامتداد الاخير افضل من الامتداد الاول ولكنى فشلت لاننى عندما اردت تحويل الملف الى الصيغة الجديدة يعطينى رسالة خطأ وانه غير قادر على حفظ الملف باى امتداد اخر

    فتحت قاعدة بيانات  جديدة بامتداد accde وعملت تصدير لكل الجداول والاستعلامات لكن النماذج والوحدات النمطية والماكرو مخفية تماما ولا استطيع تصديرها

    ما هو الحل برايكم؟

    شكرا

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

    اذا كان عندى نموذج رئيسى وبه نموذجيين فرعيين

    اريد ان اضع كود لمنع التعديل على السجلات السابقة فى النماذج الرئيسية والفرعية . اى عند فتح النموذج واستدعاء النماذج السابقة يمنع التعديل نهائيا الا بعد كتابة رقم سرى للتعديل 

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

     

    اذا كان من الافضل ان اضع زر تعديل كيف اضع زر تعديل لكل النماذج الفرعية والرئيسية معا فى زر واحد

     

    شكرا

    • Like 3
  8. السلام عليكم

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

    وفعلت كما هو مدون بالاسفل مع العلم انى استخدم اوفيس 2013

    الموضوع الاصلى

    مرفق البرنامج

    هذه طريقة عمل حماية من نوع زرع ملف داخل الجهاز

    ففي كل مرة يتم فتح البرنامج يتم التاكد من وجود الملف المزروع

    فإن لم يجده ستظهر واجهة تطالب بالترخيص وهي عبارة عن اسم المستخدم وكلمة السر .

     

    ملاحظة مهمة : الاكواد جميعها من صنع الأخت زهرة جزاها الله خيرا

    لكن مع بعض التعديل وهو ما يسمونه (بتصرف) :(

    الفكرة العامة ..

    * عند بدء تشغيل البرنامج سيتم التأكد من وجود الملف (officena.dll) داخل القرص C

    * عند عدم وجوده سيتم تحويلك الى واجهة المطالبة برقم الرخصة وهي اسم المستخدم وكلمة السر .

    * بعد أن يتم ادخال اسم المستخدم وكلمة السر بنجاح سيتم زرع الملف .

    * في المرة القادمة وعند تشغيل البرنامج لن يتم المطالبة برقم الرخصة .

     

    اليكم أخواني هذه الطريقة :

    1- أنشئ نموذج باسم (Chek_It) وضع فيه الكود التالي في حدث عند الفتح :

     
    Private Sub Form_Open(Cancel As Integer)
    On Error GoTo ERROR_SUB
    Open "c:\" & "officena.dll" For Input As #1
    Close #1
    ERROR_SUB:
    If Err.Number = 53 Then
    MsgBox "أنت تعمل على نسخة غير مرخصة "
    Close #1
    DoCmd.Close
    DoCmd.OpenForm "get_file"
    End If
    End Sub

    2- أنشئ نموذج آخر بإسم (Get_File) 3- أنشئ مربعي نص باسم UN و PW وزر أمر CHkit. 4- ضع الكود التالي في حدث عند النقر للزر CHkit:

     
    Private Sub CHkit _Click()
    If UN.Value = "www" And PW.Value = "1234" Then
    Open "c:\officena.dll" For Binary Access Write As #1
    Close #1
    MsgBox "اسم المستخدم وكلمة السر صحيحة", vbOKOnly, "نجحنا"
    DoCmd.Quit acQuitSaveAll
    Else
    MsgBox "اسم المستخدم أو كلمة غيرصحيحة"
    End If
    End Sub

    شكرا لمجهودكم معى

     

     

    ProtectionByFile.rar

×
×
  • اضف...

Important Information