نجوم المشاركات
Popular Content
Showing content with the highest reputation on 14 فبر, 2023 in all areas
-
عمل جميل بارك الله فيك بطريقتين الباء حرف جر طريقتين اسم مجرور باليا لانه مثنى بالألف ارفع المثنى وكلا .. إذا بمضمر مضافا وصلا كلتا كذاك اثنان واثنتان .. كابنين وابنتين يجريان وتخلف اليا في جميعها الألف .. جرًا ونصبًا بعد فتح قد ألف4 points
-
4 points
-
اضافة لما تفضل به الاستاذ @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 = Nothing3 points
-
اعذروني اخوتي الفضلاء ...فليس لي غيركم اصدقاء لابوح عما بداخلي .. مضى اكثر من اسبوع علي وانا ابكي دما على اخوتي واشقائي في الدين والانسانية ...في سوريا وفي تركيا مناظر تدمي القلب من هول الفاجعة... سؤالي ...هل يمكن لموقع اوفيسنا جمع التبرعات لاخوتنا هناك الناس بتموت برد ... انا اول المتبرعين2 points
-
ياهلا باخي الحبيب قاسم نحن معذورون معذورون خبر مرفوع بالواو "لانها جمع مذكر سالم" ولو سبقت بال التعريف جاز نصبها على اعتبارها مفعول به منصوب على الاختصاص بفعل محذوف وجوبا مع فاعله كقوله تعالى (قالوا إِنَّ لَنا لَأَجرًا إِن كُنّا نَحنُ الغالِبينَ) اما خلاف ذلك وارفع بواو و بيا اجرر وانصب .. سالم جمع عامر و مذنب وشبه ذين و به عشرونا .. وبابه ألحق و الأهلونا أولو و عالمون علييونا.. وأرضون شذ و السنونا وبابه ومثل حين قد يرد .. ذا الباب و هو عند قوم يطرد2 points
-
إذا أردت الفصل فقط بدون معالجة قيمة الرقم الصحيح فاستخدم دالة Fix بدلا من Int جرب الدالتين على رقم -1.4 و -1.6 لتعرف الفرق بين الدالتين. (الرقمين بالسالب)2 points
-
نسيت شيئا ...في حالة اردنا عدم طباعة نفس الاسم مرة اخرى .. 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 = Nothing2 points
-
وعليكم السلام.. استخدم الاداة int لتعطيك رقم بدون كسور...مثلا في حقل بيانات السلفة يكون : =Int([txtajmaly]*[txtqaim_Solaf])2 points
-
2 points
-
يمكن الاطلاع على الموضوع التالي يمكن يفيدك https://www.officena.net/ib/topic/39376-ملف-به-شاشة-دخول-بسيطه-ومنها-الى-شاشة-صلاحيات-متطوره/#comment-2183452 points
-
2 points
-
حياك الله أستاذ سعد باين عليك بخيل أستاذ سعد 🙂 ، تعطيني طلباتك بالقطارة. على كل تم التعديل ولكن في كل الأحوال غ م غياب مجاز أو أي حروف أخرى وفارغ أيضا سيعتبرها البرنامج غياب وسيظهر الناتج "راسب". توزيع القرار لمدارس العراق_08.xlsm2 points
-
هي مختلفة جزئيا وليست مختلفة تماما ، وهذا الاختلاف يجب أن يلم به (المبرمج المحاسب) فأنا أستخدم الدالتين في حساباتي وكل دالة أضعها في مكانها الصحيح. وفي المحاسبة أي حساب حقيقي أو وهمي يمكن أن يتغير رصيده ويتحول عكس طبيعته لعدة أسباب ليس المجال هنا لتعدادها، وهنا لا بد من عمل التجارب لمن يختلط عليه الأمر حتى لا يتسبب في مشكلات محاسبية. أنا استخدم ال Int في عمليات حسابية دقيقة جدا لو أستخدم ال Fix بدلها لخربت وتضررت النتائج بشكل كبير ولكن هذه الدالة مثلا لا يمكن استخدامها مع حسابات التاريخ والوقت ويلزم استخدام دالة Fix بدلا منها. موفقين1 point
-
تفضل جرب اخي اسم المستخدم: 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.xlsm1 point
-
اتفضل وهذا المرفق الجديد وان شاء الله يعمل على كلتا النواتان 32X , 64X وبدون اى مشاكل نسخه من مرفق (2).accdb1 point
-
1 point
-
كل شيء ممكن ...بس لو اعرف انت عاوز ايه 😂 اليك المرفق ...وغير به ماتشاء ...اشرح مالذي تريده ولاتخشى اي شيء ...انا شخصيا احترم طالب العلم ربما تحتاج لهذا Me.txt3 = DCount("[jop_hala_coode]", "[data]", "[Insurance_coode] =1 And [jop_hala_coode] =1") test(2).rar1 point
-
استاذي العزيز @AbuuAhmed الدالة fix تأخذ الاعلى مرتبة نزولا في الاحداثي السالب ..والاعلى مرتبة صعودا في الاحداثي الموجب فالاعلى بالنسبة ل 1.6- هو -2 ... وهي مختلفة تماما عن دلة int ..التي تأخذ الاعلى قيمة ....لكن الاخ صاحب المشاركة يمكن ان يستخدمها او لايستخدمها لان ليس من المعقول ان تكون السلفة بالسالب تحياتي استاذي ابو احمد ...ملاحظة جيدة1 point
-
هل تعلم اخي استاذ خالد اني قرأتها (بطريقتين) ولم اعلم انها مكتوبة (بطريقتان) رغم اني ضعيف باللغة العربية !!! لكننا احيانا اصحاب القواعد الضعيفة نكتب مانشاء ..ونحن معذورين على كل حال1 point
-
نعم اخي يمكنك دالك باضافة بسيطة للكود ليتم تنفيده فقط عند التغيير في عمود 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 Sub1 point
-
استاذ محمد الكود يعمل بكفاءة ماشاء الله لكن ارغب في تعديل بسيط لاحظت ان الكود يعمل عند الضغط في اي خلية او ادخال بيانات في اي خلية ما اريد هو ان يتم تنفيذ الكود فقط عند ادخال بيانات في العمود C او D فقط وتحياتي لك1 point
-
1 point
-
وعليكم السلام اخ سامر.. احاول الشرح نظريا كي تعم الفائدة ..امسح مصدر البيانات لكل الحقول في النموذج.. بعد حدث بعد التحديث لمربع التحرير..ضع الكود التالي فيما يخص المربع الاول (اجمالي الموظفين (يعمل))..واكل البقية في نفس الحدث ووافني بالنتيجة... 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
-
السلام عليكم جرب هذا الملف مسموح ادخال الارقام فقط وهذا رابط الموضوع تحياتي test.accdb1 point
-
1 point
-
تفضل اخى 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
-
تسلم إيدك أستاذى الغالى MN20 هذا هو المطوب بالضبط جعله الله فى ميذان حسناتك حبيبى يا أستاذى الغالى محي الدين ابو البشر بارك الله فيك وسلمت يمينك1 point
-
وعليكم السلام ورحمة الله وبركاته حسب ما فهمت من شرحكم .. يمكن ذلك باستخدام الدالتين (INDEX) و (MATCH) بالمرفقات ملف لعله يوضح ذلك .. الرقم الاستدلالي.xlsx1 point
-
وعليكم السلام ورحمة الله وبركاته يتم ذلك باستخدام الدالة (int) ... الملف بالمرفقات به المطلوب ان شاء الله. IF.xlsx1 point
-
ربما 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 Sub1 point
-
بالاذن خيار آخر 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 Sub1 point
-
السلام عليكم ورحمة الله وبركاته حياك الله استاذ ... ربي يحفظك لا نعرف كيف نشكرك استاذي واخي ابو احمد تأخرت بالرد على الموضوع بسبب الحالة الصحية والحمد لله. شكرا لك وجعلها الله في ميزان حسناتك .1 point
-
1 point
-
اساتذتي الكرام ... شكرا لتفاعلكم وعلى معلوماتكم القيمة اود التوضيح فقط عن سبب طلبي ... وهو اني استخدم طريقة الاستاذ القدير @ابو جودي في حماية قاعدة البيانات مع فترة تجريبية حيث القاعدة مقسمة الى امامية وخلفية والمشكلة تكمن ان من نعطيهم البرنامج يتمكنون من معرفة كلمة مرورو القاعدة الخلفية عن طريق القاعدة الامامية ومن ثم يتم التلاعب بقيم جدول المدة التجريبية ويتم تمديد الفترة التجربة .. وقد اشار استاذنا ابوجودي الى امكانية تشفير بيانات الفترة التجريبية وهو عبارة عن سجل واحد فقط كي لايتم التلاعب بذلك .. فهل من حل مع مثال يمكن التطبيق عليه1 point
-
الاخ الكريم عليك التقيد بقواعد المشاركة لا تدرج اكثر من استفسار او سؤال في موضوع واحد ، واجعل لكل طلب موضوع وعنوان يخصه .1 point
-
وعليكم السلام ورحمة الله وبركاته طريقه Mr.Columns("i:xfb").Hidden = True وايضا range("i:xfb").EntireColumn.Hidden = true1 point
-
نعم اخي واستاذي @ابوبسمله..اتحاشى كثيرا استخدامها في الاستعلام بالنسبة للسجلات الكبيرة الحجم ..اما بالنسبة للمشاريع المحدودة فلا بأس بها1 point
-
اخى عمر بل يمكن استخدامهم داخل الاستعلام ايضا ولكن غير مستحب وذلك لما تسببه من بطىء شديد فى حاله كثره السجلات واليكم رابط لاخى جعفر جزاه الله عنا كل خير وربنا يشفيه ويرجعلنا بالسلامه ان شاء الله ( يشير بعدم استخدامهم بالاستعلام ) واليك المثال لاستخدامها فى الاستعلام وبالتاكيد فهو ليس بحاجه لها كما ذكرت انت واخى قاسم ويكفى استعلام تجميع بالتوفيق vacations_1.accdb1 point
-
طارق نادر استبدل الكود بـ 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 Sub1 point
-
عودا حميدا @ابو جودي ايسر طريقة لحفظ حقوق الطرفين نتبع التالي : 1- نجعل شرط لعمل البرنامج ان يكون الانترنت متصلا بالجهاز . ( على الأقل عند فتح البرنامج ) 1- تقسيم البرنامج الى واجهات وخلفية 2- اجعل في الواجهات في محرر الفيجوال _ شرط _ العمل الى تاريخ محدد ( شهر مثلا ) البرنامج يأخذ التاريخ الدولي من الانترنت .. احتياطا فيما لو تم التلاعب بتاريخ الجهاز ، ومن واقع تجربة قليل من يفعل ذلك لانه يلزمه تغيير التاريخ كلما اراد فتح البرنامج ,,, والمثل يقول ( من عاش بالحيلة مات من الفقر ) 3- بعد الشهر سوف يتوقف البرنامج 4- بيانات العميل المدخلة موجودة عنده 5- نرسل له نسخة من الواجهات مفتوحة ,, لصق في المجلد واستبدال1 point
-
شوف يا سيدى انا بالفعل شرعت فى عمل الاجابة لكم ولكن.. اولا اعتذر لضيق وقتى بسبب ظروف قهرية ثانيا : لا انصحك بعمل ذلك والسبب التشفير لا يتم على البيانات داخل الجدول اجمالا وانما يتم على كل حقل ولذلك بناء الكود سوف يكون كالاتى كود بقوم بعمل دوران على كل الجدول باستثناء جداول المستخدمين للدخول وجدول بيانات الفترة التجريبية ايا كان عدد الجدول واثناء الدوران كود لجلب اسماء الحقول لكل جدول على حده كود لعمل دوران داخل سجلات كل جدول لكل حقل على حدة لاجراء عملية التشفير يعنى : لو الجدول X يحتوى على 5 حقول ويضم 1000 سجل يتم الدوران الف مرة للتشفير البيانات لحقل 1 ثم اعادة العملية للحقل 2... يعنى يتم الدوران 5000 مرة اعتقد الموضوع سوف يأخذ الكثير من الوقت بكثر البيانات وعدد الجداول ؟ رأى المتواضع لا اجبذ القيام بذلك وتحضرنى هنا مقولة لاستاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل بارك الله فى عمره وكل اساتذتنا الافاضل الكرام انت تملك الحقوق الفكرية فى التصميم ولكن المستخدم يملك البيانات1 point
-
1 point
-
مثال أولي قابل للتطوير بانتظار تجاربكم ومراجعاتكم بخيرها وشرها 🙂 PeriodsPrepare_01.accdb1 point