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

نجوم المشاركات

  1. شايب

    شايب

    03 عضو مميز


    • نقاط

      2

    • Posts

      312


  2. صالح الصالحي

    صالح الصالحي

    عضو جديد 01


    • نقاط

      2

    • Posts

      24


  3. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      2

    • Posts

      6,814


  4. mahmoud nasr alhasany

    mahmoud nasr alhasany

    03 عضو مميز


    • نقاط

      1

    • Posts

      166


Popular Content

Showing content with the highest reputation on 03 ماي, 2024 in all areas

  1. السلام عليكم ورحمة الله تعالى وبركاته وانا فايت لاقيت استاذنا الجليل اخوانا @شايب قلت فى نفسى لا لابد من المرور والقاء السلام ومشاركة مع احبائى فى الله اليكم فكرة بدون دوال وهى الاحب الى قلبى الشرح 1- انشاء وحدة نمطية عامة وظيفتها الاعلان عن متغيرات عامة وهى كالاتى Public strPasswordPrompt As String Public boolPasswordPrompt As Boolean 2- ننشئ نموذج لكلمة السر على ان يكون اسمه frmPasswordPrompt وبه مربع النص لكتابة كلمة السر على ان يكون اسمه txtPassword زر امر التأكيد على ان يكون اسمه btnConfirmation ونضع الكود الاتى لزر الامر boolPasswordPrompt = True strPasswordPrompt = Nz(Me.txtPassword.Value) DoCmd.Close acForm, Me.Name وهنا نطلب منه انه يلحق القيمة True الى المتغير العام boolPasswordPrompt وان يلحق القيمة التى سوف يتم كتابتها فى مربع النص txtPassword الى المتغير العام strPasswordPrompt ثم يغلق النموذج زر امر الالغاء على ان يكون اسمه btnCancel ونضع الكود الاتى لزر الامر boolPasswordPrompt = False DoCmd.Close acForm, Me.Name وهنا نطلب منه انه يلحق القيمة False الى المتغير العام boolPasswordPrompt ثم يغلق النموذج الان يمكن استخدام كلمة سر فى اى مكان فى النموذج اما للحذف او للطباعة او لفتح نموذج حسب رغبة المصمم والان الية استدعاء هذا النموذج للعمل على زر الامر المراد قتح النموذج السرى من خلاله نضع الاكواد الاتية Const CORRECT_PASSWORD As String = "123" Const MSG_ENTER_PASSWORD As String = "Please enter a password to proceed." Const MSG_INCORRECT_PASSWORD As String = "Incorrect password. Operation canceled." Const MSG_PROCEED_SUCCESSFULLY As String = "proceed successfully!" Const MSG_OPERATION_CANCELED As String = "Operation canceled" Do DoCmd.OpenForm "frmPasswordPrompt", , , , , acDialog Select Case True Case boolPasswordPrompt Select Case True Case Nz(strPasswordPrompt, "") = "" MsgBox MSG_ENTER_PASSWORD, vbExclamation Case strPasswordPrompt <> CORRECT_PASSWORD MsgBox MSG_INCORRECT_PASSWORD, vbExclamation Case Else MsgBox MSG_PROCEED_SUCCESSFULLY DoCmd.OpenForm ChrW("1587") & ChrW("1585") & ChrW("1610") Exit Do End Select Case Else MsgBox MSG_OPERATION_CANCELED, vbExclamation Exit Do End Select Loop هذا شرح مبسط للفكرة العامة ولكن ان اردنا العمل اكثر احترافية ومرونة من خلال الاكواد فى وحدة نمطية انظر المرفق الاتى رقم سري.accdb
    2 points
  2. الله يمدك بأحسن معونته ويخفف عنك كما ستخفف عني لاني متوقف عن العمل حتى ايجاد حل لهذا التقرير
    1 point
  3. ما نسيتك اخي الكريم ، ولكن لأن اليوم إجازتي وليس أمامي جهاز كمبيوتر في الوقت الحالي 😊 ، فإن كان في العمر بقية غداً إن شاء الله.
    1 point
  4. السلام عليكم ورحمة الله وبركاتة انه يعمل حقا ولاكن عندما تختار شيك بوكس اما Entree او Sortie ثم تكتب البيانات التي تريدها ثم تضغط علي ذر Ver la liste يجب تحدد على اى بيانات select DATA in listbox ثم تضغط علي الزر Valider لقد ارفقت تحديث ملف ضفيف لحين الانتهاء منه Gestion Stocks Magasin1(1).xlsm
    1 point
  5. جزاك الله خيرا أخي الأستاذ / @حسونة حسين تم عمل المطلوب جعله الله بميزان حسناتك 🌹
    1 point
  6. وعليكم السلام ورحمة الله اخي محمد عمل رائع ومتميز وغير مستغرب من استاذنا الفاضل @ابو جودي الذي تعلمنا ومازلنا نتعلم منه الكثير 🌹 بالنسبة للاخ شايب يفضل استخدام نظام صلاحيات محكم وبالتالي فلا حاجة لكلمة مرور لفتح نموذج او طباعة تقرير الامر الاخر ان وضع كلمة مرور بشكل مباشر في محرر الاكواد يتطلب الدخول لوضع التصميم عند الرغبة في تغييرها وهو مالا يمكن تحقيقه عند تحويل القاعدة الى ACCDE اضافة الى ان كتابة كلمة المرور في محرر الاكواد يجعل امكانية معرفتها اكثر سهولة حتى لو تم تحويل القاعدة الى ACCDE انظر هنا ⬇️ مداخلات اخونا الشايب تمثل رأي غير ملزم وليس الهدف منها انتقاد عمل الاخرين لذا نقول لمن يمر خذ او اترك
    1 point
  7. للاسف غير مفهوم بالنسبة لي مادا تقصد بتنسيق الاسبوع يوم/شهر/سنة اما ادا كنت تقصد التواريخ عدل هدا الجزء من الكود a = Array("فواتير الأسبوع من", " ", CDate(desWS.[CV330]), " ", "إلى", " ", CDate(desWS.[DC330])) Set xDate = srcWS.Cells(2, lCol + 3).Offset(1).Resize(, 7) With xDate .Value = a: .Interior.Color = RGB(255, 255, 0) .BorderAround LineStyle:=xlContinuous, Weight:=xlMedium, Color:=RGB(0, 0, 0) If Not IsDate(xDate.Value) Then xDate.NumberFormat = "yyyy/mm/dd" ' قم بتعديل تنسيق التاريخ بما يناسبك End With Book معدل 3.xls
    1 point
  8. هدية مقبولة مشكورة تسلم بشمهندس عبداللطيف
    1 point
  9. انتهيت لتوي من تعديل الملف كما طلبت مني وهاهو 2المواقف.zip
    1 point
  10. السلام عليكم اخونا الكبير شايب يعتقد ان طريقة جعفر للعمل على النواتين طريقة شاملة ولكن في مثل هذه الحالة التي واجهت الاستاذ سلوم بعد اضافة Ptrsafe فقط يكفي ان نقوم بتغير اي متغير رقمي من long الى LongLong او الى LongPtr وسوف يعمل البرنامج ويختصر عدة اسطر من الكود اخير LongPtr ليس نوع بيانات حقيقي وانما يتوافق مع الاصدرين 32 و 64 بحيث يتحول الى long مع 32 و longlong مع 64 ايضاح اخير يمكن تقيد فتح النموذج الاخير بحيث لا يمكن فتحه الا من خلال زر الامر بعد كتابة الرمز الصحيح ولكن نكتفي بهذه المشاركة اخونا الشايب رقم سري.accdb
    1 point
  11. تابع شرح استاذنا @jjafferr من هنا لتبديل المكتبات لتعمل على النواتين .
    1 point
  12. وعليكم السلام ورحمه الله وبركاته تفضل اخى Private Sub TextBox2_Change() Application.OnTime Now() + TimeValue("00:00:02"), "ورقة1.test" End Sub Sub test() Dim Wb As Workbook, WbName As String, xWb As Workbook Dim ws As Worksheet, sh As Worksheet Dim X, M, N Set ws = ThisWorkbook.Worksheets("ورقة1") If TextBox2 = "" Then AutoFilterMode = False Else WbName = "2024.xlsm" WbPath = ThisWorkbook.Path & "\" & WbName For Each Wb In Workbooks If Wb.Name = WbName Then Exit For Next On Error Resume Next Set Wb = Application.Workbooks.Item(WbName) On Error GoTo 0 If Not Wb Is Nothing Then Set sh = Wb.Worksheets("الأرصدة") ws.Range("H1").AutoFilter , field:=8, Criteria1:=TextBox2.Text 1 M = Application.Match(CDbl(Date), sh.Rows(2), 0) If IsError(M) Then ' insert column to date if not found N = Application.Match("*", sh.Rows(2), 0) sh.Columns(N).Insert sh.Cells(2, N).Value = Date GoTo 1 End If X = Application.Match(Val(TextBox2), sh.Columns(M + 2), 0) If Not IsError(X) Then With sh.Cells(X, M) .Value = ws.Cells(1, "I").Value .Interior.ColorIndex = 30 .Font.ColorIndex = 20 End With Wb.Save ' Save sheet after set data End If End If End If End Sub
    1 point
×
×
  • اضف...

Important Information