-
Posts
2175 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
55
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Moosak
-
استخدم هذا الكود الذي يقوم بحذف بيانات جميع الجداول ما عدا الجداول التي تحددها : ضع هذا الكود في وحدة نمطية : Function DeleteDataFromTables(excludedTables() As Variant) As String Dim obj As AccessObject, dbs As Object Set dbs = Application.CurrentData For Each obj In dbs.AllTables If Left(obj.Name, 4) <> "MSys" And Not IsInArray(obj.Name, excludedTables) Then DoCmd.SetWarnings False DoCmd.RunSQL ("DELETE * FROM " & obj.Name) DoCmd.SetWarnings True End If Next obj DeleteDataFromTables = "تم حذف سجلات جميع الجداول" End Function Function IsInArray(value As Variant, arr As Variant) As Boolean Dim element As Variant On Error Resume Next IsInArray = False For Each element In arr If element = value Then IsInArray = True Exit Function End If Next element End Function ثم يمكنك استدعاء الكود واستخدامه بالطريقة التالية : Sub ExampleUsage() Dim excludedTables() As Variant excludedTables = Array("Table1", "Table2", "Table3") ' قم بتعيين أسماء الجداول التي ترغب في استثنائها هنا Dim result As String result = DeleteDataFromTables(excludedTables) MsgBox result End Sub
-
شكرا لك أخي @Foksh على المشاركة 🙂 ولكن لا أذكر أن هذا الملف لي .. وهو على فكرة كنز ثمين 😄👌🏻
-
شكرا لك أخي @عبد اللطيف سلوم .. تقبل الله منك 🙂🌼
-
المطلوب تمكين كافة النماذج الفرعية من العمل داخل النموذج الرئيسي
Moosak replied to Md Sy's topic in قسم الأكسيس Access
جميل جدا عمي المهندس قاسم .. 🙂 أنا تصوري كان بعمل مربعات نص غير منضمة في الجزء الأسفل من النموذج .. ويتم استحضار البيانات إلى هذه المربعات عن طريق المفتاح الأساسي .. لكن لاحظت أن النماذج الثلاثة لها بنى مختلفة وهذا يصنع تحدي بسيط يحتاج إلى تفكير .. -
انت صاحب همة أخي @tiger wanted تبارك الله 🙂 تابع هذا الموضوع من مايكروسوفت فيه جميع اختصارات خاصية إرسال المفاتيح SendKeys : SendKeys statement (VBA) - Microsoft Learn https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/sendkeys-statement
-
المطلوب تمكين كافة النماذج الفرعية من العمل داخل النموذج الرئيسي
Moosak replied to Md Sy's topic in قسم الأكسيس Access
ربما لو اخترعنا طريقة لتعديل البيانات أو إضافتها عن طريق استعلامات التعديل والإلحاق أو ربما عن طريق فتح RecordSet بالكود .. يمكن إيجاد آلية لعمل ذلك .. نفس فكرة النماذج الغير منظمة لأي جدول أو استعلام .. أيش رايكم ؟ 🙂 -
في حال وجود سؤال جديد متعلق بهذا الموضوع .. يرجى فتح موضوع جديد والإشارة لهذه الصفحة وذلك حسب قوانين المنتدى 🙂 شكرا لكم 🙂 🌹
-
-
احبك الله الذي احببتني فيه اخي العزيز @Foksh 😊🌷
-
كان السبب أنه لابد من حفظ السجل الرئيسي قبل تحميل الملفات 🙂 جرب نزل نفس المرفق الآن ..
-
هذه طريقتي في إعادة تسمية العناصر الكثيرة دفعة واحدة في النموذج بأسماء متسلسلة مثل : ( Box2 , Box1 , ... ) هو كود وقد عملت له نموذج لتسهيل العمل .. 🙂 الكود يقوم أيضا بترتيب وتنسيق العناصر في شكل منتظم لتسهيل عملية التصميم 😊 إقرأ الملاحظات جيدا قبل أن تطبق 😉👌🏻 النموذج : النتيجة ستكون هكذ : ( من >>>> إلى ) >>>> >>>> للاستفادة من هذا النموذج .. قم بنقل النموذج لقاعدة البيانات عندك وسيتعرف تلقائيا على النماذج التي عندك 🙂 ملف التحميل : إعادة تسمية العناصر مع الترتيب بواجهة مرنة.accdb
- 5 replies
-
- 13
-
-
-
-
هذه بعض التعديلات على ملف الأخ العزيز @Foksh 🙂 تم إضافة جدول فرعي ليضم الملفات الخاصة بكل كتاب .. وتم إضافته كنموذج فرعي لنموذج الكتاب : وهذا التعديل على الكود : Dim dbox As Office.FileDialog Set dbox = Application.FileDialog(msoFileDialogFilePicker) With dbox .title = "All File" .Filters.Clear .Filters.Add "All files", "*.*" .AllowMultiSelect = True If .Show = True Then Dim i As Variant For Each i In .SelectedItems CurrentDb.Execute "Insert into tbl_sub_A (Id_A , path ) values ( " & Me.id & " , '" & i & "');" Next End If 'Imagepath = .SelectedItems(1) End With Me.SF.Requery MsgBox "تم الإدراج" err: 'DoCmd.CancelEvent MsgBox err.Number & vbNewLine & err.Description End Sub Try 2023.accdb
-
جمع كل سجل على حدة مع باقى السجلات فى الجدول
Moosak replied to esam munir's topic in قسم الأكسيس Access
أخي عصام أشتغلت حسب الوصف .. ولكن ظهرت إشكاليات تتطلب تدخلك فيها 😅🖐 وهي أنه بعض النتائج لايوجد لها قيمة مقابلة في جدول pSize أعلى منها .. لذلك جعلت مقابلها صفر ( أنظر الأعمدة : size4, size3, size2, size1 ) .. والمعادلة التي وضعتها تقسم ناتج الطرح على قيمة الـ size .. فعندما تكون القيمة تساوي صفر لايمكن القسمة على الصفر .. لذلك استبدلتها بالواحد (1) لكي لا تظهر أخطاء .. لكن النتيجة طبعا ستكون خطأ .. المهم هاك الملف ، وعدل على المعادلات بما تراه مناسبا 🙂 الملف : test.accdb -
جمع كل سجل على حدة مع باقى السجلات فى الجدول
Moosak replied to esam munir's topic in قسم الأكسيس Access
تمام أخي عصام .. ولكن المرة القادمة ضع كل استفساراتك مرة واحدة في أول المشاركة 😉👌 طبعا هذه الخطوة تعمل في استعلام هذه المرة .. لكن هناك استفسار : ليش ال 110 تطرح من 130 وليس 115 حسب التسلسل في جدول psize ؟ الرقم الذي أكبر من 110 مباشرة هو 115 وليس 130 ؟! -
هل بالامكان انشاء نقش مثل نقش الهاتف
Moosak replied to عبدالعليم اسماعيل's topic in قسم الأكسيس Access
شكرا أخي @Foksh 🙂 طبعا تم تأسيس التصميم على النقطة التي ذكرتها .. لأن كل رقم مخصص له خط واحد ، وحسب ملاحظتي للنمط الذي في الهاتف أنه لا يقبل المرور على نفس النقطة مرتين .. 🙂 لكن في عالم البرمجة كل شي ممكن ، ولو تتبعنا الأفكار اللامتناهية بحجم الكون وحاولنا تطبيقها كلها لن ننتهي أبدا أبدا .. 😁🖐 فاكتفيت بهذا القدر .. والله الموفق 😊🌼 ولك الحرية طبعا في تطوير الملف وتطبيق أفكارك الإبداعية فيه .. وتشاركنا إبداعاتك بالتأكيد 😉👌🏻 -
جمع كل سجل على حدة مع باقى السجلات فى الجدول
Moosak replied to esam munir's topic in قسم الأكسيس Access
العفو أخي العزيز 😊🌼 طبعا هذه الخطوة ستضعها في موضوع جديد إن شاء الله ( حسب القوانين ) 😉👌🏻 -
جمع كل سجل على حدة مع باقى السجلات فى الجدول
Moosak replied to esam munir's topic in قسم الأكسيس Access
هذه والله أعلم بسبب أنك لم تضغط على [تمكين] في الشريط الأصفر الذي يظهر لك في الأعلى أول ما تفتح الملف .. 🙂 وبالنسبة لهذه .. فهاك ما طلبت (فقط تأكد من صحة العملية الحسابية) : 🙂 الملف : Sum Them All 2.1 - Moosak.accdb -
جمع كل سجل على حدة مع باقى السجلات فى الجدول
Moosak replied to esam munir's topic in قسم الأكسيس Access
-
جمع كل سجل على حدة مع باقى السجلات فى الجدول
Moosak replied to esam munir's topic in قسم الأكسيس Access
تم بحمد الله 🙂 ما رأيك في هذه النتيجة ؟ ( قمت بتغيير تشكيلة الجدول عن المثال الذي أرفقته لتسهيل قرائة الأرقام 🙂 ) وهذا هو الكود الذي ينفذ الأمر : Option Compare Database Option Explicit Private Sub DoSumBtn_Click() '"planWWB" '"Temp_Sum_T" On Error GoTo HandleError Dim db As DAO.Database Dim Rs1 As DAO.Recordset Dim Rs2 As DAO.Recordset Dim x As Long, i As Integer x = 1 CurrentDb.Execute "DELETE * FROM Temp_Sum_T;" Set db = CurrentDb Set Rs1 = db.OpenRecordset("SELECT * FROM planWWB ORDER BY m;") If Not Rs1.BOF And Not Rs1.EOF Then Rs1.MoveFirst While (Not Rs1.EOF) For i = 3 To 6 CurrentDb.Execute "INSERT INTO Temp_Sum_T (No, m, Operation1, Result1 ) " & _ "VALUES (" & x & "," & Rs1!m & ",'" & Rs1.Fields(i).Name & "'," & Rs1.Fields(i).Value & ");" Set Rs2 = db.OpenRecordset("SELECT * FROM planWWB where m <> " & Rs1!m & " ;") If Not Rs2.BOF And Not Rs2.EOF Then Rs2.MoveFirst While (Not Rs2.EOF) Dim s1 As String, s2 As String, s3 As String, s4 As String s1 = Rs1.Fields(i).Name & " + " & Rs2.Fields(3).Name s2 = Rs1.Fields(i).Name & " + " & Rs2.Fields(4).Name s3 = Rs1.Fields(i).Name & " + " & Rs2.Fields(5).Name s4 = Rs1.Fields(i).Name & " + " & Rs2.Fields(6).Name CurrentDb.Execute "INSERT INTO Temp_Sum_T (No, m, m2, Operation1, Result1, Operation2, Result2, Operation3, Result3, Operation4, Result4 ) " & _ "VALUES (" & x & "," & Rs1!m & "," & Rs2!m & ",'" & _ s1 & "'," & (Rs1.Fields(i).Value + Rs2.Fields(3).Value) & ",'" & _ s2 & "'," & (Rs1.Fields(i).Value + Rs2.Fields(4).Value) & ",'" & _ s3 & "'," & (Rs1.Fields(i).Value + Rs2.Fields(5).Value) & ",'" & _ s4 & "'," & (Rs1.Fields(i).Value + Rs2.Fields(6).Value) & ");" Rs2.MoveNext DoEvents Wend End If Next i x = x + 1 Rs1.MoveNext DoEvents Wend End If Rs1.Close Rs2.Close Set db = Nothing Set Rs1 = Nothing Set Rs2 = Nothing DoCmd.OpenTable "Temp_Sum_T" MsgBox "تم جمع كل السجلات" HandleExit: Exit Sub HandleError: If Err.Number = 0 Then Resume Next Else MsgBox Err.Number & vbNewLine & vbNewLine & Err.Description End If Resume HandleExit End Sub لحذف الحسابات السابقة وإعادة الحساب من جديد تضغط على الزر : الملف : Sum Them All - Moosak.accdb