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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      21

    • Posts

      9,814


  2. husamwahab

    husamwahab

    الخبراء


    • نقاط

      9

    • Posts

      1,047


  3. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      7

    • Posts

      3,254


  4. صالح حمادي

    صالح حمادي

    أوفيسنا


    • نقاط

      4

    • Posts

      1,745


Popular Content

Showing content with the highest reputation on 24 أبر, 2020 in all areas

  1. نعم ، انشئ استعلام خاص "بمعلومات المشرف" فقط ، ثم انشئ استعلام مجاميع لجدول "الزيارات" ، تجمع فيه الحقول m,q, ..... ثم اعمل استعلام ثالث ، تجمع فيه الاستعلامين اعلاه ، وهو يكون مصدر بيانات التقرير "معلومات المشرف" جعفر
    3 points
  2. السلام عليكم في نقاش مع الأستاذ @رمهان في أحد المواضيع اقترح عليا فتح موضوع حول إغلاق البرامج المتصلة بالشبكة من أجل النقاش و إثراء الموضوع. و لقد قمت بهذا الصدد بتصميم مثال يجعل مدير الشبكة يتحكم في إغلاق جميع البرامج (الأجهزة) المتصلة عبر الشبكة. شرح فكرة البرنامج: قمت بإضافة جدول لقاعدة البيانات اسمه tbl1 و وضعت به حقل اسمه code_edit نوعه رقمي تعتمد الفكرة على إعطاء هذا الحقل قيمتين 0 أو 1 في نسخة المستخدم هناك نموذج الواجهة frm يتحسس لقيمة الحقل code_edit إذا وجدها 1 يفتح نموذج آخر يبدأ بالعد التنازلي من 10 لإغلاق القاعدة و عند فتح القاعدة مرة ثانية يظهر نموذج العد التنازلي مرة أخرى لأن قيمة الحقل 1 يتم تغيير قيمة الحقل من خلال زري أمر في نسخة المدير (إغلاق الأجهزة المتصلة و منع الإتصال ، السماح بالإتصال) في المرفق ثلاثة ملفات نسخة المدير و نسخة مستخدم و db بعد تحميل المرفق قم بتحديث إرتباط نسخة المدير و نسخة مستخدم مع القاعدة db افتح الملفين نسخة المدير و نسخة مستخدم و اضغط على زر إغلاق الأجهزة المتصلة و منع الإتصال في نسخة المدير سوف تلاحظ ظهور نموذج العد التنازلي في نسخة المستخدم و إن كانت لك شبكة داخلية تستطيع نقل نسخة المستخدم لجهاز آخر و تحديث الإرتباط و تجربة البرنامج. eloued.rar
    2 points
  3. السلام عليكم . رمضان مبارك تقبل الله منا و منكم في الملف كود لإظهار القيم المكررة مع رقم الصف الموجود فيه التكرار في MSGBOX اظهار المكرر في رسالة.xlsm
    2 points
  4. تم عمل تغيير على الاستعلامات مصدر بيانات التقرير : . والنتيجة . جعفر 1216.visit.accdb.zip
    2 points
  5. معليش فين التكرار نزلت المرفق ولم الحظ التكرار ؟؟؟
    2 points
  6. شکرا لک في الحقيقة انا ما نظرت النتيجة هكذا تخياتي
    2 points
  7. بعد اذن اخي واستاذي @Shivan Rekany المجموع غير صحيح ويمكن استبدال الكود =Nz([male];0)+Nz([Famale];0) بالكود =Nz(Val([male]);0)+Nz(Val([Famale]);0)
    2 points
  8. السلام عليكم ايضا اذا اردنا التخيير بين فتح النموذج لعرض البيانات والتعديل عليها وبين فتحه لإدخال البيانات Private Sub Form_Open(Cancel As Integer) If MsgBox("Yes = لإدخال بيانات جديدة" & vbCrLf & _ "NO = لعرض البيانات والتعديل", _ vbQuestion + vbYesNo, _ "عرض وإدخال") = vbYes Then Me.DataEntry = True Else Me.DataEntry = False End If End Sub
    2 points
  9. تفضل اخي العزيز ارجو ان يكون طلبك لا يوجد بيانات1.rar
    2 points
  10. كنت أعاني من هذا المشكل وتمحله بهذا الشكل #If win64 Then declare PtrSafe Sub Sleep Lib "kernel32" (byval dwmilliseconds as Long ) #Else Declare Sub sleep Lib "kernel32" (ByVal dwmilliseconds As Long) #End If
    2 points
  11. بارك الله بك اخي رائد اليك كود اخر بنفس الموضوع لكنه يفوم بترتيب النتيجة ابجدياً (مع حق اختيار القيم الفريدة) Option Explicit Sub My_code() Dim list As Object Dim Rng As Range, rcell As Range Dim D As Worksheet, Lr_A% Dim Answer As Byte Set D = Sheets("Duplicates") Lr_A = D.Cells(Rows.Count, 1).End(3).Row Set list = CreateObject("System.Collections.ArrayList") Set Rng = D.Range("A2:A" & Lr_A) D.Range("D1").CurrentRegion.Clear Answer = MsgBox("Do you want all data Or Only the Unique values", 4) For Each rcell In Rng.Cells '++++++++++++++++++++++++++++++++++++++++++++++++++ If Answer <> 6 Then list.Add (rcell.Text) '* Else If Not list.Contains(rcell.Text) Then list.Add (rcell.Text) '** End If '+++++++++++++++++++++++++++++++++++++++ Next rcell list.Sort MsgBox Join(list.ToArray, vbCrLf) D.Range("D1").Resize(list.Count) = _ Application.Transpose(list.ToArray()) Set list = Nothing End Sub الملف مرفق Sortig_Data.xlsm
    2 points
  12. بارك الله فيكم أساتذتي الكرام. أنا تلميذ هذا الصرح العظيم و الرائع. كل عام و أنتم بخير و بارك الله فيكم . و جعل كل ما تقدمونه في ميزان حسناتكم. ووفقكم لما يحبه و يرضاه. بارك الله فيك أستاذنا علي . و جزاك الله خيرا
    2 points
  13. السلام عليكم . تقبل الله منا و منكم الصلاة و الصيام و القيام إن شاء الله لقد قمت بإضافة تحديث للبرنامج يمكن الزبون من تأجيل عملية إغلاق البرنامج لأجل حفظ العمل المتواجد بين يده. أضفت زر أمر في نموذج العد التنازلي عند الضغط عليه يغير العد من 60 و يغير حجم النموذج و ينقله للركن العلوي في الجهة اليسرى من الشاشة close pro.rar
    2 points
  14. الخطأ في الفرز لأنه كان يفرز حقل نص ، فاستبدلت الحرف A بالرقم 9999999999 (يعني رقم كبير) ، ثم استخدمت الدالة val لتحويل القيمة الى رقم : . ونفس الشيء في التقرير ، فطلعت النتيجة : . جعفر 1212.1.TEST_QUERY(1).accdb.zip
    1 point
  15. ( jjafferr )السلام عليكم استاذ جزاك الله خير الجزاء والشكر موصول لكل الاخوة الذين حاولو مساعدتي مع احترامي وتقديري للجميع
    1 point
  16. 1. طيب وشو النتيجة ، انت ارفقت ارقام ، ولازم تشرحها ، شو الصح وليش ؟ 2. هاي مو مقبولة (نعم مقبولة لهذا الموضوع) 🙂 3. ما منه فائدة بملاحظتك رقم 2 !! 4. حياك الله أبوآمنة 🙂 جعفر
    1 point
  17. كل عام وانت بخير أخي أحمد @أحمد الفلاحجى بارك الله فيك ....
    1 point
  18. جزاك الله خيرا اخى محمد @Barna وزياده الخير خيرين وكل عام وانتم بخير ارفق موضوع لام عهود جزاها الله خيرا http://arabteam2000-forum.com/index.php?/topic/277583-نسخ-جداول-في-القاعدة-بعلاقاتها-الى-الاستاذة-أم-عهود/#comment-1356700 بالتوفيق اخوانى
    1 point
  19. أخي لو ارفقت مثال للمطلوب كان اسرع في حصولك للاجابة ... على العموم انت صدرت الجداول وتحتاج تصدير للعلاقات جرب الكود التالي لتصدير العلاقات أو ارفق مثال للتجربة .... Function ExportRelations(DbName As String) As Integer Dim ThisDb As DAO.Database, ThatDB As DAO.Database Dim ThisRel As DAO.Relation, ThatRel As DAO.Relation Dim ThisField As DAO.Field, ThatField As DAO.Field Dim Cr As String, i As Integer, cnt As Integer, RCount As Integer Dim j As Integer Dim ErrBadField As Integer Cr$ = Chr$(13) RCount = 0 Set ThisDb = DBEngine.Workspaces(0).OpenDatabase("C:\mydat.mdb") Set ThatDB = DBEngine.Workspaces(0).OpenDatabase(DbName$) For i = 0 To ThatDB.Relations.Count - 1 Set ThatRel = ThatDB.Relations(i) Set ThisRel = ThisDb.CreateRelation(ThatRel.Name, _ ThatRel.Table, ThatRel.ForeignTable, ThatRel.Attributes) ErrBadField = False For j = 0 To ThatRel.Fields.Count - 1 Set ThatField = ThatRel.Fields(j) Set ThisField = ThisRel.CreateField(ThatField.Name) ThisField.ForeignName = ThatField.ForeignName On Error Resume Next ThisRel.Fields.Append ThisField If Err <> False Then ErrBadField = True On Error GoTo 0 Next j If ErrBadField = True Then Else On Error Resume Next ThisDb.Relations.Append ThisRel If Err <> False Then Else RCount = RCount + 1 End If On Error GoTo 0 End If Next i ThisDb.Close ThatDB.Close ExportRelations = RCount End Function وتستدعيها بالكود التالي ... Call ExportRelations("C:\ExpAndImp.mdb") C:\ExpAndImp.mdb هي مسار القاعدة المصدر منها العلاقات .... جرب وأعلمنا بالنتيجة !!!!!!
    1 point
  20. اهى اخى واستاذى محمد @Barna جزاك الله خيرا ورمضان مبارك وكل عام وانتم بخير شوف المشرف عماد رقمه 36
    1 point
  21. اخي بلال 🙂 هناك الكثير من المواضيع في المنتدى بخصوص طلبك ، واخوي @ابوخليل شارك في الكثير منها ، فياريت تعمل بحث ، وان شاء الله تحصل على اللي تريده ، فما في داعي لإعادة العمل مرة اخرى 🙂 جعفر
    1 point
  22. التكرار اللى بيحدث ده من البيانات الاحصائيه للمشرف اللى بتتكرر مع جميع السجلات قم بازالتهم من الاستعلامات ثم انشىء لهم استعلام خاص بهم واجعل مصدر تقدير الخلاصه بالاستعلام الجديد وصفى بيانات بناء ع رقم المشرف عند الاستدعاء جرب ووافنا بالنتيجه
    1 point
  23. حياك الله 🙂 على بركة الله 🙂 جعفر
    1 point
  24. الف الف مبروك للاستادين عبد الفتاح و الرائد رمضان كريم
    1 point
  25. وعلشان يستفيد الجميع 🙂 1. بدأنا في الاستعلام ، فما ممكن ان نكتب اسم الحقل ، ثم نشير الى نفس الحقل في المعادلة (لأنه سيشكل حلقه LOOP في الحصول على النتيجة) : 2. في التقرير ، عينا ولنفس السبب ، فما ممكن ان نكتب اسم الحقل ، ثم نشير الى نفس الحقل في المعادلة (لأنه سيشكل حلقه LOOP في الحصول على النتيجة) : طبعا بإمكاننا ان نعطي الحقل اي اسم ، مثل ZZ ، ولكن حذاري ، فدائما استخدم اسم يعطي معنى للحقل/المتغير ، علشان بعد سنة لما تريد تعدل على الكود ، الاسماء تكون واضحة ولها معنى 🙂 جعفر
    1 point
  26. الشكر لله ثم لمعلمنا العزيز جعف جزاه الله خيرا بارك الله فيك ابوداود بالتوفيق ان شاء الله
    1 point
  27. السلام عليكم 🙂 لو تتبعت التاريخ لما يدخل في دالتي ، لوجدت انه غير الذي تم ارساله ، ولم استطع معرفة السبب !! لهذا السبب ، استعمل نفس دالة التجربة التي استعملتها انت ، ولكن ارسل التواريخ الى دالتي اولا ثم الى دالتك ، وسترى ان النتيجة صحيحة ، يعني : بدلا عن ارسال التواريخ الى دالتك اولا Debug.Print YMD_Diff(Date1, Date2) , YMDDif(Date1, Date2) ارسل التواريخ الى دالتي اولا Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) . جرب Sub Test2() Dim Date1 As Date Dim Date2 As Date Dim yy As Integer, mm As Byte, dd As Byte Debug.Print "YMDDif" ,"YMD_Diff" Date1 = DateSerial(1970, 2, 28) Date2 = DateSerial(1970, 3, 1) Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) Date1 = DateSerial(1970, 1, 31) Date2 = DateSerial(1970, 2, 27) Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) 'Debug.Print "--------------------" 'Debug.Print YMD_Diff(Date1, Date2, yy, mm, dd) 'Debug.Print yy, mm, dd 'Debug.Print "--------------------" 'Debug.Print YMD_Diff(Date1, Date2, yy, mm, dd, True) 'Debug.Print yy, mm, dd 'Debug.Print "--------------------" End Sub . لهذا السبب ، لما ارسلت التواريخ مباشرة الى الدالة ، كانت النتائج صحيحة : . ------------------------------------------------------------------------------------------------ ولكن هذا الكلام كله صار بسبب قولك : وفي الواقع تم اثبات ان الاكسس لا يعطي نتائج خطأ بين التاريخين ، وإنما الخطأ كان في دالتك اللي في اول مشاركة لك . وللعلم ، فتجاربك في مشاركتك الاخيرة ، ليست على دالتك الاصل (والتي اثارت كل هذا النقاش) ، وانما على دالتك التي قمت بتعديلها 🙂 ومثل ما قلت سابقا ، طريقة عمل دالتك جميلة 🙂 جعفر
    1 point
  28. وعلى جميع الناس اللهم آمين يا رب العالمين
    1 point
  29. السلام عليكم تفضل اخي العزيز ارحو ان يكون طلبكmicro100.rar
    1 point
  30. الناتج صحيح اخي احمد بارك الله فيك ويذيدك من علمه شكراً
    1 point
  31. صحيح اخى ومعلمى العزيز ولقد اشرت الى انها اقل ذكاء ومحاوله التعلم استاذى العزيز فاننى ابحث عن كل معلومه واحاول جاهدا التعلم بالمعلومات المتوفره بالعربى جزاك الله خيرا معلمنا العزيز عالتوجيه والافاده اعانكم الله علينا نحن طلاب العلم وتقبل الله منكم صالح الاعمال وجعلها فى موازين حسناتكم ابا حسين
    1 point
  32. السبب انك تقوم بتشغيل ملف البرنامج مباشرة الحماية ييتم على الملف و ليس على اسم الملف و بالتالي تعديل اسم الملف لن يفيد بشيئ
    1 point
  33. 1 point
  34. تنقيح للمشاركة الأخرة ، كوني لم أستطع التعديل عليها: Public Function YMD_Diff(inDate1 As Date, inDate2 As Date, _ Optional outY, Optional outM, Optional outD, _ Optional AddOneDay As Boolean = False) As String Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer Dim dInterim1 As Date 'تصرف من Hawiii ------------------------------------- Dim bkDate1 As Date, bkDate2 As Date bkDate1 = inDate1: bkDate2 = inDate2 If inDate2 < inDate1 Then inDate1 = inDate2: inDate2 = bkDate1 End If Do While Month(inDate1) = 2 Or Month(inDate2) = 2 Or Month(inDate1 - 1) = 2 inDate1 = DateAdd("m", 1, inDate1) inDate2 = DateAdd("m", 1, inDate2) Loop 'AddOneDay عند الرغبة في إضافة يوم في العمر أو المدة inDate1 = inDate1 + AddOneDay 'inDate1 - Abs(AddOneDay) 'تصرف من Hawiii ------------------------------------- iMonth = DateDiff("m", inDate1, inDate2) If Day(inDate1) > Day(inDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, inDate1) outD = DateDiff("d", dInterim1, inDate2) outM = iMonth Mod 12 outY = iMonth \ 12 'تصرف من Hawiii ------------------------------------- If outY + outM = 0 Then outD = Abs(bkDate2 - bkDate1) + Abs(AddOneDay) 'تصرف من Hawiii ------------------------------------- YMD_Diff = outY & "y/" & outM & "m/" & outD & "d" End Function
    1 point
  35. السلام عليكم ورحمة الله الاستاذ / عبد الفتاح فى بى اكسيل الاستاذ / الرائد 77 تهنئة مزدوجة بمناسبة حلول شهر رمضان المعظم اعاده علينا وعليكم وعلى الامة الاسلامية بالخير والبركات و المناسبة الاخرى لترقية الزميلين الفاضلين مع اطيب التبريكات و التهانى عن جدارة و استحقاق
    1 point
  36. اخي يجب ان تطابق ما بين اليوزرفورم والشيت بخصوص العناصر التي يتم ترحيلها وجدت صعوبة في المطابقة الكلمات ليس نفسها كما يوجد خلايا مدمجة بالنسبة لي لااعلم طريقة الترحيل للخلايا المدمجة عليك بالغاء الدمج ان اردت المساعدة هذا ما استطعت القيام به user.xlsm
    1 point
  37. وعليكم السلام-يمكنك جعل المعادلة بهذا الشكل =IF($E4<=30,$E4*2.786,IF(AND($E4>30,$E4<=60),(30*2.786)+($E4-30)*3.536,IF($E4>60,(30*2.786)+(30*3.536)+($E4-60)*4.036))) 1حساب فاتورة الغاز.xlsx
    1 point
  38. السادة الاعضاء بتاريخ 26 / 12 /2016 طلبت حل لهذه المشكلة وبفضل الله توصلت اليوم الي هذا الحل وذلك باستخدام الدالة CLEAN ويمكن ضرب الناتج من الدالة السابقة في العدد 1 لكي يمكن استخدام النواتج في العمليات الحسابية بهذه الصورة CLEAN( )*1 واشكر الاستاذ / أبو عبد النور لتفضلة بالمشاركة والرد التحوويل من سطرين لسطر واحد.xls
    1 point
  39. اسف هذا هو التعديل الصحيح توزيع الاسم.accdb
    1 point
  40. يمكن هذا الكود يحل المشكلة الكود Option Explicit Sub edit_formula() Application.EnableEvents = False Dim my_rg As Range Dim cel As Range Dim t Dim r% t = Range("a1").Formula Dim lr%: lr = Cells(Rows.Count, 1).End(3).Row On Error Resume Next Set my_rg = Range("a1:a" & lr).SpecialCells(xlCellTypeBlanks) If Err.Number <> 0 Then GoTo 1 On Error GoTo 0 For Each cel In my_rg r = cel.Offset(-1, 0).Row t = Replace(t, "A1", "A" & r + 1) cel.Formula = t t = Range("a1").Formula Next 1: Application.EnableEvents = True End Sub '===================================== Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Row > 1 Then edit_formula End If End Sub الملف مرفق Auto num.xlsm
    1 point
  41. زيادة في اثراء الموضوع هذا الكود البسيط ملاحظة كود على السريع حيث ان البيانات يجب ان تبدأ من العامود A (يمكن التعديل) Sub mylastecel() Dim lr, lc As Integer lr = UsedRange.Rows.Count lc = UsedRange.Columns.Count For i = 1 To lc If Cells(lr, i) <> "" Then Cells(lr, i).Select Selection.Offset(0, 1).Select If Selection = "" Then Selection.Offset(0, -1).Select End If Next End Sub
    1 point
  42. السلام عليكم بعد اذن اخي الحبيب konafa4000 هذا شرح على عجله Sub TRHILL() ' عند وجود خطاء اخرج منه On Error Resume Next ' تحديث الشاشة Application.ScreenUpdating = False ' هنا حلقة تكراريةعدد الصفوف إبتداء من الصف الخامس الى الصف الـ 14 فقط 1 For R = 5 To 14 ' متغير لحفظ قيمة قيمة الحلقة لعمود A 2 TS = Cells(R, 1).Value ' حلقة تكرارية من أول ورقة إلى اخر ورقة في المصنف 3 For S = 1 To Sheets.Count ' شرط اذا إسم الورقة تساوي المتغير 4 If Sheets(S).Name = TS Then ' متغير لحفظ إسم ورقة5 5 sh5n = Sheets("Sheet5").Name ' متغير لحفظ اخر سطر فيه بيانات في الورقة التي تساوي الشرط في السطر الرابع 6 ER = Sheets(TS).Range("D1211").End(xlUp).Row + 1 ' متغير لحفظ اخر خليه فيها بيانات في الورقة الخامسه + سطر واحد 7 E5 = Sheets("Sheet5").Range("B1211").End(xlUp).Row + 1 ' متغير لحفظ الأعمدة التي سيتم نسخها 8 RN = "B" & R & ":G" & R ' متغير لحفظ عملية النسخ التالي والتي هيا لعمودين الدائن والمدين 9 RN2 = "B" & R & ":c" & R ' مدين او دائن ' متغير لعملية النسخ الثالثه 10 RN3 = "D" & R & ":G" & R ' نسخ بيانات متغير RN 'Sheets(TS) 11 Range(RN).Copy ' لصقها في الورقة التي حققت الشرط 'Cells(ER, 4). 'ER ' الصف الاخير + سطر الذي في سطر رقم 6 ' 4 ' رقم العمود الذي يعتبر الـ D 12 Sheets(TS).Cells(ER, 4).PasteSpecial Paste:=xlPasteValues ' نسخر بيانات متغير RN2 13 Range(RN2).Copy ' لصقها في الورقة التي في متغير سطر 5 'Sheets(sh5n) = التي هيا sheet5 'Cells(E5, 2) 'E5 ' لصق في صف متغير سطر 7 '2 ' عمود رقم2 الذي هو B 14 Sheets(sh5n).Cells(E5, 2).PasteSpecial Paste:=xlPasteValues ' sheet5 ' اخر سطر فيه بيانات السطر الذي يليه' ' عمود 4 D الصق فيه متغير TS سطر رقم 2 15 Sheets(sh5n).Cells(E5, 4).Value = TS ' انسخ متغير RN3 16 Range(RN3).Copy ' Sheets(sh5n) = sheet5 'Cells(E5, 5) = سطر متغير E5 ' 5 = عمود E 17 Sheets(sh5n).Cells(E5, 5).PasteSpecial Paste:=xlPasteValues ' إمسح بيانات متغير RN 18 Range(RN).ClearContents ' إنتها الشرط 19 End If ' خروج من حلقة S 20 Next S ' خروج من حلقة R 21 Next R ' الخروج من وضع النسخ الذي 22 Application.CutCopyMode = False ' الخروج من وضع تحديث الشاشة 23 Application.ScreenUpdating = True ' رسالة مسج بنجاح العملية 24 MsgBox "!تـم الترحيل بنجاح", vbInformation + vbMsgBoxRight, "تـــــم الـترحـيل" ' مسح بيانات المدى المعني 25 [a5:g14].ClearContents ' الذهاب الى الخلية المعنيه 26 Range("a5").Select ' في حال وجود خطاء On Error GoTo 0 End Sub
    1 point
  43. جرب هذا الملف المرفق سجل البيانات فى شيت 6 ثم اضغط على button 2 ستجد البينات تم ترحيلها الى شيت العميل وايضا الى شيت 5 تحياتى Konafa4000 جديد .rar
    1 point
×
×
  • اضف...

Important Information