نجوم المشاركات
Popular Content
Showing content with the highest reputation on 01/18/23 in all areas
-
وعليكم السلام ورحمة الله تعالى وبركاته تفضل اخي Private Sub Worksheet_Activate() Set ws = Sheet1 StartRow = 7 'اول صف EndRow = 34 ' اخر صف ColNum = 2 'رقم عمود الشرط Application.ScreenUpdating = False 'بما انني لاحظت انك واضع حماية للشيت قمنا باضافة فك الحماية لتنفيد الكود ثم ارجاعها Sheet2.Unprotect ' في حالة قمت بالغاءها قم بالغاء تفعيل هدا السطر For i = StartRow To EndRow If ws.Cells(i, ColNum).Value = "" Then Cells(i, ColNum).EntireRow.Hidden = True Else Cells(i, ColNum).EntireRow.Hidden = False End If Next i Sheet2.Protect ' وهنا Application.ScreenUpdating = True End Sub بكج الافراد.xlsm3 points
-
وجهة نظري ان الكميات مكانها جدول التفاصيل .. سواء كان العمل على جدولين او جدول واحد للمبيعات والمشتريات جعلها في جدول الاصناف غير مناسب اوبالاصح غير احترافي المبرمج او المصمم لقواعد البيانات يبحث عن التعامل المستقبلي السهل مع البيانات2 points
-
وعليكم السلام ورحمة الله وبركاته .. 🙂 تم التعديل أخي أحمد .. الآن الدالة تستقبل مدخل أو متغير إضافي وهو (متزوج ؟) من نوع : نعم/لا - True/False : Function FinedSubSalary(Salary As Double, NumOfChiledren As Integer, Optional IsMarried As Boolean = True) As Double ' Moosak Dim DB As DAO.Database Dim RS As DAO.Recordset Dim x As Integer FinedSubSalary = 0 If IsMarried = False Then Exit Function Set DB = CurrentDb Set RS = DB.OpenRecordset("tp1") RS.MoveLast RS.MoveFirst If RS.EOF Then GoTo Finish: For x = 1 To 110 If RS(x) = Salary Then FinedSubSalary = DLookup("[" & x & "]", "tp1", "Id=" & NumOfChiledren) 'Debug.Print x, Salary GoTo Finish: End If Next Finish: RS.Close Set RS = Nothing Set DB = Nothing Exit Function End Function إذا متزوج تشتغل الدالة وإذا أعزب تعطيك صفر .. وعشان تشتغل زين مع القائمة المنسدلة يلزمنا نحول العبارات (متزوج/أعزب) إلى صيغة (نعم/لا) وهكذا كانت الصيغة في مصدر بيانات مربع النص : =FinedSubSalary([xx];[عدد الاطفال];IIf([الحالة الاجتماعية]="متزوج";True;False)) وهذي هي النتيجة النهائية salary - Moosak - 2.rar2 points
-
تفضل مثالك حسب طلبك .... كلام شيخنا صحيح ... InvoiceSale_9.rar1 point
-
تفضل ، لإستخراج الصور التي في ملف pdf الى ملفات بصيغة jpg ، اما اذا لم يكن هناك صور ، فلن يعمل البرنامج 🙂 جعفر PDF_to_JPG_exe.zip1 point
-
الشكر لله ثم لاخواننا واساتذتنا جزاهم الله عنا كل خير وواحده واحده هتتعلم من اخواننا واساتذتنا جزاهم الله عنا كل خير اما منى فانا مثلك طالب علم يحبو عالطريق لاتعلم معكم اللهم آمين واياكم اتفضل التعديل ده اختصارا للتعديلات السابقه التى تمت Private Sub productname_DblClick(Cancel As Integer) Dim stLinkCriteria As String stLinkCriteria = Me![idproduct] DoCmd.OpenForm "fautt" Forms!fautt!autot!idproduct = stLinkCriteria Call Form_autot.idproduct_AfterUpdate End Sub تقبل تحياتى وبالتوفيق اخى معدل _6.rar1 point
-
اداة بحث متقدمة تتغلب على مشاكل البحث في جوجل .ممكن ان تساعدك في كتابة الاكواد وربط الاجهزة انظر مثال ذلك قمت بسؤالة عن كود لارسال تقرير من اكسيس الى تيليجرام اعطاني طبعا ممكن ان تساله اذا واجهت مشاكل في الكود فيجيبك1 point
-
لكم مواضيع غير مسبوقه مع استاذنا وكبيرنا jjafferr اهداء الى ابوجودي . لا يوجد اخطاء يعمل لكافة الشاشات . فلتر 5 يبني بعد آخر بدالة مبسطه . استكمال مرفقة ابو جودي الى 5 . لكليهما في نموذج واحد اختر اما نموذج اوجدول . تحميل XFilter with Run SQL 5-Ezrail.rar استاذ Moosak يجب ان تكون الحقول منسدله او قائمة وفريده مع شرط IF سؤال هل يوجد كود يفصل الانرنت عن مرفق Activitx web مع تمكين آخر وهل يوجد كود استخراج pdf الى صور يكفي اجابة منكم لا يمكن وشكرا1 point
-
الاخ ابوبسمله اعجز عن الشكر فعلا مبدع جزاك الله كل خير بحاجة الى تعليم اكثر بالكودات اتعلم من حضرتك ومن خبرائنا المميزين زاد الله في علمكم كل الاحترام1 point
-
مرحبتين راعي بلادي 🙂 1 - هذي ما تستوي في الجدول لذلك سويتلك استعلام اسمه Byanat_AlAdaa_Q .. والسبب عدم وجود دالة DateAdd اللي تضيف عدد المدة بالأشهر في الحقل المحسوب بالجدول . 2 - تم الربط وإضافة حقل ID لجدول البيانات الشهرية من باب التنظيم. 3- تم عمله بجعل الفورمات يساوي -0 . 4- النموذج مبني بطريقة غير صحيحة .. المفروض جدول البيانات الشهرية يكون نموذج فرعي لنموذج بيانات الأعضاء .. والبحث يكون في بيانات الأعضاء .. سويته لك بذي الطريقة : ملاحظة أخيرة صاحبي : حاول تسمية جميع الكائنات ( الجداول- الاستعلامات - النماذج _ ووووووو) بالانجليزي دائما .. 🙂 بيانات الأعضاء.accdb1 point
-
في حدث زر حذف الفاتورة استخدم هذا ...... جرب ... If MsgBox(" هـــل تـــريـــد حـذف فاتورة ", vbOKCancel, "! تـأكـيـد ") = vbOK Then DoCmd.SetWarnings False DoCmd.GoToRecord , , acFirst For i = 1 To Me.Recordset.RecordCount [Forms]![InvoiceHT_F]![InvoiceHT_SubF].SetFocus DoCmd.RunSQL "UPDATE ItemsT SET ItemsT.QuantityA = Nz([ItemsT].[QuantityA])+Nz([Forms]![InvoiceHT_F]![InvoiceHT_SubF].[Form]![QuantityS]) WHERE (((ItemsT.ItemID)=Nz([Forms]![InvoiceHT_F]![InvoiceHT_SubF].[Form]![ItemID])));" DoCmd.GoToRecord , , acNext Next i Me.Refresh SysCmd acSysCmdClearStatus End If DoCmd.RunSQL "DELETE InvoiceTT.InvoiceNum FROM InvoiceTT WHERE (((InvoiceTT.InvoiceNum)=Nz([Forms]![InvoiceHT_F]![InvoiceNum])))" DoCmd.SetWarnings True1 point
-
اخي qathi عذرا لكن اين الاستعلامات في برنامجك فالاستعلامات هي افضل شئ في الاكسس عملت لك استعلام بسيط تستطيع معرفة الكمية المتوفره من خلالة من دون ان تقوم بانقاص الكمية في القائمة ولاني لا افهم طريقة عمل برنامجك عليك ان تستفيد من الحقل Expr1 في الاستعلام في برنامجك لمعرفة كمية الكتب المتوفرة فقط اضف هذا الحقل الى القائمة وضع الشرط المناسب في حال الكمية لاتسمح تحياتي InvoiceSale_9.accdb1 point
-
عملت دراسة لسلوك If و Case وظهر لي أن الإثنين يقومان باختبار/فحص القيم/الخيارات من البداية حتى القيمة المطلوبة. وهذه أول مرة أختبر فيها هذا الأمر في الـ vba ولكن كنت قد عملت هذه التجربة في لغة أخرى قديمة وكانت كما قلت لكم سابقا أن استخدام Case كان لا يعمل فحص من البداية بل يذهب مباشرة للقيمة المطلوبة. للإختبار لا تغطوا Run بل استخدموا زر F8 واستمروا بالضغط المتقطع حتى النهاية. If_and_Case_01.accdb1 point
-
1 point
-
السلام عليكم ورحمه الله وبركاته وبها نبدأ اي موضوع يمكنك ذلك عن طريق كود vba كليك يمين على الصفحه (نسخة الزبون) والضغط على view code ثم نسخ هذا الكود ولصقه في حدث الشيت كما هو ولا تنسي يتم حفظ الملف بصيغه تقبل الماكرو xlsm او xlsb Private Sub Worksheet_Activate() Dim r As Range, i As Long Cells.EntireRow.Hidden = False For i = 7 To 34 If Cells(i, 2) = "" Then If r Is Nothing Then Set r = Cells(i, 2) Else Set r = Union(r, Cells(i, 2)) End If End If Next i If Not r Is Nothing Then r.EntireRow.Hidden = True End Sub1 point
-
السلام عليكم ورحمة الله المشكلة كانت في كيفية إنشاء بعض النطاقات بالتسمية لأن منها ما هو ثابت مثل NameD و Won (هذه يتم إنشاؤها في شيت A) ومنها ما هو متغير حسب رقم الصف مثل Note_W (التي يتم إنشاؤها حسب رقم صف الخلية المحددة في شيت D)... المهم تم تعديل كل هذا في الملف المرفق... aa3_3.rar1 point
-
السلام عليكم تم التوصل الى الكود باقتباس من احد اعمال العلامة خبور تم رفع الشيت بالكود للاستفادة وشكرا لكم Private Sub CommandButton1_Click() ' أمر ترحيل بيانات Dim LR As Long Dim Adr As String Dim r As Integer, c As Integer ''''''''''''''''''''''''''''''' With Sh1 LR = .Cells(.Rows.Count, "A").End(xlUp).Row + 1 End With '''''''''' For r = 1 To 10 Adr = Cells(r, 1).Address(0, 0) For c = 1 To 5 Adr = Cells(r, c).Address(0, 0) Sh1.Range("A" & LR).Cells(r, c).Value = Me.Controls(Adr).Value Next Next '''''' End Sub Book101Add.xlsm1 point
-
1 point
-
تفضل Private Sub cmb_Committe_Click() If cmb_Committe = "النموذج الاول" Then DoCmd.OpenForm "نموذج1" ElseIf cmb_Committe = "النموذج الثانى" Then DoCmd.OpenForm "نموذج2" ElseIf cmb_Committe = "النموذج الثالث" Then DoCmd.OpenForm "نموذج3" End If End Sub القوائم2.rar1 point
-
1 point
-
وعليكم السلام ورحمة الله تعالى وبركاته. تفضل اخي سعد يكفي وضع الملف في نفس مسار الملفات المطلوب دمجها وتحديد اسم الملف الهدف داخل الكود Sub Importer_Sheets() Dim chemin$, dossier, fichier, MH As Worksheet, lig&, i%, h& chemin = ThisWorkbook.Path & "\" dossier = Array("test-01", "test-02", "test-03", "test-04", "test-05", "test-06", "test-07") 'تحديد اسماء الفولدرات fichier = "Test.xls" 'اسم الملف الهدف Set MH = ActiveSheet lig = 4 ' تحديد اول صف يتم وضع عليه البيانات Application.ScreenUpdating = False MH.Rows(lig & ":" & MH.Rows.Count).Delete For i = 0 To UBound(dossier) With Workbooks.Open(chemin & dossier(i) & "\" & fichier).Sheets(1) 'فتح الملف If .FilterMode Then .ShowAllData 'إذا تم تصفية الورقة h = .Range("B" & .Rows.Count).End(xlUp).Row ' الى غاية الصف الأخير في العمود B .Rows("1:" & h).Copy MH.Cells(lig, 1) 'نسخ ولصق lig = lig + h + 3 '3 عدد الصفوف بين كل ورقة عمل .Parent.Close False 'اغلاق الملف End With Next End Sub بالتوفيق Test_دمج.zip1 point
-
وعليكم السلام ورحمة الله تعالى وبركاته تفضل اخي سيتم اضافة المعادلات للصف تلقائيا عند الكتابة في عمود المسلسل مع افراغها تلقائيا عند حدفه Sub Fill_the_first_cell() Dim lr As Long Dim rng As Range Set WS = Sheet2 Dim y As Integer Application.ScreenUpdating = False MH = WS.Range("A" & Rows.Count).End(xlUp).Row With Sheet2 For y = 8 To MH Cells(y, "C").Formula = "=IFERROR(VLOOKUP(B8,data!F:G,2,0),"""")" Cells(y, "F").Formula = "=IF(RC[-1]="""","""",RC[-1]*data!R3C[-4])" Cells(y, "H").Formula = "=IF(F8="""","""",G8-F8)" Cells(y, "K").Formula = "=IFERROR(IF(RC[-1]="""","""",RC[-3]/(7850*RC[-2]*RC[-1])),"""")" Cells(y, "N").Formula = "=IFERROR(IF(RC[-2]="""","""",ROUNDDOWN((RC[-3]/RC[-2])*1000,0)),"""")" Next y End With End Sub وهدا في حدث شيت (in) Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 8 Then Exit Sub If Not Intersect(Target, Range("A:A")) Is Nothing Then If Cells(Target.Row, "A").Value = "" Then Cells(Target.Row, "B").Resize(, 13).ClearContents Else Call Fill_the_first_cell End If End If End Sub تشغيل الصاج-1.xlsm1 point
-
1 point
-
1- اقرأ ملف (اقرأني) وطبق مابه علي النموذج الذي سيفتح مع بداية التشغيل بتحصل كل ماتنغى أن تسأل Vo.rar1 point
-
النسخة الثانية تم تبديل الكود الأساس بالكامل وتم بناءه من جديد. النتائج الآن أفضل والخيارات أوسع. وشكر خاص للاستاذ سعد @saad 77 لتقديمه المعلومات المطلوبة لانهاء المشروع. توزيع القرار لمدارس العراق_02.xlsm1 point
-
في تنسيق التاريخ dd تعني رقم اليوم و dddd تعني اسم اليوم و mm تعني رقم الشهر و mmmm تعني اسم الشهر جرب ضع التنسيق التالي في حقل التاريخ ثم انظر النتيجة =yyyy/mmmm/dddd1 point