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

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

  1. محمد هشام.

    محمد هشام.

    الخبراء


    • نقاط

      3

    • Posts

      1,366


  2. 2saad

    2saad

    04 عضو فضي


    • نقاط

      2

    • Posts

      888


  3. kanory

    kanory

    الخبراء


    • نقاط

      2

    • Posts

      2,256


  4. AbuuAhmed

    AbuuAhmed

    الخبراء


    • نقاط

      2

    • Posts

      976


Popular Content

Showing content with the highest reputation on 01 فبر, 2024 in all areas

  1. إخواني أعضاء المنتدي الكرام بعد سلام الله عليكم ورحمة الله وبركاته هذا الملف مساهمة مني لهذا الصرح العظيم وللأعضاء الذين لهم أفضال كثيرة علي والذي ساعدني فيه ( الاستاذ محمد هشام وأخي ابراهيم صديقي )سعد.xlsm هذا الملف لرجال التعليم في توزيع الملاحظين علي اللجان بنظام الفترات أنا صممته للابتدائي اليوم والفترة وهي تعني ( المادة ) 4و5 تعني الصف الرابع والخامس 6 تعني الصف السادس يا ريت الخبراء يقيموه ولو فيه تعديل يكون أفضل من الخبراء
    2 points
  2. نعم تفضل Dim ctl As Control For Each ctl In Me.Child0.Controls If ctl.ControlType = 109 or ctl.ControlType = 111 Then ctl.Enabled = True End If Next ctl 109 مربعات النص 111 مربعات التحرير وهنا مرجع لأرقام عناصر النموذج بتفصيل اكثر Test.accdb
    2 points
  3. تابع هذه المشاركة لطرق وامثلة لحلقات التكرار
    1 point
  4. طيب اعمل مثلا زر امر وضع فيه هذه الشيفرة <<<<<<<<<>>>>>>>> Dim db As DAO.Database Dim qdf As DAO.QueryDef Dim strSQL As String Set db = CurrentDb Dim mov_st As String Dim rst As Recordset Set rst = CurrentDb.OpenRecordset("SELECT TAB3.HNO, TAB3.SUB_ID, DCount(""ID"",""TAB3"",""[HNO] ="" & [HNO] & "" and [SUB_ID] ="" & [SUB_ID] & """") AS Expr1, TAB3.CHEK, TAB3.ID, DCount(""ID"",""TAB3"",""[HNO] ="" & [HNO] & """") AS Expr2 " & _ " FROM TAB3;") rst.MoveFirst mov_st = rst!ID Do While Not rst.EOF If rst!Expr2 > rst!Expr1 And rst!Expr1 = 1 And rst!Expr2 > 2 Then rst.Edit rst!CHEK = True rst.Update ElseIf rst!Expr2 > rst!Expr1 And rst!Expr1 = 1 And rst!ID > mov_st Then rst.Edit rst!CHEK = True rst.Update Else End If mov_st = rst!ID rst.MoveNext Loop rst.Close Me.Refresh strSQL = "SELECT TAB3.ID, TAB3.MNO, TAB3.TNO, TAB3.HNO, TAB3.SUB_ID, TAB3.CHEK FROM TAB3 WHERE (((TAB3.CHEK)=True)) " 'db.QueryDefs.Delete "kanory" Set qdf = db.CreateQueryDef("kanory", strSQL) MsgBox "يتم الان فتح استعلام الاخطاء ", vbInformation + vbMsgBoxRight + vbOKOnly, "ملاحظة" DoCmd.OpenQuery "kanory", acNormal, acEdit
    1 point
  5. ليس لي علم عن المعادلات التي تستخدمها لاكن لا اظن انها لديها اي علاقة بالموضوع قد تمت الاجابة عن طلبك وهو اخفاء الصفوف الصفرية اما مسالة المعادلة مجرد تخمين مني لا غير 😁 مع العلم انها تنفد المطلوب قد لاحظت انك لم تقم بوضع المعادلة بالشكل الصحيح جرب المرفق التالي ووافينا بالنتيجة قد تم الغاء امر الطباعة مؤقتا داخل الكود ووضع ActiveSheet.PrintPreview يمكنك تعديله بعد التجربة البرنامج v2.xlsm
    1 point
  6. جرب هدا Sub Uniques() 'Col_C_D_E_F Dim Rng As Range, lr& Dim ws As Worksheet: Set ws = Worksheets("Sheet1") lr = ws.Columns("A:F").Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row For Each Rng In Range("A1:A" & lr) If WorksheetFunction.CountIf(Range("C1:F" & lr), Rng) = 0 Then Range("C" & Rows.Count).End(xlUp).Offset(1) = Rng End If Next End Sub marem v3.xlsb
    1 point
  7. مرحبا بكم، الأخ عبد القدوس أعطاك الحل ولكن التنفيذ يمكن لم يكن في محله، هو يقصد تغير اعدادات لغة الويندوز وليس لغة النظام, حوله إلى أي لغة عربية، اتبع الصورة و اعد تشغيل الجهاز و افتح البرنامج من جديد، تحياتي لك
    1 point
  8. دالة من "أبو هاجر" Function GetPeriod2(ByVal DateFm As Date, ByVal DateTo As Date, _ Optional yy As Integer, Optional mm As Byte, Optional dd As Byte) As String Dim TempDate As Date Dim m As Long DateFm = DateFm - 1 m = DateDiff("m", DateFm, DateTo) TempDate = DateAdd("m", m, DateFm) If TempDate > DateTo Then m = m - 1 TempDate = DateAdd("m", m, DateFm) End If yy = Fix(m / 12) mm = m Mod 12 dd = DateDiff("d", TempDate, DateTo) GetPeriod2 = Format(yy, "00") & "-" & Format(mm, "00") & "-" & Format(dd, "00") End Function دالة من جعفر Function YMDDif(ByVal sDate1 As Date, ByVal sDate2 As Date) As String Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer Dim dInterim1 As Date Dim D As Integer Dim m As Integer Dim Y As Integer sDate1 = sDate1 - 1 iMonth = DateDiff("m", sDate1, sDate2) If day(sDate1) > day(sDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, sDate1) iDay = DateDiff("d", dInterim1, sDate2) Y = iMonth \ 12 m = iMonth Mod 12 D = iDay YMDDif = Format(Y, "00") & "-" & Format(m, "00") & "-" & Format(D, "00") End Function دالة من "أبو هادي" Function GetPeriod1(ByVal DateFm As Date, ByVal DateTo As Date, _ Optional yy As Integer, Optional mm As Byte, Optional dd As Byte) As String Dim yyFm As Long, yyTo As Long Dim mmFm As Integer, mmTo As Integer Dim ddFm As Integer, ddTo As Integer DateFm = DateFm - 1 yyFm = Year(DateFm): mmFm = month(DateFm): ddFm = day(DateFm) yyTo = Year(DateTo): mmTo = month(DateTo): ddTo = day(DateTo) If ddFm = day(DateSerial(yyFm, mmFm + 1, 1) - 1) Then ddFm = 0: mmFm = mmFm + 1 End If If ddTo = day(DateSerial(yyTo, mmTo + 1, 1) - 1) Then ddTo = 0: mmTo = mmTo + 1 End If If ddTo - ddFm < 0 Then '(1) ddTo = ddTo + day(DateSerial(yyTo, mmTo, 0)): mmTo = mmTo - 1 If ddTo - ddFm < 0 Then '(2) ddTo = ddTo + day(DateSerial(yyTo, mmTo, 0)): mmTo = mmTo - 1 End If End If If mmTo < mmFm Then mmTo = mmTo + 12: yyTo = yyTo - 1 End If yy = yyTo - yyFm mm = mmTo - mmFm dd = ddTo - ddFm GetPeriod1 = Format(yy, "00") & "-" & Format(mm, "00") & "-" & Format(dd, "00") End Function
    1 point
  9. - قف على أي خلية بها رقم وانسخ الفاصلة العشرية - ظلل عمود الأرقام - اعمل عملية استبدال للكل من صندوق البحث بعد لصق الفاصلة المنسوخة وفي صندوق النص البديل ضع الفاصلة حسب قسم الأرقام من لوحة المفاتيح. ستتحول كل البيانان النصية إلى رقمية وستضطر إلى عملية تنسيق رقمي للعمود. أو استخدم هذه الشفرة: Sub Macro1() Sheets("101").Select If Asc(Mid(Range("C2"), Len(Range("C2")) - 2, 1)) <> 63 Then MsgBox "يبدو أنه قد تمت المعالجة من قبل" Exit Sub End If Columns("C:C").Select Selection.Replace What:=Mid(Range("C2"), Len(Range("C2")) - 2, 1), Replacement:=".", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.NumberFormat = "#,##0.00" MsgBox "Done" End Sub
    1 point
  10. اخي الكريم فتحت نموذج الغياب عند ادخال كود الطالب في حقل ( ادخل الكود ) يتم تلوين اسم الطالب في النموذج الفرعي الجانبي و تختفي كل البيانات من الحقول ( الاسم الثلاثي - تاريخ العملية ) في هذه الحالة كيف سيتم اظهار اليوم اذا كان حقل التاريخ الذي سنحوله الى يوم فارغ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ نفس الشيئ حدث معي في نموذج التحضير على العموم اذا اردت الابتعاد عن المعادلات و الاكواد بشكل كامل اتبع مايلي : افتح جدول الغياب عدل الحقل day الى تاريخ/وقت عوضا عن نص ضع القيمة الافتراضية للحقل day =date() ضع تنسيق الحقل day dddd طبق نفس الخطوات لجدول الحضور
    1 point
  11. بالنسبه للرصيد في مثال اخي اشرف خليل فانه تم وضعه في شقين : - الشق الأول : وهو رصيد اول المده او (الرصيد السابق) وتم عمل ذلك عن طريق الداله Dsum وتتكون الداله Dsum من الاتي Dsum(التعبير الذي به معادلة الرصيد;هنا اسم الجدول او الاستعلام;هنا الشرط الذي يجب تحقيقه) وبتطبيق ذلك على مثال اخي اشرف .. =nz(DSum("[t_Query]![Balance]";"[t_Query]";"[تاريخ الحركة]<[forms]![date01]![a]")) وهي تعني اجمالي الحقل المسمىBalance من الاستعلام المسمى t_Query في حالة تحقق الشرط[تاريخ الحركة]<[forms]![date01]![a] وهو ان تاريخ الحركه يكون اصغر من التاريخ الذي يوجد في مربع النص a الذي يوجد في النموذج date01 ,, ========= الشق الثاني : وهو رصيد العميل بعد كل عمليه وبالطبع ذلك مختلف عن رصيد اول المده او (الرصيد السابق) ,, وهنا تم الاعتماد على فكره رائعه .. وهو انه تم وضع مربع نص به عد تسلسلي ومسمى في المثال RecNo عن طريق وضع القيمه =1 به .. بحيث لأنه عند عمل معادلة الرصيد فإن بعد اول عمليه معدلة الرصيد تختلف عن باقي الرصيد .. لأن معادلة اول رصيد بالطبع تساوي = الرصيد السابق+الجانب المدين-الجانب الدائن .... اما معادلة الرصيد بعد ذلك تساوي= الجانب المدين - الجانب الدائن وذلك مجموع تراكمي على ماقبله .... وتم تطبيق ذلك في المثال عن طريق ... =IIf([RecNo]=1;[مدين]-[دائن]+[be];[مدين]-[دائن]) وتم الاعتماد هنا على الداله IIF وذلك عن طريق IIf([RecNo]=1 وهي تعني اذا كان مربع النص المسمىRecNo الذي يقوم بالعد التسلسلي يساوي 1 اي اول سجل فإنه يتم تطبيق المعادله .. [مدين]-[دائن]+[be] وهي المعادله الخاصه بالرصيد الاول = الرصيد السابق+الجانب المدين-الجانب الدائن و be اسم مربع النص الخاص بالرصيد السابق ,, واذا كان مربع النص RecNo بعد اول سجل يعني لا يساوي 1 اذن يتم تطبيق معادلة الرصيد العاديه بدون الرصيد السابق ولكن لا تنسى تـــراكـــمـــي وهي هنا في المثال .. [مدين]-[دائن] وتستطيع ان تحدد الرصيد ان يكون تراكمي عن طريق عمل رايت كليك على مربع نص الرصيد ثم خصائص ثم بيانات ثم مجموع تراكمي ثم قم بتحديد الخيار شامل ,,,
    1 point
×
×
  • اضف...

Important Information