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

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

  1. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      14

    • Posts

      2,302


  2. متقاعد

    متقاعد

    الخبراء


    • نقاط

      6

    • Posts

      583


  3. AbuuAhmed

    AbuuAhmed

    الخبراء


    • نقاط

      6

    • Posts

      976


  4. kkhalifa1960

    kkhalifa1960

    الخبراء


    • نقاط

      5

    • Posts

      1,688


Popular Content

Showing content with the highest reputation on 14 فبر, 2023 in all areas

  1. عمل جميل بارك الله فيك بطريقتين الباء حرف جر طريقتين اسم مجرور باليا لانه مثنى بالألف ارفع المثنى وكلا .. إذا بمضمر مضافا وصلا كلتا كذاك اثنان واثنتان .. كابنين وابنتين يجريان وتخلف اليا في جميعها الألف .. جرًا ونصبًا بعد فتح قد ألف
    4 points
  2. اضافة لما تفضل به الاستاذ @kkhalifa1960..لم أتي بشيء جديد لكني أفضل كتابة الكود للفائدة..لان تعلم كتابة الكود ومعرفة كل سطر امر مهم لكل مبرمج Dim rs As DAO.Recordset Dim sql As String sql = "select * from tb1 " Set rs = CurrentDb.OpenRecordset(sql) rs.AddNew rs!NameX = Me.txtName rs!Adress = Me.txtAddress Me.txtName = "" Me.txtAddress = "" rs.Update Set rs = Nothing
    3 points
  3. اعذروني اخوتي الفضلاء ...فليس لي غيركم اصدقاء لابوح عما بداخلي .. مضى اكثر من اسبوع علي وانا ابكي دما على اخوتي واشقائي في الدين والانسانية ...في سوريا وفي تركيا مناظر تدمي القلب من هول الفاجعة... سؤالي ...هل يمكن لموقع اوفيسنا جمع التبرعات لاخوتنا هناك الناس بتموت برد ... انا اول المتبرعين
    2 points
  4. ياهلا باخي الحبيب قاسم نحن معذورون معذورون خبر مرفوع بالواو "لانها جمع مذكر سالم" ولو سبقت بال التعريف جاز نصبها على اعتبارها مفعول به منصوب على الاختصاص بفعل محذوف وجوبا مع فاعله كقوله تعالى (قالوا إِنَّ لَنا لَأَجرًا إِن كُنّا نَحنُ الغالِبينَ) اما خلاف ذلك وارفع بواو و بيا اجرر وانصب .. سالم جمع عامر و مذنب وشبه ذين و به عشرونا .. وبابه ألحق و الأهلونا أولو و عالمون علييونا.. وأرضون شذ و السنونا وبابه ومثل حين قد يرد .. ذا الباب و هو عند قوم يطرد
    2 points
  5. إذا أردت الفصل فقط بدون معالجة قيمة الرقم الصحيح فاستخدم دالة Fix بدلا من Int جرب الدالتين على رقم -1.4 و -1.6 لتعرف الفرق بين الدالتين. (الرقمين بالسالب)
    2 points
  6. نسيت شيئا ...في حالة اردنا عدم طباعة نفس الاسم مرة اخرى .. Dim fullName As String Dim strSQL As String Dim rs As DAO.Recordset fullName = Me.txtName.Value strSQL = "SELECT * FROM tb1 WHERE NameX = '" & fullName & "';" Set rs = CurrentDb.OpenRecordset(strSQL) If rs.RecordCount > 0 Then MsgBox "الاسم مكرر" Me.txtName = "" Me.txtAddress = "" Me.txtName.SetFocus Else rs.AddNew rs!NameX = fullName rs!Adress = Me.txtAddress Me.txtName = "" Me.txtAddress = "" rs.Update MsgBox "تم التسجيل بنجاح" End If rs.Close Set rs = Nothing
    2 points
  7. وعليكم السلام.. استخدم الاداة int لتعطيك رقم بدون كسور...مثلا في حقل بيانات السلفة يكون : =Int([txtajmaly]*[txtqaim_Solaf])
    2 points
  8. اين الصورة فاضية موجودة صورة رجاء وضح لأن كلامك في تداخل اين المربعات الفاضية .... وضح بالصور لنفهم ماذا تقصد بارك الله فيك
    2 points
  9. يمكن الاطلاع على الموضوع التالي يمكن يفيدك https://www.officena.net/ib/topic/39376-ملف-به-شاشة-دخول-بسيطه-ومنها-الى-شاشة-صلاحيات-متطوره/#comment-218345
    2 points
  10. 2 points
  11. حياك الله أستاذ سعد باين عليك بخيل أستاذ سعد 🙂 ، تعطيني طلباتك بالقطارة. على كل تم التعديل ولكن في كل الأحوال غ م غياب مجاز أو أي حروف أخرى وفارغ أيضا سيعتبرها البرنامج غياب وسيظهر الناتج "راسب". توزيع القرار لمدارس العراق_08.xlsm
    2 points
  12. هي مختلفة جزئيا وليست مختلفة تماما ، وهذا الاختلاف يجب أن يلم به (المبرمج المحاسب) فأنا أستخدم الدالتين في حساباتي وكل دالة أضعها في مكانها الصحيح. وفي المحاسبة أي حساب حقيقي أو وهمي يمكن أن يتغير رصيده ويتحول عكس طبيعته لعدة أسباب ليس المجال هنا لتعدادها، وهنا لا بد من عمل التجارب لمن يختلط عليه الأمر حتى لا يتسبب في مشكلات محاسبية. أنا استخدم ال Int في عمليات حسابية دقيقة جدا لو أستخدم ال Fix بدلها لخربت وتضررت النتائج بشكل كبير ولكن هذه الدالة مثلا لا يمكن استخدامها مع حسابات التاريخ والوقت ويلزم استخدام دالة Fix بدلا منها. موفقين
    1 point
  13. تفضل جرب اخي اسم المستخدم: admin كلمة المرور : 12345 Private Sub CommandButton1_Click() Dim sh As Worksheet Set sh = Sheet1 Dim lr As Long lr = sh.Range("A" & Rows.Count).End(xlUp).Row '''''''''''''''Validation''''''''' With sh .Cells(lr + 1, "A").Value = Me.TextBox2.Text .Cells(lr + 1, "B").Value = Me.TextBox3.Text .Cells(lr + 1, "C").Value = Me.TextBox4.Text .Cells(lr + 1, "D").Value = Me.TextBox5.Text .Cells(lr + 1, "E").Value = Me.TextBox6.Text .Cells(lr + 1, "F").Value = Me.TextBox7.Text .Cells(lr + 1, "G").Value = Me.TextBox8.Text .Cells(lr + 1, "H").Value = Me.TextBox9.Text .Cells(lr + 1, "i").Value = Me.TextBox10.Text .Cells(lr + 1, "j").Value = Me.TextBox11.Text .Cells(lr + 1, "k").Value = Me.TextBox12.Text End With For i = 1 To 12 Controls("textbox" & i + 1).Value = "" On Error Resume Next Next i ListBox1.ColumnCount = 11 ListBox1.RowSource = "A1:K100000" MsgBox "تمت اضافة البيانات بنجاح" End Sub قاعدة بيانات1.xlsm
    1 point
  14. اتفضل وهذا المرفق الجديد وان شاء الله يعمل على كلتا النواتان 32X , 64X وبدون اى مشاكل نسخه من مرفق (2).accdb
    1 point
  15. 1 point
  16. كل شيء ممكن ...بس لو اعرف انت عاوز ايه 😂 اليك المرفق ...وغير به ماتشاء ...اشرح مالذي تريده ولاتخشى اي شيء ...انا شخصيا احترم طالب العلم ربما تحتاج لهذا Me.txt3 = DCount("[jop_hala_coode]", "[data]", "[Insurance_coode] =1 And [jop_hala_coode] =1") test(2).rar
    1 point
  17. استاذي العزيز @AbuuAhmed الدالة fix تأخذ الاعلى مرتبة نزولا في الاحداثي السالب ..والاعلى مرتبة صعودا في الاحداثي الموجب فالاعلى بالنسبة ل 1.6- هو -2 ... وهي مختلفة تماما عن دلة int ..التي تأخذ الاعلى قيمة ....لكن الاخ صاحب المشاركة يمكن ان يستخدمها او لايستخدمها لان ليس من المعقول ان تكون السلفة بالسالب تحياتي استاذي ابو احمد ...ملاحظة جيدة
    1 point
  18. هل تعلم اخي استاذ خالد اني قرأتها (بطريقتين) ولم اعلم انها مكتوبة (بطريقتان) رغم اني ضعيف باللغة العربية !!! لكننا احيانا اصحاب القواعد الضعيفة نكتب مانشاء ..ونحن معذورين على كل حال
    1 point
  19. نعم اخي يمكنك دالك باضافة بسيطة للكود ليتم تنفيده فقط عند التغيير في عمود C Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("C:C")) Is Nothing Then Set f = Sheet2 's("المخزن") Set m = Sheet1 's("البيانات") Application.ScreenUpdating = False Set MonDico = CreateObject("Scripting.Dictionary") For Each a In f.Range("C3", [C65000].End(xlUp)) If a <> "" Then MonDico(a.Value) = "" Next a With m.Range("C3:C65000") .ClearContents .Resize(MonDico.Count) = Application.Transpose(MonDico.keys) End With End If End Sub
    1 point
  20. استاذ محمد الكود يعمل بكفاءة ماشاء الله لكن ارغب في تعديل بسيط لاحظت ان الكود يعمل عند الضغط في اي خلية او ادخال بيانات في اي خلية ما اريد هو ان يتم تنفيذ الكود فقط عند ادخال بيانات في العمود C او D فقط وتحياتي لك
    1 point
  21. لا اعتقد نرجوا من الاخوة الكرام تجربة المثال
    1 point
  22. وعليكم السلام اخ سامر.. احاول الشرح نظريا كي تعم الفائدة ..امسح مصدر البيانات لكل الحقول في النموذج.. بعد حدث بعد التحديث لمربع التحرير..ضع الكود التالي فيما يخص المربع الاول (اجمالي الموظفين (يعمل))..واكل البقية في نفس الحدث ووافني بالنتيجة... Private Sub cbo1_AfterUpdate() Me.Text1 = DCount("[jop_hala_coode]", "[data]", "[jop_hala_coode] =1 And [Location_coode] Like '" & Me.cbo1 & "' ") End Sub cbo1 هو اسم مربع التحرير
    1 point
  23. السلام عليكم جرب هذا الملف مسموح ادخال الارقام فقط وهذا رابط الموضوع تحياتي test.accdb
    1 point
  24. الله يعطيك الف عافية ما قصرت جزاكم الله خيراً 🌹♥️🌹
    1 point
  25. تفضل اخى Sub Merge_Sheets() Dim Sht As Worksheet Dim Sht6 As Worksheet Dim LastRow6 As Long Dim Rng As Range Set Sht6 = Sheets("DataT1") 'Loop though B1DataT1 - B2DataT1 - B3DataT1 For Each Sht In Sheets(Array("B1DataT1", "B2DataT1", "B3DataT1")) 'Find last row LastRow = Sht.Range("A" & Rows.Count).End(xlUp).Row 'Determine lastrow on DatatT1 LastRow6 = Application.Max(3, Sht6.Cells(Rows.Count, 1).End(xlUp).Row + 1) 'Set Range Set Rng = Sht.Range("A3:Q" & LastRow) 'Copy to DataT1 Rng.Copy Destination:=Sht6.Range("A" & LastRow6) Next End Sub ولا تنسي ان تمسح البيانات الموجوده في الشيت Sht6 لان بها بيانات تتعدى ال ٣٠٠٠ السطر
    1 point
  26. تسلم إيدك أستاذى الغالى MN20 هذا هو المطوب بالضبط جعله الله فى ميذان حسناتك حبيبى يا أستاذى الغالى محي الدين ابو البشر بارك الله فيك وسلمت يمينك
    1 point
  27. وعليكم السلام ورحمة الله وبركاته حسب ما فهمت من شرحكم .. يمكن ذلك باستخدام الدالتين (INDEX) و (MATCH) بالمرفقات ملف لعله يوضح ذلك .. الرقم الاستدلالي.xlsx
    1 point
  28. وعليكم السلام ورحمة الله وبركاته يتم ذلك باستخدام الدالة (int) ... الملف بالمرفقات به المطلوب ان شاء الله. IF.xlsx
    1 point
  29. ربما Sub Merge_Sheets() Dim Sht As Worksheet Dim Sht6 As Worksheet Dim LastRow6 As Long Dim Rng As Range Set Sht6 = Sheets("DataT1") 'Determine lastrow on DatatT1 x = Array("B1DataT1", "B2DataT1", "B3DataT1") 'Loop though B1DataT1 - B2DataT1 - B3DataT1 For i = 0 To UBound(x) Set Sht = Sheets(x(i)) 'Find last row LastRow = Sht.Range("A" & Rows.Count).End(xlUp).Row 'Set Range Set Rng = Sht.Range("A3:Q" & LastRow) LastRow6 = Sht6.Cells(Rows.Count, 1).End(xlUp).Row 'Copy to DataT1 Rng.Copy Destination:=Sht6.Range("A" & LastRow6 + 2) Next End Sub
    1 point
  30. بالاذن خيار آخر Sub test() Dim a, b Dim i&, ii&, c& With Sheets("Budget 2023") a = .Cells(2, 3).Resize(.Cells(Rows.Count, 3).End(xlUp).Row, .Cells(3, Columns.Count).End(xlToLeft).Column) ReDim b(1 To UBound(a), 1 To UBound(a, 2)) End With c = 1 For i = 1 To UBound(a) If Application.Sum(Application.Index(a, i, Evaluate("row(4" & ":" & UBound(a, 2) - 3 & ")"))) <> 0 Then For ii = 1 To UBound(a, 2) b(c, ii) = a(i, ii) Next c = c + 1 End If Next Sheets("بعد التصفية").Cells(2, 3).Resize(c, UBound(b, 2)) = b End Sub
    1 point
  31. السلام عليكم ورحمة الله وبركاته حياك الله استاذ ... ربي يحفظك لا نعرف كيف نشكرك استاذي واخي ابو احمد تأخرت بالرد على الموضوع بسبب الحالة الصحية والحمد لله. شكرا لك وجعلها الله في ميزان حسناتك .
    1 point
  32. 1 point
  33. اساتذتي الكرام ... شكرا لتفاعلكم وعلى معلوماتكم القيمة اود التوضيح فقط عن سبب طلبي ... وهو اني استخدم طريقة الاستاذ القدير @ابو جودي في حماية قاعدة البيانات مع فترة تجريبية حيث القاعدة مقسمة الى امامية وخلفية والمشكلة تكمن ان من نعطيهم البرنامج يتمكنون من معرفة كلمة مرورو القاعدة الخلفية عن طريق القاعدة الامامية ومن ثم يتم التلاعب بقيم جدول المدة التجريبية ويتم تمديد الفترة التجربة .. وقد اشار استاذنا ابوجودي الى امكانية تشفير بيانات الفترة التجريبية وهو عبارة عن سجل واحد فقط كي لايتم التلاعب بذلك .. فهل من حل مع مثال يمكن التطبيق عليه
    1 point
  34. الاخ الكريم عليك التقيد بقواعد المشاركة لا تدرج اكثر من استفسار او سؤال في موضوع واحد ، واجعل لكل طلب موضوع وعنوان يخصه .
    1 point
  35. وعليكم السلام ورحمة الله وبركاته طريقه Mr.Columns("i:xfb").Hidden = True وايضا range("i:xfb").EntireColumn.Hidden = true
    1 point
  36. نعم اخي واستاذي @ابوبسمله..اتحاشى كثيرا استخدامها في الاستعلام بالنسبة للسجلات الكبيرة الحجم ..اما بالنسبة للمشاريع المحدودة فلا بأس بها
    1 point
  37. اخى عمر بل يمكن استخدامهم داخل الاستعلام ايضا ولكن غير مستحب وذلك لما تسببه من بطىء شديد فى حاله كثره السجلات واليكم رابط لاخى جعفر جزاه الله عنا كل خير وربنا يشفيه ويرجعلنا بالسلامه ان شاء الله ( يشير بعدم استخدامهم بالاستعلام ) واليك المثال لاستخدامها فى الاستعلام وبالتاكيد فهو ليس بحاجه لها كما ذكرت انت واخى قاسم ويكفى استعلام تجميع بالتوفيق vacations_1.accdb
    1 point
  38. طارق نادر استبدل الكود بـ Private Sub CommandButton4_Click() Dim i As Long Dim WS As Worksheet Set WS = Worksheets("مخزن (2024)") With WS.Columns(2) r = .Cells.Find(Me.TextBox2, , , 1).Row For i = 2 To 12 .Cells(r, i) = UserForm1.Controls("Textbox" & i).value UserForm1.Controls("Textbox" & i).value = "" Next End with End Sub
    1 point
  39. عودا حميدا @ابو جودي ايسر طريقة لحفظ حقوق الطرفين نتبع التالي : 1- نجعل شرط لعمل البرنامج ان يكون الانترنت متصلا بالجهاز . ( على الأقل عند فتح البرنامج ) 1- تقسيم البرنامج الى واجهات وخلفية 2- اجعل في الواجهات في محرر الفيجوال _ شرط _ العمل الى تاريخ محدد ( شهر مثلا ) البرنامج يأخذ التاريخ الدولي من الانترنت .. احتياطا فيما لو تم التلاعب بتاريخ الجهاز ، ومن واقع تجربة قليل من يفعل ذلك لانه يلزمه تغيير التاريخ كلما اراد فتح البرنامج ,,, والمثل يقول ( من عاش بالحيلة مات من الفقر ) 3- بعد الشهر سوف يتوقف البرنامج 4- بيانات العميل المدخلة موجودة عنده 5- نرسل له نسخة من الواجهات مفتوحة ,, لصق في المجلد واستبدال
    1 point
  40. شوف يا سيدى انا بالفعل شرعت فى عمل الاجابة لكم ولكن.. اولا اعتذر لضيق وقتى بسبب ظروف قهرية ثانيا : لا انصحك بعمل ذلك والسبب التشفير لا يتم على البيانات داخل الجدول اجمالا وانما يتم على كل حقل ولذلك بناء الكود سوف يكون كالاتى كود بقوم بعمل دوران على كل الجدول باستثناء جداول المستخدمين للدخول وجدول بيانات الفترة التجريبية ايا كان عدد الجدول واثناء الدوران كود لجلب اسماء الحقول لكل جدول على حده كود لعمل دوران داخل سجلات كل جدول لكل حقل على حدة لاجراء عملية التشفير يعنى : لو الجدول X يحتوى على 5 حقول ويضم 1000 سجل يتم الدوران الف مرة للتشفير البيانات لحقل 1 ثم اعادة العملية للحقل 2... يعنى يتم الدوران 5000 مرة اعتقد الموضوع سوف يأخذ الكثير من الوقت بكثر البيانات وعدد الجداول ؟ رأى المتواضع لا اجبذ القيام بذلك وتحضرنى هنا مقولة لاستاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل بارك الله فى عمره وكل اساتذتنا الافاضل الكرام انت تملك الحقوق الفكرية فى التصميم ولكن المستخدم يملك البيانات
    1 point
  41. الاستاذ الفاضل ابو احمد وفقكم الله وحفظكم من كل سوء
    1 point
  42. مثال أولي قابل للتطوير بانتظار تجاربكم ومراجعاتكم بخيرها وشرها 🙂 PeriodsPrepare_01.accdb
    1 point
×
×
  • اضف...

Important Information