نجوم المشاركات
Popular Content
Showing content with the highest reputation on 27 أغس, 2022 in all areas
-
السلام عليكم أخي قاسم 🙂 الحمدلله بعد العديد من المحاولات في جلب أسماء القواعد الخلفية المتعددة (وبدون تكرار) في حال أن القاعدة الواحدة لها أكثر من جدول، توصلت بفضل الله إلى الطريقة . الفكرة تتلخص في كود يحضر لك جميع مسارات القواعد الخلفية BE ويخزنها في متغير من نوع Collection وبدون تكرار .. ثم في حلقة Loop يقوم بإرسال مسارات أو روابط هذه القواعد إلى كود النسخ الإحتياطي Backup ليقوم بحفظ نسخة إحتياطية من القاعدة الخلفية بنفس المسمى + التاريخ والوقت .. يحفظها في مجلد Backup بجانب قاعدة البيانات . في الملف المرفق ستجدون 3 ملفات ( الواجهة : My_App_FE.accdb و القواعد الخلفية : BE_1.accdb و BE_2.accdb ) (ملاحظة : لن تحتاج لإعادة ربط الواجهة بالقواعد الخلفية ، فقد جعلتها ترتبط تلقائيا عند الفتح ) 🙂 سيفتح لك النموذج واضغط على حفظ وشاهد النتيجة 🙂 إنشاء مجلد الباكب تلقائيا : النسخ الإحتياطية : وهذا هو المرفق: 🙂 Backup Mor Than One BE.zip5 points
-
3 points
-
وبعد هذا الجهد .. صدفة وجدت هذا الموضوع لحبيبنا المهندس محمد عصام @ابو جودي طبعا بطريقة مختلفة وفكر متجدد 🙂3 points
-
2 points
-
السلام عليكم اتفضل استاذ @marwa41 ان شاء الله يكون ما تريد سيتم انشاء ملف pdf باسم الشيت اللى انت موجود فيه والمجلد فى اى مكان فى الجهاز Sub print_pdf() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ Application.ActiveWorkbook.Path & "\printpdf\" & ActiveSheet.Name & ".pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True End Sub بالتوفيق Data.rar2 points
-
وعليكم السلام ورحمه الله وبركاته استبدل الكود الخاص بك بهذا الكود Private Sub CommandButton1_Click() Dim Sh As Worksheet, LROW As Long Set Sh = ThisWorkbook.Worksheets("قاعدة بيانات") LROW = Sh.Range("I" & Rows.Count).End(xlUp).Row + 1 If WorksheetFunction.CountIfs(Sh.Range("I2:I" & LROW), TextBox1.Value) = 0 Then Sh.Range("I" & LROW).Value = TextBox1.Value Sh.Range("I" & LROW + 1).Value = TextBox1.Value TextBox1.Value = "" Else MsgBox "اسم الصنف مكرر" End If MsgBox ("يرجى ادخال البيانات كاملة بصورة صحيحة") End Sub2 points
-
2 points
-
السلام عليكم لم ستطع التجربية يعمل معي الكود ، ربما يستخدم مكتبات ليست محملة حاليا على جهازي انا صراحة لم اتطرق الي موضوع التنزيل من تطبيق الواتس سابقا و لكن مبدأيا هل يمكن ان توضح لنا لماذا تريد عمل ذلك بالكود فى اكسيل ، لست خبيرا فى الواتس و لكن أعتقد أن تصدير الصور من الواتس اب ويب متاح من التطبيق https://howtosguru.com/how-to-download-all-photos-from-whatsapp-web/2 points
-
2 points
-
2 points
-
تفضل استاذ منير طبعاً بعد اذن استاذنا الكبير ابراهيم .. فالكود يعمل بكل كفاءة وان حدث اى مشكلة معك فبسببك انت لأنك لم تضع الكود كما يجب ان يكون بالملف وشوف بنفسك حتى يتم اغلاق المشاركة Private Sub CommandButton1_Click() arr = Array("B5", "C5", "F5", "C8", "E9", "G10") tmp = Array(TextBox1.Value, TextBox4.Value, TextBox3.Value, _ TextBox2.Value, TextBox5.Value, TextBox6.Value) For i = LBound(arr) To UBound(arr) Range(arr(i)) = tmp(i) Next For Each Ctrl In Me.Controls If TypeName(Ctrl) = "TextBox" Then Ctrl.Value = "" End If Next Ctrl End Sub ترحيل إلى خانات متفرقة.xlsb2 points
-
2 points
-
الشكر لله ثم لاخواننا واساتذتنا جزاهم الله عنا كل خير اتفضل التعديل بالتوفيق karem1.mdb1 point
-
اتمنى ان يكون هذا هو طلبك لمزيد من الامثله قم بزيارتنا https://wayprograms.blogspot.com/ counter problem.rar1 point
-
ولن تجد لانك جعلت تنسيق النموذج الفرعي ورقة بيانات غير طريقة العرض الى نماذج مستمر وحينها افعل ما تريد1 point
-
1 point
-
أخي @محمد احمد لطفى ، هل اختيارك لأفضل إجابة بناء على مقارنة وتفاضل بين الحلول؟ أرجو تزويدي بمؤاخاذاتك على مثالي ، حتى أتجنب أخطائي مستقبلا وأطور من نفسي وأتقن إرضاء السائلين. عموما حتى المثال الأخير به خطأ ولا يزال مثالي باعتقادي هو الأصح بنتائجه ، مع الإعتذار للزميل والأخ @أبو إبراهيم الغامدي فهو من أقوى المبرمجين في الموقع الذين يجيدون كتابة الشفرات.1 point
-
جزاكم الله كل خير على هذا المجهود الرائع الاستاتذة الكرام استاذنا hassona229 واستاذنا رضا على تم حل المسألة بكرمكم1 point
-
وعليكم السلام ورحمه الله وبركاته اخي ابو علياء عاطف ..وقف الكود الموجود في Module21 قبل ان تبدأ بعمليه النسخ واللصق أبو عزيز بعد التعديل النهائي 2022.xlsb1 point
-
1 point
-
1 point
-
شكرا لك دكتور قاسم .. والشرف لي بمعرفتك ☺️🌹1 point
-
صدقت! لأن هناك حالتين في الشريحة الثالثة لم أقوم بإدراجها! والتي أشرتَ إليها واحدة منها.. والأخيرة أن تكون الحالة أصغر من بداية الفترة وأكبر من نهاية الفترة.. بمعنى أنها مفتوحة الطرفين.. وهذه لا أتوقع حدوثها لأن نهاية الفترة الثالثة 2050! finish (5).mdb1 point
-
فعلا افتخر بنفسي اني تعرفت عليك اخي @Moosakوبارك الله بجهودك1 point
-
Function Between(inDate As Date, SP As Date, EP As Date) As Boolean Between = inDate >= SP And inDate <= EP End Function Public Function DatePeriod(ByVal StartDate As Date, ByVal EndDate As Date, _ Optional ByRef Per1 As Integer, _ Optional ByRef Per2 As Integer, _ Optional ByRef Per3 As Integer) As String Const SP1 = #1/1/1990#: Const EP1 = #9/6/2016# Const SP2 = EP1 + 1: Const EP2 = #9/30/2020# Const SP3 = EP2 + 1: Const EP3 = #1/1/2050# '------------------ If EndDate < StartDate Then GoTo Result If Not (Between(StartDate, SP1, EP3) Or _ Between(EndDate, SP1, EP3) Or _ Between(SP1, StartDate, EndDate) Or _ Between(EP3, StartDate, EndDate)) Then GoTo Result If StartDate < SP1 Then StartDate = SP1 If EndDate > EP3 Then EndDate = EP3 '------------------ If Between(StartDate, SP1, EP1) Then Per1 = DateDiff("w", StartDate, IIf(EP1 > EndDate, EndDate, EP1)) If EP1 < EndDate Then StartDate = SP2 Else GoTo Result End If If Between(StartDate, SP2, EP2) Then Per2 = DateDiff("m", StartDate, IIf(EP2 > EndDate, EndDate, EP2)) If EP2 < EndDate Then StartDate = SP3 Else GoTo Result End If Per3 = DateDiff("m", StartDate, IIf(EP3 > EndDate, EndDate, EP3)) Result: DatePeriod = Per1 & "," & Per2 & "," & Per3 End Function Sub DatePeriodTest() Dim Per1 As Integer, Per2 As Integer, Per3 As Integer Debug.Print " " & DatePeriod(DateSerial(1989, 9, 1), DateSerial(2050, 1, 1), Per1, Per2, Per3) Debug.Print Per1, Per2, Per3 End Sub إن شاء الله فهمت طلبك بشكل صحيح.1 point
-
1 point
-
وعليكم السلام 🙂 مشكلتك في مكان آخر في الكود 🙂 اعمل Compile ، وصحح جميع الاخطاء ، وبيشتغل البرنامج كما يجب ان شاء الله 🙂 . وبما انك مصرح بنوعي يجب عليك في الكود تحديد اي نوع من انواع Recordset تريد ان تستعمل ، لأنك مصرح بالنوعين ، لذا يجب كتابة DAO ، واعمل Dim مستقل للـ Recordset وإلا فلن يُظهر لك اي مساعدة في الكود : Dim db As DAO.Database dim RS As DAO.Recordset جعفر1 point
-
أهلا محمد... أعتذر منك لأني لم استجب لنداءك قمت بالتوفيق بين أفكار الزملاء بالحل المرفق.. Option Compare Database Option Explicit Public Const SP1 = #1/1/1990# Public Const EP1 = #9/6/2016# Public Const SP2 = #9/7/2016# Public Const EP2 = #9/30/2020# Public Const SP3 = #9/30/2020# Public Const EP3 = #1/1/2050# Public Function DatePeriod(StartDate, EndDate, Interval) Dim Periods(1 To 3) As Variant If (StartDate >= SP1) And (EndDate <= EP1) Then Periods(1) = DateDiff("w", StartDate, EndDate) ElseIf (StartDate < SP1) And (EndDate <= EP1) Then Periods(1) = DateDiff("w", SP1, EndDate) ElseIf (StartDate < SP1) And (EndDate > EP1) Then Periods(1) = DateDiff("w", SP1, EP1) Else Periods(1) = 0 End If If (StartDate >= SP2) And (EndDate <= EP2) Then Periods(2) = DateDiff("m", StartDate, EndDate) ElseIf (StartDate < SP2) And (EndDate <= EP2) Then Periods(2) = DateDiff("m", SP2, EndDate) ElseIf (StartDate < SP2) And (EndDate > EP2) Then Periods(2) = DateDiff("m", SP2, EP2) ElseIf (StartDate >= SP2) And (EndDate > EP2) Then Periods(2) = DateDiff("m", StartDate, EP2) Else Periods(2) = 0 End If If (StartDate >= SP3) And (EndDate <= EP3) Then Periods(3) = DateDiff("m", StartDate, EndDate) ElseIf (StartDate >= SP3) And (EndDate > EP3) Then Periods(3) = DateDiff("m", StartDate, EP3) Else Periods(3) = 0 End If DatePeriod = Periods(Interval) End Function finish .mdb1 point
-
وعليكم السلام ورحمة الله تعالى وبركاته تم انشاء كود جديد يلبي المطلوب بادن الله Sub M_H() Dim i As Long Dim MH As Long, k As Long Application.ScreenUpdating = False With Sheets("saad") lr = Cells(Rows.Count, 1).End(3).Row 'افراغ النطاق من البيانات السابقة قبل الترحيل Sheets("data").Range("c10:l" & lr).ClearContents lrow = .Cells(Rows.Count, 2).End(xlUp).Row ' الاعمدة المطلوب ترحيلها frt = Split("B,D,E,G,I,L,J,K,O", ",") 'الاعمدة المرحل اليها tot = Split("D,E,F,G,H,K,I,J,L", ",") For i = LBound(frt) To UBound(frt) 'نسخ البيانات ابتداءا من الصف العاشر .Range(frt(i) & "10:" & frt(i) & lrow).Copy Sheets("Data").Range(tot(i) & "10") Next i End With ' ترقيم تلقائي للصفوف المرحلة بشرط وجود قيمة في 'العمود(D) 'ابتداءا من الصف العاشر With Sheets("data") k = 1 For MH = 10 To .Range("D" & .Rows.Count).End(xlUp).Row If .Range("C" & MH) = valeu Then .Range("C" & MH) = k k = k + 1 End If Next MH End With ' كود اظافي 'With Sheets("data") '.Range("C10") = 1 '.Range("C11") = 2 '.Range("C10:C11").AutoFill .Range("C10:C" & lrow) 'End With End Sub AHMAD-MH.xlsm1 point
-
السلام عليكم ورحمة الله ضف هذه الجزئية فى نهاية الكود For Each Ctrl In Me.Controls If TypeName(Ctrl) = "TextBox" Then Ctrl.Value = "" End If Next Ctrl1 point
-
السلام عليكم ورحمة الله خصص زر فى الفورم و ضع به هذا الكود Private Sub CommandButton1_Click() arr = Array("B5", "C5", "F5", "C8", "E9", "G10") tmp = Array(TextBox1.Value, TextBox4.Value, TextBox3.Value, _ TextBox2.Value, TextBox5.Value, TextBox6.Value) For i = LBound(arr) To UBound(arr) Range(arr(i)) = tmp(i) Next End Sub1 point
-
1 point
-
1 point
-
تفضل هذا كود تكرار السجل : 🙂 Private Sub DublicateRecBtn_Click() On Error GoTo Err_DublicateRecBtn_Click DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdCopy DoCmd.RunCommand acCmdRecordsGoToNew DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdPaste Exit_DublicateRecBtn_Click: Exit Sub Err_DublicateRecBtn_Click: MsgBox Err.Description Resume Exit_DublicateRecBtn_Click End Sub1 point
-
1 point
-
1 point
-
1 point