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

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

  1. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      15

    • Posts

      7073


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      11

    • Posts

      9960


  3. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      11

    • Posts

      2384


  4. أبو عبدالله الحلوانى

Popular Content

Showing content with the highest reputation on 01/19/22 in مشاركات

  1. ومشاركة مع أستاذنا أبا جودي ، يمكنك عملها بهذه الطريقة عند فتح الفورم الذي به الزر .. If [Forms]![Login]![IsAdmin] = True Then Me.Botton.Visible = True Else Me.Botton.Visible = False End If ويختلف الأمر باختلاف الطرق التي تم تعيين الصلاحيات بها .
    3 points
  2. شوف رقم يوزر الادمن او اسمه واعمل الزر اصلا مخفى وعند فتح النموذج if adminSN=1 then me.cmdX.Visible = True ' OR By Name if adminUN="Admin" then me.cmdX.Visible = True
    3 points
  3. ياسلام ياسلام عليك يا معلم @jjafferr .. حطيت يدك على الجرح 😅😋🍝🍜🍲🍛 حسيت بطعم التشبيه في بطني 😂 فعلا الأدوات موجودة .. والأفكار تتمايز وتختلف .. وكلنا نكمل بعضنا البعض 👍😉
    3 points
  4. بارك الله فى عمرك استاذى الجليل
    2 points
  5. هذه طريقة الترميز ..... Dim dgt As String Dim myv As String txts = "" Dim i For i = 1 To Len(txtr) dgt = AscW(Mid(txtr, (i), 1)) txts = txts & "Chrw (" & dgt & ") & " Next i myv = Left(txts, (Len(txts) - 2)) txts = myv وهذه طريقة فك الترميز Loopy = (CDbl(Len([txts]) - Len(Replace([txts], ")", "")))) txtx = "" c0 = 1 Do c1 = Nz(InStr(c0 + 1, Me.txts, "("), 0) c2 = Nz(InStr(c1 + 1, Me.txts, ")"), 0) c3 = c2 - c1 If c1 <> 0 And c2 <> 0 Then c4 = Mid(Me.txts, c1 + 1, c3 - 1) Loopy = Loopy - 1 c0 = c2 Me.txtx = Me.txtx + CHARW(c4) Loop Until Loopy = 0 و هذا هو الفانك ... Function CHARW(CharCode As Variant, Optional Exact_functionality As Boolean = False) As String If UCase(Left$(CharCode, 1)) = "U" Then CharCode = Replace(CharCode, "U", "&H", 1, 1, vbTextCompare) CharCode = CLng(CharCode) If CharCode < 256 Then If Exact_functionality Then CHARW = ChrW(CharCode) Else CHARW = Chr(CharCode) End If Else CHARW = ChrW(CharCode) End If End Function اكيد قديمة ............. صحيح ..... لاني شفت الطريقة هذه من ايام دنيا دنيا ..... هههههههه
    2 points
  6. مش انا قلتها لك...انا سرقتها منك بس انت مش واخد بالك 😄
    2 points
  7. انا اريد الاخرى لتعم الفائدة يمكن افضل من فكرتى ونتعلم منها احسك تقول ايش هاد الرخم مشكلته انحلت ومازال رخم بس اوعاك تأتى بفكرة قديمة لى من المنتدى
    2 points
  8. مش فاهمك على فكرة انت عارف انا فهمى تقييل ع العموم المرفق النهائى بدون المشكل وبدون اى زيادات التجارب اللى كانت ع الاكواد Converter Arabic and Unicode (v. 3).accdb
    2 points
  9. السلام عليكم ورحمة الله استخدم الكود التالى Sub DelRows() Dim ws As Worksheet, LR As Long Dim x As Integer, i As Long Set ws = Sheets("Sheet1") LR = ws.Range("B" & Rows.Count).End(3).Row For i = LR To 2 Step -1 x = WorksheetFunction.CountIf(ws.Range(Cells(2, 4), _ Cells(i, 4)), Cells(i, 4)) If x > 1 Then ws.Range("D" & i).EntireRow.Rows.Delete End If Next End Sub
    2 points
  10. السلام عليكم ورحمة الله استخدم هذه المعادلة و لكن يجب عليك بعدها ان تضغط معا على CTRL+SHIFT+ENTER حتى تعمل معل المعادلة بشكل صحيح =INDEX($G$4:$H$17;SMALL(IF(MIN($H$4:$H$17)=$H$4:$H$17;ROW($H$4:$H$17));1)-3;1)
    2 points
  11. بصراحة ..لم يخطر في بالي غير هذا الكود الذي تم سرقته منك 😄 Me.frmToArabic.SetFocus Me.frmToArabic!txtUnicode.SetFocus Me.frmToArabic!txtUnicode = "" Me.frmToArabic!txtArabic.SetFocus Me.frmToArabic!txtArabic.ControlSource = ""
    2 points
  12. كود الاستاذ @Khalfفي ملف للفائدة visitN.accdb
    2 points
  13. الله يسامحكم ... جوعتونا ... بارك الله فيكم ... بغيت اشغل سيارني واجي عمان ... الله يصلحكم 😂
    2 points
  14. Sub Test() Dim r As Range, i As Long, c As Long Application.ScreenUpdating = False With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\d+[.]\d+" For Each r In Range("C2", Range("C" & Rows.Count).End(xlUp)) c = 4 If .Test(r.Value) Then For i = 0 To .Execute(r.Value).Count - 1 Cells(r.Row, c).Value = .Execute(r.Value)(i) c = c + 1 Next i End If Next r End With Application.ScreenUpdating = True End Sub
    2 points
  15. في الواقع هذه الجملة استوقفتني ، وظليت افكر فيها طويلا ، ووصلت لهذه النتيجة: اللحم والدجاج والسمك والخضار والتوابل موجودة من آلاف السنين ، ولكن هذا ما منعنا ان نكون مميزين في طبخاتنا ، عندنا الرخال والمندازي والسيويه ، والحلوى والقشاط ، الشواء والمشاكيك والمضبي ، ونطبخ من القاشع والعوال ، واما البابلو فيا سلام 🙂 فما يهمك من بدأ قبلك ، فعندك حس مميز ، والكل ينتظر كل جديد منه 🙂 جعفر
    2 points
  16. شكرا للاستاذ الفاضلlionheart بامكانك الضغط على الخلايا المطلوبة ثم من تنسيق خلايا ثم محاذاة وتختر من اليمين الى اليسار
    2 points
  17. هل هو نفس الجدول ام جدول آخر غير الموجود بالاستعلام ؟! الحقول الغير مرتبطة لا تسبب مشكلة عند اضافة البيانات علي حد علمي ولكن لعل المشكلة تكون: 1- بوجود علاقة بين جدولين تتطلب ادخال بعض البيانات المرتبطة وتم اهمال احدها 2- او يكون هنالك حقل الزامي يجب ادخال بيانات به ولم يتم تمرير قيمة له بالاستعلام 3- أو يكون هنالك خطأ املائي بكتابة مسميات بعض الحقول او غيرها من الأمور التي لا يمكن تخمينها الا بعد معاينة المشكلة من خلال المرفق
    2 points
  18. من وجهة نظري الشخصية - ومن الناحية المحاسبية فان هنالك ما يسمي بالخصم المكتسب وهذا الحساب يشمل القيمة المالية التي يتم تخفيضها من قيمة المشتريات (ويدخل في ذلك ما كان عينيا او ماديا) مثال ليتضح المقال: لو ان هذه الشاشات ثمنها 1000 مثلا فقيمة الواحدة 50 اذا اجمالي قيمة ال 22 شاشة هو 1100 ويتم معالجة العملية من الناحية المحاسبية بقيد مزدوج متعدد بهذا الشكل 1100 من حـ/ المشتريات الي حـ/ مذكورين 1000 حـ/ الصندوق (بقيمة المبلغ المدفوع فعليا) 100 حـ/ الخصم المكتسب (قيمة المبلغ الذي تم خصمه من قيمة المشتريات الفعلية أو قيمة البونص او اي شيئ آخر) وقيمة هذا الخصم دائنة وهو تابع لحساب الأرباح والخسائر في الحسابات الختامية ارجو ان يكون كلامي واضحا فقد تكلمت باسلوب المحاسبين 😁 من الناحية البرمجية 1- قيمة المشتريات الفعلية هي 1100 يعني ما سيتم ترحيله الي المخازن هو عدد 22 شاشة بقيمة 1100 يعني قيمة الشاشة الواحدة لن تتغير اي بقيمة 50 كما هي 2- قيمة الصندوق او الخزينة او البنك ستقل بقيمة المبلغ المدفوع فعليا بقيمة 1000 فقط 3- قيمة ال 2 شاشة البونص سيتم اعتبارها ارباح مكتسبة بالكامل 100 أرجو ان لا يكون هذا التوضيح بحاجة الي توضيح هذا والله اعلم
    2 points
  19. اول خطوة هي جعل الحقول المتشابهة تحت نفس العمود . عملنا استعلام جديد Query1 (وهو استعلام التوحيد) ودخلنا في وضع SQL ، ثم نسخنا جملة SQL الاستعلام الاول اليه ، ثم كتبنا union ، ثم نسخنا جملة SQL الاستعلام الثاني اليه: . والنتيجة . ولكننا نريد ان ندمج السجلات المتشابهة مع بعض ، حتى تكون على سجل واحد ، لذا ، يجب ان نعمل استعلام تجميع ، نجمع فيها قيم الحقول حسب المجموعات ، فنعمل استعلام جديد ، ويكون استعلام التوحيد السابق هو مصدر بياناته : . عند تشغيل الاستعلام الجديد ، نحصل على خطأ ، معناه ان انواع الحقول غير متشايهة !! واذا دققنا النظر في اول صورة ، سنجد انه في نفس الحقل عندنا ارقام و Null و "" ، وهذا ينطبق على الحقول الثلاثة التي نريد مجموعها ، يعني في كل حقل ، لازم نجمع قيمها: الارقام ، و Null ، و "" . اول فكرة تجي على البال حتى نستبدل Null و "" الى صفر ، هو استخدام الامر NZ (مع انه غير محبذ استخدام امر VBA في الاستعلام ، حيث انه سيجعله بطيءً نوعا ما) ، والنتيجة . الخطأ هنا لأن الامر NZ ومعناه Null to Zero ، اي تحويل الحقل الذي قيمته Null الى صفر ، بينما عندنا في الحقل نفسه قيمة اخرى وهي "" ، والتي يجب التعامل معاها كذلك وتحويلها صفر ، والامر NZ لا يعرف التعامل معاها ، انا استعمل الكود التالي لإحتواء الطريقتين : If Len([SumAbsentYes] & "")=0 then او هكذا في الاستعلام SumAbsentYes_1: IIf(Len([SumAbsentYes] & '')=0,0,[SumAbsentYes]) . . والنتيجة . او الطريقة الاخرى للتغلب على Data Type Missmatch ، بأن نحتفظ بقيمة Null ، ولكن قيمة "" نحولها الى صفر في الاستعلامات الاصل: . بإختصار ، خطواتك كانت صحيحة ، ولكن كان يحتاج لها خطوة اخرى 🙂 المرفق فيه Query2 و Query4 للطريقتين 🙂 جعفر 1451.حضور وانصراف موظفينV47.accdb.zip
    2 points
  20. مشاركه معكم اخى العزيز ابوجودى فالكود التالى تم اضافه البيانات لمصدر عنصر التحكم ل txtArabic Private Sub BtnToArabic_Click() On Error GoTo Err_Handler Me.frmToArabic!txtArabic.ControlSource = "=" & Me.frmToArabic!txtUnicode Exit_Handler: Exit Sub Err_Handler: MsgBox Err.Description Resume Exit_Handler End Sub
    1 point
  21. تفضل استاذي..طريقة مهندس مدني 😄 Converter Arabic and Unicode (v. 3).accdb
    1 point
  22. المرفق شغال عادى 😅 اوفيس 2016 32 بيت .. الرسالة دى مش بتظهر
    1 point
  23. السلام عليكم ورحمة الله وبركاته درسنا اليوم عبارة عن فكرة فريدة وهي أن تجعل الأكسس يقرأ أي عبارة تريدها ، هذه الميزة تعمل مع النصوص الإنجليزية، وللأسف لا تعمل على النصوص العربية، ولعل هناك طريقة أخرى لا أعلمها فليفدنا من له علم بذلك 🙂 ولا تنسوني من صالح دعواتكم .. ونصائحكم وتوجيهاتكم .. 🙂 ومع ملف الشرح للتطبيق : الأكسس يتكلم.accdb
    1 point
  24. ألف مبروك يا أبا جودي تستاهل كل خير وفقك الله واعانك
    1 point
  25. اللغة في اكسس هي فيجوال بيسك مع اختلافات طفيفة ان اردت الخروج عن بيئة اكسس فالبحر واسع
    1 point
  26. Just format the cells of results to from the icon (Left-to-Right Text Direction) and make it (Right-to-Left)
    1 point
  27. If arr(i, 5) > 0 Then coll(s).Add CStr(arr(i, 2)) This line the number 5 refers to column E and the number 2 refers to column B
    1 point
  28. السلام عليكم ورحمة الله وبركاته وبها نبدأ جربى هذا التعديل Sub SaveInvoiceBothWaysAndClear() Dim NewFN As String Dim Sh As Worksheet Application.DisplayAlerts = False Set Sh = ThisWorkbook.Worksheets("INVOICE") ' Path and Name of the Files NewFN = "C:\Users\A12\Documents\invoice\Inv" & Sh.Range("E5").Value With Sh ' Create the PDF First .ExportAsFixedFormat Type:=xlTypePDF, Filename:=NewFN & ".pdf" ' Export the Excel File .Copy End With ' Deleting Shapes With ActiveSheet With .Shapes.Range(Array("Rounded Rectangle 1", "Rounded Rectangle 2", "Rounded Rectangle 5", "Rounded Rectangle 6", "Button 1", "Button 2")) .Select .Delete End With ' Save the Excel File .SaveAs NewFN & ".xlsx", FileFormat:=xlOpenXMLWorkbook End With ' Close the Excel File ActiveWorkbook.Close ' Increment the invoice number Sh.Range("E5").Value = Sh.Range("E5").Value + 1 ' Clear out the invoice fields Sh.Range("A21:f37").ClearContents Application.DisplayAlerts = True End Sub
    1 point
  29. هلا ارفقتي مثالا لنري المشكلة فمن سمع ليس كمن رأي .
    1 point
  30. اما انا ، فكنت اول واحد يدخل في الموضوع ، وانزلت المرفق لأستمع وارى الكود 🙂 الكود جدا بسيط ونظيف ، عمل جميل 🙂 في اعتقادي @ابو جودي قام بمثل هذا العمل سابقا ، ولكني لا اتذكر التفاصيل 🙂 جعفر
    1 point
  31. اضم صوتي الي صوتك - فبلمثال يتضح المقال 🙂 فمن الواضح انها تريد الحاق البيانات الي الجدول من خلال فورم رئيس يضم فورم فرعي وبكل فورم مجموعة من الحقول التي يتم ملأها بالجدول
    1 point
  32. رائع استاذ @أبو عبدالله الحلوانى لكني اعتقد ان كود الست نهيله فيه مشكلة .. فلقد حاولت الكثير معه ويعطيني خطأ ياريت ترفق الاستعلام بمثال...
    1 point
  33. وعليكم السلام اخوي ابوخليل 🙂 1. نعم فكرت في الموضوع ، لهذا السبب كنت دائما انقح وازيد في مشاركتي الاولى حتى اشمل كل شيء عن الموضوع ، واحتاج لها بعض الامثلة مع صور علشان تكمل ، 2. في الواقع ما نظرت للموضوع عن كيفية حل السؤال بطريقة اخرى ، فطريقة السؤال كانت توجهني في اتجاه استعلام التوحيد 🙂 جعفر
    1 point
  34. وعليكم السلام ورحمة الله لتقسيم الكود يتم استخدام مسافة (فراغ) ثم هذه العلامة ( _ ) بعد الفراغ كالمثال CurrentDb.Execute "INSERT INTO TEAM(DateDA,DateCmd,NumBesoin,demandeur,commande,imputation,acheteur,departement,designation,marque, _ reference,devise,QTEcommande,QTE,frs1,PU1,PT1,frs2,PU2,PT2,frs3,PU3,PT3,prixRETENU,devise2,TotalEUR, _ fournisseur,CONTRAT,FABRICANT,NonMisEnCON,REGULE,SEMAINE,MOIS,PRODUCTIVITE,devise3,ProdEnEUR) " _ & "VALUES('" & Me.DateDA & "','" & Me.DateCmd & "','" & Me.NumBesoin & "','" & Me.Demandeur & "','" & _ Me.Commande & "','" & Me.imputation & "','" & Me.Acheteur & "','" & Me.Departement & "','" & Me.TXTdesign & _ "','" & Me!T_REFRENCE.Form.marque & "','" & Me.txtREF & "','" & Me!T_REFRENCE.Form.devise & "','" & Me.Qte & _ "','" & Me!T_REFRENCE.Form.FRS1 & "','" & Me!T_REFRENCE.Form.PU1 & "','" & Me!T_REFRENCE.Form.PT1 & "','" & _ Me!T_REFRENCE.Form.FRS2 & "','" & Me!T_REFRENCE.Form.PU2 & "','" & Me!T_REFRENCE.Form.PT2 & "','" & _ Me!T_REFRENCE.Form.FRS3 & "','" & Me!T_REFRENCE.PU3 & "','" & Me!T_REFRENCE.PT3 & "','" & _ Me!T_REFRENCE.PRIXretenu & "','" & Me!T_REFRENCE.Devise2 & "','" & Me!T_REFRENCE.TotalEUR & "','" & _ Me!T_REFRENCE.fournisseur & "','" & Me!T_REFRENCE.CONTRAT & "','" & Me!T_REFRENCE.Fabricant & "','" & _ Me!T_REFRENCE.NonMisEnCON & "','" & Me!T_REFRENCE.Regule & "','" & Me.Semaine & "','" & Me.Mois & "','" & _ Me!T_REFRENCE.productivite & "','" & Me!T_REFRENCE.devise3 & "','" & Me!T_REFRENCE.prodEnEUR & "'" أو يمكنك تقطيع الكود علي عدة اسطر في متغير نصي وتمرير قيمته الي دالة تنفيذ الاستعلام مثل: Dim SQLStr as String SQLStr = "INSERT INTO TEAM(DateDA,DateCmd,NumBesoin,demandeur,commande,imputation,acheteur,departement," SQLStr = SQLStr & "designation,marque,reference,devise,QTEcommande,QTE,frs1,PU1,PT1,frs2,PU2,PT2,frs3,PU3,PT3," SQLStr = SQLStr & "prixRETENU,devise2,TotalEUR,fournisseur,CONTRAT,FABRICANT,NonMisEnCON,REGULE,SEMAINE,MOIS," SQLStr = SQLStr & "PRODUCTIVITE,devise3,ProdEnEUR) VALUES('" & Me.DateDA & "','" & Me.DateCmd & "','" SQLStr = SQLStr & Me.NumBesoin & "','" & Me.Demandeur & "','" & Me.Commande & "','" & Me.imputation & "','" SQLStr = SQLStr & Me.Acheteur & "','" & Me.Departement & "','" & Me.TXTdesign & "','" & Me!T_REFRENCE.Form.marque & "','" SQLStr = SQLStr & Me.txtREF & "','" & Me!T_REFRENCE.Form.devise & "','" & Me.Qte & "','" & Me!T_REFRENCE.Form.FRS1 & "','" SQLStr = SQLStr & Me!T_REFRENCE.Form.PU1 & "','" & Me!T_REFRENCE.Form.PT1 & "','" & Me!T_REFRENCE.Form.FRS2 & "','" SQLStr = SQLStr & Me!T_REFRENCE.Form.PU2 & "','" & Me!T_REFRENCE.Form.PT2 & "','" & Me!T_REFRENCE.Form.FRS3 & "','" SQLStr = SQLStr & Me!T_REFRENCE.PU3 & "','" & Me!T_REFRENCE.PT3 & "','" & Me!T_REFRENCE.PRIXretenu & "','" SQLStr = SQLStr & Me!T_REFRENCE.Devise2 & "','" & Me!T_REFRENCE.TotalEUR & "','" & Me!T_REFRENCE.fournisseur & "','" SQLStr = SQLStr & Me!T_REFRENCE.CONTRAT & "','" & Me!T_REFRENCE.Fabricant & "','" & Me!T_REFRENCE.NonMisEnCON & "','" SQLStr = SQLStr & Me!T_REFRENCE.Regule & "','" & Me.Semaine & "','" & Me.Mois & "','" & Me!T_REFRENCE.productivite & "','" SQLStr = SQLStr & Me!T_REFRENCE.devise3 & "','" & Me!T_REFRENCE.prodEnEUR & "'" CurrentDb.Execute SQLStr ارجو التجربة وموافاتي بالنتيجة
    1 point
  35. @ابو جودي الف مليون مبروك تستحق هذا ووفقك الله دائما وجعلك فى العون
    1 point
  36. مرحباً في البداية لا ينصح باستخدام الدالة Dlast، كونها تستدعي القيمة من آخر سجل وقد يصدف أن يضطر مدخل البيانات إلى استدراك بيانات مفقودة، هناك عدة طرق لعمل المطلوب الأولى بالكود الذي تفضل به الأستاذ كاف يار، الثانية: Sub BtnDmax() On Error Resume Next Dim db As DAO.Database Dim Rst As DAO.Recordset Dim SqlStr As String Dim X As Integer Set db = CurrentDb SqlStr = "SELECT Examination.[File number], Max(Examination.[visit number]) AS [MaxOfvisit]" & _ "FROM Examination where [File number] = " & Val([Forms]![Examination]![NumFile]) & " GROUP BY Examination.[File number];" Set Rst = db.OpenRecordset(SqlStr) X = Rst![MaxOfvisit]+ 1 [Forms]![Examination]![NewVisit] = X End Sub ضع الكود في حدث بعد التحديث لحقل رقم الملف AfterUpdate مسميات الحقول في الكود افترضتها، ما عليك سوى تغييرها وفقاً لنموذجك.
    1 point
  37. وعليكم السلام 🙂 جوابي فقط على الجزئية: جربي هذا: Dim StrFlter as String StrFlter = "DateDA,DateCmd,NumBesoin,demandeur,commande,imputation,acheteur,departement,designation,marque,reference,devise,QTEcommande,QTE,frs1,PU1,PT1,frs2,PU2,PT2,frs3,PU3,PT3,prixRETENU,devise2,TotalEUR,fournisseur,CONTRAT,FABRICANT,NonMisEnCON,REGULE,SEMAINE,MOIS,PRODUCTIVITE,devise3,ProdEnEUR" CurrentDb.Execute "INSERT INTO TEAM(" & StrFlter & ")VALUES('" & Me.DateDA & "','" & Me.DateCmd & "','" & Me.NumBesoin & "','" & Me.Demandeur & "','" & Me.Commande & "','" & Me.imputation & "','" & Me.Acheteur & "','" & Me.Departement & "','" & Me.TXTdesign & "','" & Me!T_REFRENCE.Form.marque & "','" & Me.txtREF & "','" & Me!T_REFRENCE.Form.devise & "','" & Me.Qte & "','" & Me!T_REFRENCE.Form.FRS1 & "','" & Me!T_REFRENCE.Form.PU1 & "','" & Me!T_REFRENCE.Form.PT1 & "','" & Me!T_REFRENCE.Form.FRS2 & "','" & Me!T_REFRENCE.Form.PU2 & "','" & Me!T_REFRENCE.Form.PT2 & "','" & Me!T_REFRENCE.Form.FRS3 & "','" & Me!T_REFRENCE.PU3 & "','" & Me!T_REFRENCE.PT3 & "','" & Me!T_REFRENCE.PRIXretenu & "','" & Me!T_REFRENCE.Devise2 & "','" & Me!T_REFRENCE.TotalEUR & "','" & Me!T_REFRENCE.fournisseur & "','" & Me!T_REFRENCE.CONTRAT & "','" & Me!T_REFRENCE.Fabricant & "','" & Me!T_REFRENCE.NonMisEnCON & "','" & Me!T_REFRENCE.Regule & "','" & Me.Semaine & "','" & Me.Mois & "','" & Me!T_REFRENCE.productivite & "','" & Me!T_REFRENCE.devis . جعفر
    1 point
  38. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته هذا تعديل فيه رسم البر الأيمن والأيسر رسم قطاعات الترع 6.rar رسم قطاعات الترع 6.rar
    1 point
  39. وعليكم السلام 🙂 الطريقة هي عمل استعلام توحيد ، بهذه الطريقة : Select ID, Full_Name, Income, Position From tbl_Directors union all Select ID, Full_Name, Income , P:"" From tbl_Players union Select I:0, Full_Name, Income:"" , Pos:"Not applicable" From tbl_Others union SELECT "", tblSection.sname, Sum(tblSection.Allowances) AS SumOfshead, "مدراء" As P FROM tblSection WHERE (((tblSection.snumber1)<>123)) GROUP BY tblSection.sname ORDER BY tblSection.sname; . هنا جمعت 4 استعلامات (نسميها استعلامات اولية) (اعمل كل استعلام بالطريقة العادية ، وبعد التأكد انه يعمل بطريقة صحيحة ، وان حقول الاستعلام في نفس ترتيب حقول بقية الاستعلامات (كذلك يمكنك اضافة هذه الحقول في استعلام التوحيد مباشرة) ، ضع الاستعلام في وضع SQL ، ثم انسخ الجملة كاملة وضعها في استعلام التوحيد ، هذا اللي عملته في الاستعلام الرابع اعلاه) ، الشرط الوحيد في استعلام التوحيد هو ، ان يكون عدد الحقول نفسها لجميع الاستعلامات ، فإذا احد الاستعلامات ما فيه هذه الحقل ، يجب ان تضع قيمة معينة له ، سواء صفر او "" (فراغ) او "المدراء" ، وطبعا الحقول التي تريدها لنفس العمود يجب ان تكون بنفس ترتيبها في الاستعلام (انا تركت مسافات بين الحقول في المثال اعلاه فقط لتوضيح هذه النقطة) ، يجب الانتباه في الحقول الاضافية ، فإذا اردت ان تجمع هذا الحقل لاحقا ، فاعطيه القيمة 0 ، اسم الحقل يُؤخذ من اول استعلام (بغض النظر عن تغيّر اسماء الحقول في الاستعلامات لنفس العمود) ، والفرز يُؤخذ من آخر استعلام ، union all معناها ، اضف جميع السجلات ، مع المتكررات بين الاستعلامات ، union معناها ، اضف جميع السجلات ، بدون المتكررات بين الاستعلامات. وهناك اوقات اخرى ، حيث الاستعلامات الاولية لإستعلام التوحيد ، فيها نفس عدد الحقول وبنفس الترتيب ، فيمكن تسهيل استعلام التوحيد الى: Select * From qry_1 union Select * From qry_2 union all Select * From qry_3 union Select * From qry_4 . او الخلط بين الطريقتين: Select * From qry_1 union Select * From qry_2 union all Select * From qry_3 union Select * From qry_4 union SELECT "", tblSection.sname, Sum(tblSection.Allowances) AS SumOfshead, "مدراء" As P FROM tblSection WHERE (((tblSection.snumber1)<>123)) GROUP BY tblSection.sname ORDER BY tblSection.sname; بعض الاوقات هذه الاستعلام سيعطيك البيانات المطلوبة ، ولكن قد تحتاج الى فرز او تصفية اضافية ، او تجميع سجلات في سجل واحد ، فما عليك إلا ان تعمل استعلام آخر ، ثم تستعمل استعلام التوحيد كمصدر بيانات هذا الاستعلام الجديد ، ثم تعمل فيه المطلوب 🙂 جعفر
    1 point
  40. كحل بسيط باستخدام الماكرو عملت على نسخ الورقة بكاملها كشف المقبوضات1.xlsm
    1 point
  41. استاذي الفاضل @ابو جودي مستحيل ازعل منك .... تعرف ليش لانك انسان ذو خلق عالي وقلب يحب الجميع .... اسأل الله ان يرزقك الفردوس الاعلى ... امين
    1 point
  42. صديقي ... اليك قاعدة البيانات مع التعديل حسب ما طلبت وبطريقة اسهل وبدون اضافة اكواد او موديول . Service.956-Up.accdb
    1 point
×
×
  • اضف...

Important Information