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

kanory

الخبراء
  • Posts

    2,205
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    134

مشاركات المكتوبه بواسطه kanory

  1. 1 ساعه مضت, خالد عبد الغفار said:

    بس كنت عاوز كل حاجه لوحدها اذا كان التضارب فى النوع لوحده برساله والديانه لوحدها برساله

    تفضل <><><><><><><><><>

    If DCount("[ID]", "[tb_tashkeel]", "[lgna_1] =" & [Forms]![tashkeel]![lgna_1] & " And [gender] =" & [Forms]![tashkeel]![gender] & "  And [gender] =2 ") = 1 Then
            MsgBox "هناك تكرار في الجنس"
            Me.lgna_1 = ""
    ElseIf DCount("[ID]", "[tb_tashkeel]", "[lgna_1] =" & [Forms]![tashkeel]![lgna_1] & " And [religion] =" & [Forms]![tashkeel]![religion] & " ") = 1 Then
            MsgBox "هناك تكرار في الديانة"
            Me.lgna_1 = ""
    End If

     

  2. منذ ساعه, SAROOK said:

    ولكن لم افهم اين المشكلة 

    يبدو ان المشكلة عندما عدلت اسماء الحقول بقيت الاسماء القديمة في هذا الاستعلام الموجود في الصورة ..... ولكن عندما قمت باستعراض الاستعلام الموجود في الصورة ( بعرضة او بفتحه على وضع التصميم ) اعاد الاكسس تحديث اسماء الحقول فعمل البرنامج بدون مشاكل ....... جرب الطريقة لديك واعلمنا بالنتيجة

     

    1.jpg

    • Like 1
  3. 7 ساعات مضت, خالد عبد الغفار said:

    السلام عليكم ورحمة الله 

    بالنموذج حقل ( lgna_1) اقوم فيه بادخال رقم اللجنه والتى تتكرر مرتين بواقع 2 معلم  ارجو اذا كان نوع الاول والثانى أنثى أى = 2 تظهر رساله عند تحديث الحقل برقم اللجنة  تفيد بان المعلمان لا يجوز ان يكون نوعهما = 2 وكذلك الديانة لا يجوز ان يكون المعلمان ديانتهما = 2 

    وعليكم السلام ورحمة الله ......

    تفضل <><><><><><<><>

    If DCount("[ID]", "[tb_tashkeel]", "[lgna_1] =" & [Forms]![tashkeel]![lgna_1] & " And [gender] =" & [Forms]![tashkeel]![gender] & " ") = 1 Or DCount("[ID]", "[tb_tashkeel]", "[lgna_1] =" & [Forms]![tashkeel]![lgna_1] & " And [religion] =" & [Forms]![tashkeel]![religion] & " ") = 1 Then
    MsgBox "هناك تكرار في الجنس او الديانة"
    Me.lgna_1 = ""
    End If

     

  4. منذ ساعه, سلمان الشهراني said:

    السلام عليكم واسعد الله اوقات الجميع
    1- يوجد استعلام اسمه QRFingerDelete  يظهر ارقام المشتركين حسب  معايير معينه
     
    2- المطلوب هو البحث عن هذه الارقام في جدول  template   حقل   UsrID
    ومن ثم حذف هذه السجلات بالكامل 

    وهذه طريفة اخرى اقل اكواد <><><><><><><>

    Dim db As DAO.Database
    Set db = CurrentDb()
    db.Execute "DELETE template.UsrID, * FROM template WHERE (((template.UsrID) In (SELECT No_Common FROM QRFingerDelete)))", dbFailOnError
    Set db = Nothing

     

    • Thanks 1
  5. وعليكم السلام

    تفضل <><><><><><><><>

    Dim rs As DAO.Recordset
    Dim R As Integer
    Set rs = CurrentDb.OpenRecordset(" SELECT TB_1.No_Common " & _
                                        " FROM TB_1 INNER JOIN TB_2 ON TB_1.No_Common = TB_2.No_Common " & _
                                        " WHERE (((TB_2.End_Date)<=Date()-1) AND ((TB_2.Case_Com)=102) AND ((TB_2.jadd)=False));", dbOpenDynaset)
    
    rs.MoveLast
    rs.MoveFirst
    R = rs.RecordCount
    For i = 1 To R
     
        DoCmd.SetWarnings False
        DoCmd.RunSQL "DELETE template.id, template.FingerTmplate, template.UsrID " & _
                        " FROM template " & _
                        " WHERE (((template.UsrID)=" & rs!No_Common & "));"
        DoCmd.SetWarnings True
    rs.MoveNext
    Next i
    rs.Close
    Set rs = Nothing

     

    • Like 1
  6. 35 دقائق مضت, Muhann3d said:

    هل من الممكن شرح مبسط لدالة GenerateSequence 

    طيب ، سأشرح لك الدالة `GenerateSequence` 

    هذه الدالة تقوم بإنشاء تسلسل رقمي للاسماء المتشابهة في استعلام :

    1. `Function GenerateSequence( FullName As String) As Integer`: هذا تعريف الدالة `GenerateSequence` التي تأخذ مُدخل واحد يُسمى ` FullName` من نوع `String` وتُرجع قيمة من نوع `Integer`.

    2. `Static dict As Object`: هنا نُعرف متغير `dict` ككائن `Object`. الكلمة `Static` تعني أن الكائن `dict` سيحتفظ بقيمته حتى بعد انتهاء تنفيذ الدالة، وهذا مهم لأننا نريد أن يحتفظ القاموس بالاسماءوالأرقام المتسلسلة التي تم إضافتها سابقًا.

    3. `If dict Is Nothing Then Set dict = CreateObject("Scripting.Dictionary")`: هذا الشرط يتحقق إذا كان الكائن `dict` لم يتم إنشاؤه بعد، وفي هذه الحالة يتم إنشاء كائن جديد من نوع "Dictionary" (قاموس).

    4. `If Not dict.exists( FullName) Then`: هذا الشرط يتحقق إذا كان الاسم` FullName` غير موجود في القاموس `dict`.

    5. `dict.Add  FullName, dict.Count + 1`: إذا كان الاسم` FullName` غير موجود، يتم إضافته إلى القاموس مع قيمة تسلسل رقمي جديدة تُحسب بإضافة واحد إلى عدد الاسماء الموجودة في القاموس.

    6. `GenerateSequence = dict( FullName)`: في النهاية، تُرجع الدالة القيمة المتسلسلة للاسم` FullName` الموجود في القاموس.

    باستخدام هذه الدالة في استعلام، يمكنك إنشاء حقل محسوب يعرض رقمًا متسلسلًا لكل اسم متشابه بناءً على ترتيب ظهوره في الاستعلام. هذا مفيد لتتبع الاسماء وترتيبها بشكل فريد داخل الاستعلام.

    • Like 2
  7. 21 ساعات مضت, Muhann3d said:

    استخدمت طريقة الاخ جعفر بارك الله فيه،

    تم دمج عامود اسم الموظف ولكن بقى عمود التسلسل كيف اتعامل معاه حتى يكون لكل اسم تسلسل؟

    (عامود التسلسل غير موجود في الجدول. فقط في التقرير)

     

    هل تريدها بهذا الشكل ؟؟؟

     

    1.jpg

    • Like 1
  8. اقرأ هذا الموضوع وسوف يساعدك في ذلك ...................................

     

    في 23‏/12‏/2022 at 11:35, jjafferr said:

    السلام عليكم 🙂

     

    اذا عندنا تقرير بهذه الطريقة:

    image.png.910c3de8593a0b9155dcb6f375343b33.png

    .

    اليس الافضل دمج بيانات الحقل المتكررة عموديا في حقل واحد ، مثل الوورد مثلا الى :

    image.png.d1278d8b5d93511dcfca0284c8e2b003.png

    .

     

    طريقة العمل :

    1. اعمل تقريرك بالطريقة اللي تراها مناسبة ، بالفرز والتصفية :

    image.png.c822a31332d6b8229dbcb3b803965eae.png

    .

    او بالمجاميع :

    image.png.ac9d953c1a7260e25ba5b758af877251.png

    .

    2. ولكن قم بوضع جميع الحقول في قسم "التفصيل" Detail :

    image.png.81e6309b58e114fa1486dbfed7dcf2ff.png

    .

    3. ثم اجعل برواز جميع حقول هذا القسم شفافة

    image.png.92f4708f671affe380d8a6171ad0aa20.png

    .

    4. ثم الحقول التي تريد دمجها ، اخفاء المتكرر = نعم ، Hide Duplicates = Yes

    image.png.6e151be30cb2117e21a1c0b22d121538.png

    .

    5. ثم ضع هذه الاحداث للتقرير 

    Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
    
        'Border color not set, use field ForeColor
        Call Detail_Print_Run_All(5, "'اليوم', 'التاريخ','الزمن'")
    End Sub
    
    Private Sub Report_Open(Cancel As Integer)
    
        Call Report_Open_Run(Me.Name)
    End Sub
    
    Private Sub Report_Close()
        On Error Resume Next
        Set ctl_ReSize = Nothing
    End Sub
    
    Private Sub Report_Page()
    
        Call Report_Page_Run
    End Sub

    .

    6. لا تحتاج الى عمل اي تغيير في الاحداث اعلاه ، فقط انسخها من هنا والصقها في تقريرك ،

    ما عدا اول جزء :

    1. عرض البرواز ،
    2. حيث نخبره باسماء الحقل/الحقول التي نريد دمجها عموديا ،
    3. لون البرواز يكون حسب اللون الذي نكتبه ،
    4. او اذا لم نكتب لون البرواز ، فلون البرواز سيكون لون نص الكلمات في الحقل

     

    image.png.dcbbd8079f9c7e69b4f0a5d5d407be65.png

    .

    7. نسخ الوحدة النمطية mod_Report_Field_Hieght_ReSize الى تقريرك ن وكذلك بدون عمل اي تغيير فيها :

    Option Compare Database
    Option Explicit
    
        Dim rpt_Name_ReSize As String
        Dim rgb_Border_ReSize As Long, ini_rgb_Border_ReSize As Long
        Dim Detail_Calc_Height_ReSize As Long
        Dim Exclude_fld_Name_ReSize As String
        Dim Add_H_Each_Record_ReSize As Boolean
        Dim fildMaxHeight_ReSize As Long
        Dim myDrawWidth As Integer
        Public ctl_ReSize As Control
        Dim i_ReSize As Integer, j_ReSize As Integer
        Dim x_ReSize() As String, tmp_ReSize As String
        Dim Count_Pages_ReSize As Integer
        Dim sfld_Name_ReSize() As String, sfld_Value_ReSize() As String, _
            sfld_Count_ReSize() As Integer
        Dim L_ReSize As Single, T_ReSize As Single, W_ReSize As Single, H_ReSize As Single
    '
    
    Function Detail_Print_Run_All(LineWidth As Integer, myFields As String, Optional border_Color As Long = 1)
            
        'we can this Function in the following ways, indicating Border Color
        'Call Detail_Print_Run_All(5, "'c1', 'save', 'b1'", RGB(0, 0, 0))  'Border color is RGB Value
        'Call Detail_Print_Run_All(5, "'c1', 'save', 'b1'", vbBlack)       'Border color is Black
        'Call Detail_Print_Run_All(5,"'c1', 'save', 'b1'", vbMagenta)      'Border color is Magenta
        'Call Detail_Print_Run_All(5,"'c1', 'save', 'b1'")                 'Border color not set, use field ForeColor
        'Call Detail_Print_Run_All(5,"'b1'", RGB(0, 0, 0))
            
        '5 is Line Width
        
        'we get most the Lines drawn in Detail Section,
        'except for the Last Record in each page, where we use Report Page event (the last page is easy)
        
        ini_rgb_Border_ReSize = border_Color
        rgb_Border_ReSize = ini_rgb_Border_ReSize
        Exclude_fld_Name_ReSize = myFields
        Add_H_Each_Record_ReSize = False
        myDrawWidth = LineWidth
        
        'make an array of the fields
        x_ReSize = Split(Exclude_fld_Name_ReSize, ",")
        
        ReDim Preserve sfld_Name_ReSize(UBound(x_ReSize))
        ReDim Preserve sfld_Value_ReSize(UBound(x_ReSize))
        ReDim Preserve sfld_Count_ReSize(UBound(x_ReSize))
    
        
    '1
        'do the Detail Lines for the remaining fields
        Call Detail_Sec_Max_Height
        
    
    
    '2
        'now work on the special fields Lines
        For i_ReSize = 0 To UBound(x_ReSize)
    
            'remove the ' , and the extra spaces from the Left and Right
            tmp_ReSize = RTrim(LTrim(Replace(x_ReSize(i_ReSize), "'", "")))
            sfld_Name_ReSize(i_ReSize) = tmp_ReSize
            Call Scale_Box_Lines(tmp_ReSize)
            
        Next i_ReSize
    
    End Function
    
    
    Function Report_Open_Run(rpt_Name_ReSize_1)
        
        rpt_Name_ReSize = rpt_Name_ReSize_1
        
        'Reset the variables from here
        Count_Pages_ReSize = 0
        Erase sfld_Name_ReSize
        Erase sfld_Value_ReSize
        Erase sfld_Count_ReSize
        
        Detail_Calc_Height_ReSize = 0
        
    End Function
    
    
    Function Report_Page_Run()
    
        
        'make an array of the fields
        x_ReSize = Split(Exclude_fld_Name_ReSize, ",")
        
        
        'now work on the special fields Lines
        For j_ReSize = 0 To UBound(x_ReSize)
    
            'remove the ' , and the extra spaces from the Left and Right
            tmp_ReSize = RTrim(LTrim(Replace(x_ReSize(j_ReSize), "'", "")))
            sfld_Name_ReSize(j_ReSize) = tmp_ReSize
         
            Set ctl_ReSize = Reports(rpt_Name_ReSize)(tmp_ReSize)
        
            If ini_rgb_Border_ReSize = 1 Then
                rgb_Border_ReSize = ctl_ReSize.ForeColor
            End If
        
            'make it simple to understand
            L_ReSize = ctl_ReSize.Left
            W_ReSize = ctl_ReSize.Width
            T_ReSize = ctl_ReSize.Top
            'H_ReSize = ctl_ReSize.Height
        
    
            'we have to add the Sections/Fields ABOVE the Detail Section
            If Reports(rpt_Name_ReSize).Page = 1 Then
                H_ReSize = Detail_Calc_Height_ReSize + _
                           Reports(rpt_Name_ReSize).PageHeaderSection.Height + _
                           Reports(rpt_Name_ReSize).ReportHeader.Height
            Else
                H_ReSize = Detail_Calc_Height_ReSize + _
                           Reports(rpt_Name_ReSize).PageHeaderSection.Height
            End If
        
            Reports(rpt_Name_ReSize).DrawWidth = myDrawWidth
            Reports(rpt_Name_ReSize).Line (L_ReSize, T_ReSize + H_ReSize)-(L_ReSize + W_ReSize, T_ReSize + H_ReSize), rgb_Border_ReSize 'Bottom Line
    
        Next j_ReSize
        
        Detail_Calc_Height_ReSize = 0
        
    End Function
    
    
    Public Function Scale_Box_Lines(fld_Name As String)
        
        
        Set ctl_ReSize = Reports(rpt_Name_ReSize)(fld_Name)
    
        'make it simple to understand
        L_ReSize = ctl_ReSize.Left
        W_ReSize = ctl_ReSize.Width
        T_ReSize = ctl_ReSize.Top
        H_ReSize = ctl_ReSize.Height
            
        
        If ini_rgb_Border_ReSize = 1 Then
            rgb_Border_ReSize = ctl_ReSize.ForeColor
        End If
            
          
        'take the highst Height
        If fildMaxHeight_ReSize > H_ReSize Then
            H_ReSize = fildMaxHeight_ReSize
        End If
            
                
        If ctl_ReSize.Text <> sfld_Value_ReSize(i_ReSize) Then
            sfld_Value_ReSize(i_ReSize) = ctl_ReSize.Text
            sfld_Count_ReSize(i_ReSize) = 1
        End If
                
           
    
        'Box the cells
        
            'Left and Right
            ctl_ReSize.BorderColor = vbWhite
            Reports(rpt_Name_ReSize).DrawWidth = myDrawWidth
            Reports(rpt_Name_ReSize).Line (L_ReSize, T_ReSize)-(L_ReSize, H_ReSize), rgb_Border_ReSize             'Left Line
            Reports(rpt_Name_ReSize).Line (L_ReSize + W_ReSize, T_ReSize)-(L_ReSize + W_ReSize, H_ReSize), rgb_Border_ReSize     'Right Line
    
    
        'Top and Bottom
        If Reports(rpt_Name_ReSize).Page <> Count_Pages_ReSize Then
            'first
            Count_Pages_ReSize = Count_Pages_ReSize + 1
            Reports(rpt_Name_ReSize).Line (L_ReSize, T_ReSize)-(L_ReSize + W_ReSize, T_ReSize), rgb_Border_ReSize   'Top Line
    
        ElseIf sfld_Count_ReSize(i_ReSize) = 1 Then 'First Record
            Reports(rpt_Name_ReSize).Line (L_ReSize, T_ReSize)-(L_ReSize + W_ReSize, T_ReSize), rgb_Border_ReSize   'Top Line
            
        End If
    
    
        sfld_Count_ReSize(i_ReSize) = sfld_Count_ReSize(i_ReSize) + 1
    
    End Function
    
    Public Function Detail_Sec_Max_Height()
    
        
        fildMaxHeight_ReSize = 0
        
        'get the max Height
        For Each ctl_ReSize In Reports(rpt_Name_ReSize).Section(0).Controls
            If ctl_ReSize.Height > fildMaxHeight_ReSize Then
                fildMaxHeight_ReSize = ctl_ReSize.Height
            End If
        Next
        
        'Draw lines around the fields
        For Each ctl_ReSize In Reports(rpt_Name_ReSize).Section(0).Controls
            
            If InStr(Exclude_fld_Name_ReSize, "'" & ctl_ReSize.Name & "'") = 0 Then
                Reports(rpt_Name_ReSize).DrawWidth = myDrawWidth
                Reports(rpt_Name_ReSize).Line (ctl_ReSize.Left, ctl_ReSize.Top)-Step(ctl_ReSize.Width, fildMaxHeight_ReSize), ctl_ReSize.ForeColor, B
                
                'just add the Heighs of ONE Record
                If Add_H_Each_Record_ReSize = False Then
                    Detail_Calc_Height_ReSize = Detail_Calc_Height_ReSize + fildMaxHeight_ReSize
                    Add_H_Each_Record_ReSize = True
                End If
            
            End If
        Next
    
    End Function
    

    .

    8. ما عدا هذا الجزء ، والذي يجب ان نضع فيه اسماء جميع الاقسام التي فوق "قسم التفصيل" ، والتي بها ارتفاع :

    image.png.b132dd3732da2066f02e37bfd66e3a4f.png

    .

    من هنا نعرف اسم هذه الاقسام :

    image.png.4580415007ca619f5bce1233025c3653.png

    .

     

    وهذه نتائج بعض التقارير التي تم النجربة عليها :

    image.png.21816b8f23ee862f53d7e99172bcf21e.png

    .

    image.png.42f50247a04a4c80accca269767c1991.png

    .

    image.png.4d81e454f2ff0a76601ac22ddca7c862.png

    .

    image.png.1e78b791d7c6c3c8798520d4eaae8949.png

    .

     

    ولم اتوصل لطريقة لجعل الكلمات في منتصف الحقل عموديا ، هكذا:

    image.png.25fafadfa175d3f37bf1d52f42842126.png

     

    جعفر

     

    Report_BoxLine_07.accdb.zip 50.86 kB · 100 downloads

     

    • Like 1
  9. Dim rs As DAO.Recordset
    Dim rs1 As DAO.Recordset
    Dim R As Integer
    Dim firstRecordFields As String
    Dim firstRecordFields1 As String
    
    Set rs1 = CurrentDb.OpenRecordset("SELECT Table1.الاسم FROM Table1 GROUP BY Table1.الاسم;", dbOpenDynaset)
    rs1.MoveLast: rs1.MoveFirst
    R = rs1.RecordCount
    
    For i = 1 To R
            Set rs = CurrentDb.OpenRecordset("SELECT Table1.الاسم, Table1.العمل1, Table1.العمل2, Table1.اللجنة1, Table1.اللجنة2 " & _
                                            " FROM Table1 " & _
                                            " WHERE (((Table1.الاسم)=""" & rs1!الاسم & """));", dbOpenDynaset)
            If Not (rs.BOF And rs.EOF) Then
                rs.MoveLast
                firstRecordFields = rs!العمل1
                firstRecordFields1 = rs!اللجنة1
                rs.MoveFirst
                rs.Edit
                rs!العمل2 = firstRecordFields
                rs!اللجنة2 = firstRecordFields1
                rs.Update
            End If
            rs1.MoveNext
    Next i
    rs.Close
    rs1.Close
    Set rs = Nothing
    Set rs1 = Nothing

    لهذا كان السؤال .... لان الكود أو البرنامج ممكن يعلق يوقف يحدث خطأ ما ... عندها لن تستطيع العودة لتلك البيانات .... على العموم جرب هذا الكود وبدون حذف ,,, فقط تحديث للبيانات

     

  10. 1 ساعه مضت, اشرف السيد يوسف said:

    المطلوب دمج السجلين بسجل واحد مع تحريك البيانات من السجل الثانى الى مواضع الجقول الموضحة بالصورة

    رغم ان العنوان لا يمثل المطلوب وهذا مخالف لترتيبات وقوانين المنتدى .....

    لكن بعد الدمج ماهو مصير السجل الثاني ( هل يحذف أم يبقى في الجدول ) ....... 

     

    • Like 1
  11. 33 دقائق مضت, Foksh said:

    هذا ما لمحت له في كلامي 

    طيب ممكن نستخدم هذه الطريقة .... ولكن يبقى ايضا نقطة مربعات التسمية وعددها في النموذج ؟؟؟؟؟

        Dim db As Object
        Dim rst As DAO.Recordset
        Dim mySQL As String
        Dim i, m As Integer
        
        mySQL = "SELECT DISTINCT جدول1.[اسم العامل], DSum(""راتب"",""جدول1"",""[اسم العامل] ='"" & [اسم العامل] & ""'"") AS Expr1  FROM جدول1;"
        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst
        If Not rst.BOF Then rst.MoveFirst
            
         Dim ctl As Control
        For i = 1 To rst.RecordCount
            Me.Controls("a" & i).Caption = "مجموع" & " " & rst.Fields(0)
            Me.Controls("b" & i).Caption = rst.Fields(1)
            rst.MoveNext
        Next i
       
        rst.Close
        Set rst = Nothing

     

    مثال (5).accdb

  12. 53 دقائق مضت, Abdelaziz Osman said:

    @kanory

    هو تمام اوك اول سجل طريقة طيبة ان شاء الله

    وجيدة ان كنت بسأل على فكرة السجلات جميعها ربما احد يقوم بتغيير قيم الحقول

    وجزاكم الله خيرا إليكم جميعا على تفاعلكم واهتمامكم بالغ التقدير

    وبالنسبة للتغيير اعرف كيف  احمى الحقول من التغيير 

     

    جرب هذا ........

    Private Sub Order_No_AfterUpdate()
    D_R = DateAdd("d", -3, Date)
    On Error GoTo Errw
       DoCmd.GoToRecord , , acFirst
        For i = 1 To Me.Recordset.RecordCount
             If Me.supplier = "مرفوض" And Me.mark = 0 And Format(Me.inday, "dd/mm/yyyy") <= Format(D_R, "dd/mm/yyyy") And IsNull(Me.P_Odate) Then
                DoCmd.GoToRecord , , acLast
                DoCmd.SetWarnings False
                DoCmd.RunCommand acCmdDeleteRecord
                Me.Order_No.SetFocus
                MsgBox "لايمكن اضافة جديد"
                Exit Sub
            Else
                Me.Order_No.SetFocus
            End If
            DoCmd.GoToRecord , , acNext
        Next i
    Exit Sub
    Errw:
    End Sub

     

  13. عشان كده انا سئلتك هنا هذا السؤال 

    في 24‏/2‏/2024 at 23:44, kanory said:

    هل تسلسل السجل الظاهر لدينا في الصورة دائما اول سجل ام هناك اختلاف في تسلسله ( اقصد الان ظاهر كاول سجل ... هل ممكن ان يكون في مرات اخرى ثان او ثالث سجل مثلا )

     

    1.jpg

    وحصلت منك على اجابه مختصرة وبخيلا فيها لا تفيد سؤالي

    في 25‏/2‏/2024 at 09:46, Abdelaziz Osman said:

    @kanory  التسلسل مرتب لا يجوز تجاوزه

    قلت اضع لك اجابة وعندما تجرب تضطر الى استخراج اجابات مطولة . كما حصل الان ..

    3 ساعات مضت, Abdelaziz Osman said:

    @kanory

    يا مدير  

    بالنسبة لتانى سطر  فى كود الحدث

    DoCmd.GoToRecord , , acFirst

    ده معناه انه هيطبق الشروط على أول سجل فقط صح كده

    طيب ما ينفعش يطبق الشروط على كل السجلات السابقة

    بالغ التحية

    طيب ممكن طبعا ... جاري التعديل ولكن عندما اعود الى المكتب ... بارك الله فيك

  14. في 22‏/2‏/2024 at 01:07, Abdelaziz Osman said:

    اربع شروط معا 

    وهم اذا الحقل الأول خالى

    والحقل الثانى قبل ثلاث ايام من تاريخ السيستم

    والحقل الثالث به كلمة "مرفوض"

    والحقل الرابع خالى

    اذا تحققت تلك الشروط الاربع معا

    كما هو بالصورة

    عندما اقوم باضافة سجل جديد بداية من حقل order no والكتابة بداخل هذا الحقل ثم اقوم بالضغط enter يتم الغاء الادخال  اي يتم تنفيذ امر undo

    راجع المرفق وتأكد فقط الان من الشروط الاربعة هل تحققت ..........

     

    Datab (officena).accdb

    • Like 1
    • Thanks 1
×
×
  • اضف...

Important Information