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

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

  1. husamwahab

    husamwahab

    الخبراء


    • نقاط

      6

    • Posts

      1,047


  2. AbuuAhmed

    AbuuAhmed

    الخبراء


    • نقاط

      5

    • Posts

      976


  3. Moosak

    Moosak

    أوفيسنا


    • نقاط

      4

    • Posts

      1,997


  4. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      3

    • Posts

      9,814


Popular Content

Showing content with the highest reputation on 08 نوف, 2022 in all areas

  1. عليكم السلام والرحمة تفضل التعديل المشكلة في حقل suptotal الموجود في الجدول مصدر البيانات الحقيقي من حقل id والبيانات الظاهرة هي لحقل suptotal يجب ان تكون البيانات لحقل suptotal Tes_10.rar
    2 points
  2. شكرا لشيخ المنتدى جعفر 🙂 لفتح الموضوع وشكرا لكم جمعيا لتفاعلكم. أنا أوافق بشدة في مراجعة القوانين والتوجيهات والاقتراحات. وفقكم الله تعالى. فقط ملاحظة إضافية وهي الانتباه إلى الخبراء الجدد، فبصمة الخبير تظهر من أول مشاركاته، فاستقطبوه ولا تنتطروا ولا تنظروا إلى عدد مشاركاته أو إلى عمره في المنتدى.
    2 points
  3. طريقة اخرى عن طريق متغير عام اولا نعلن عن متغير في اي وحدة نمطية حتى لو كانت فارغة Public x As Byte في النموذج form1 في حدث عند الفتح نضع الامر x=1 في نفس النموذج في حدث عند الاغلاق نضع الامر x=0 في نموذج frm3 نضع الامر If x = 0 Then MsgBox "لايمكن فتح النموذج", vbCritical, "تنبية" Cancel = -1 Exit Sub End If مرفق مثال mm(1)(2).mdb
    2 points
  4. تسلم ياوردة ربي يحفظك من كل مكروه
    1 point
  5. 1 point
  6. بالخدمة استاذ احمد وحسب فهمي لطلبك اعتقد ان الكود ادناه يفي بالغرض Me.tmonth = DateDiff("m", Me.Date1, Me.date2)
    1 point
  7. السلام عليكم شكرا لك استاذ @أبو ماجد الغامدي شكرا لك استاذ @husamwahab الكود اعتقد انه تمام ممنون منك جدا لي طلب اخر لو سمحت عند احتساب العلاوة للموظف تحتسب من اليوم الاول للشهر مهما كان تاريخها مثلا تاريخ استحقاق علاوة الموظف بالامر الاداري هو 28/1/2022 تحتسب لغرض الصرف من تاريخ 1/1/2022 ونحن مثلا في تاريخ 1/5/2022 تحتسب اشهر الاستحقاق باثر رجعي من الشهر الاول لغاية الرابع (اربعة اشهر) المطلوب : كود يحسب التاريخ المدخل من بدايه الشهر مهما كان تاريخة ويضيف الاشهر الباقية للنموذج تحياتي للجميع وبارك الله فيكم ملاحظة: يكون الحساب للاشهر فقط وليس سنوات مهما كان عددها 12 او 15 وهكذا حساب عدد الاشهر.accdb
    1 point
  8. وهذه مشاركة مع الاستاذ ابو ماجد Root_111.rar
    1 point
  9. تفضل حبيبنا حساب الشهر 30.rar
    1 point
  10. السلام عليكم للتوضيح بما ان الامر قد أثير ضمن الصور المرفقة وان كانت قديمة و قد تم الرد عليه فى حينه فى السابق لم يكن الموقع به شهادة جماية و قد تم توفير شهادة حماية بعدها و اصبحت الصفحات مؤمنة https:/ ايضا الملاحظة الخاصة باعلانات جوجل ، الاعلانات تختلف لكل شخص بحسب سحله ، فمن تظهر له اعلانات السيارات مثلا فهو فى سجل جوجل يهتم بهذا المجال، و هكذا أي أن كل شخص جوجل ينضح له لما يظن أنه مهتم به بحسب تحليله و يختلف الامر من شخص لاخر
    1 point
  11. والله ما قصرت ي Moosak كثر دائما من التخبيصات الله يسعدك ي الامير وباقي عندي شغله بسيط ان شاء الله اخصص لها موضوع وتمر عليها بتخبيصاتك واشكر جميع اخواني اللي شاركوا الله يحفظهم من كل شر
    1 point
  12. السلام عليكم .. 🙂 وأنا جالس أخبص طلعت عندي هذي النتيجة ،، عسى ما أكون دخلت عرض بس .. 😄 الاستعلام الأول يجيب آخر تاريخ .. ( LastMogadra_Q ) والاستعلام الثاني يجمع البيانات.. ( LastMgadraForEachOne_Q) ALI.rar
    1 point
  13. احسنت اخ وجيه نورت المنتدى بعد غياب طويل ربنا يكرمك
    1 point
  14. شوف كده استاذي حذف اسم طالب بجميع بياناته.xlsm
    1 point
  15. وعليكم السلام ورحمة الله تعالى وبركاته تفضل اخي ("E2")/ =SOMMEPROD(($G$9:$G$50=$D$2)*(SOUS.TOTAL(109;DECALER(H9;LIGNE($H$9:$H$50)-LIGNE(H9);0)))) ("E3")/ =SOMMEPROD(($G$9:$G$50=$D$3)*(SOUS.TOTAL(109;DECALER(H9;LIGNE($H$9:$H$50)-LIGNE(H9);0)))) ("E4")/ =SOMMEPROD(($G$9:$G$50=$D$4)*(SOUS.TOTAL(109;DECALER(H9;LIGNE($H$9:$H$50)-LIGNE(H9);0)))) مع الظغط على المفاتيح Ctrl+ Shift+ Enter المبيعات.xlsx
    1 point
  16. بارك الله فيك وشكرا على الإجابة الوافية .... وطريقتك في الكود بسيطة لكنها لا تمنع تكرار ظهور الحرف. شكرا لك وألف شكرا فمنكم نتعلم
    1 point
  17. وعليكم السلام ورحمة الله وبركاته جرب هذا التعديل Private Sub CommandButton9_Click() ActiveSheet.Range("A1:M29").ExportAsFixedFormat Type:=xlTypePDF,Filename:="D:\تقارير قسم الحركة\" & range("C6") & ".pdf"
    1 point
  18. السلام عليكم و رحمة الله وبركاته أشكرك أخى جعفر على طرح الموضوع ، وأشكر كل من أبدى رأيه من الأخوة الكرام و تعقيبا على الموضوع ،و للدخول مباشرة إلى السبب الجذري 🙂، فإنه على مدار عمل المنتدى منذ عام 2003 حتى الان لم تحدث مشكلة كبيرة فى هذا الشأن على ما أذكر ، وذلك بفضل الله و تعاون وتفاهم الجميع و ربما وجود كثافة أكبر للتواصل سابقاً أو تواجد أكبر لي بخلاف إدارة الموقع قد قل خلال الفترة الماضية، فضلا عن انسحاب عدد كبير من الأخوة القدامي تباعا من المشاركة فى العمل الإداري بسبب نشغالهم. وقد طفت مشكلة كثافة التعديل على المشاركات مؤخرا الي السطح و بفضل الله لم تعد هذه امشكلة موجودة الان بنفس الصورة على ما أعتقد بدءا من الايام القليلة الماضية. و بالنسبة لشكاوى الأعضاء فالقنوات الاساسبة للاعتراض أو الاقتراحات تتمثل فى القسم المخصص للشكاوى و المقترحات و قد يتم استخدام الرسائل او التصعيد من خلال فريق الموقع لمن هو متاح له ذلك. و انا اتابع قسم الشكاوي عن قرب و قد وردت فيه شكوي واخدة فقط على الرغم من كثافة التعديل الملحوظة على المشاركات و قد بدءت منذ ورودها فى التدخل عن طريق النصيحة بالتدريج. و عدم وجود شكاوي كثيرة من شيء قد يعطى انطباعا خاطئاً انه فى المجمل يمكن تقبله ما تعلمته مؤخرا هو : أن قنوات التواصل المتاحة لم تعد كافية و اننا فى حاجة لوجود تواصل اكثر فاعلية ، ربما في ضورة لقاء دوري أو ما شابه. وذلك على مختلف المستويات ، ليس فقط من أجل المشاكل لكن أيضا من أجل التطوير بالفعل هناك حاجة لصياغة وثيقة محدثة تضع الخطوط العريضة لكيفية استخدام الصلاحبات الادارية لاستخدام فريق الموقع. و ربما يتم نشرها من باب الشفافية. و بإذن الله نخطط لذلك خلال الفترة القادمة
    1 point
  19. وعليكم السلام 🙂 ومشاركة مع اخي kanory 🙂 1. اعمل حقل نص في التقرير لكتابة كلمة جزاءات و ماهيات . 2. اعمل الحقل myText في النموذج الذي سيتم منه الطباعة : . وهذا الكود على حدث زر الطباعة: Private Sub cmd_print_3_Copies_Click() Me.myText = "جزاءات" DoCmd.OpenReport "Report1" Call Pause_Time Me.myText = "ماهيات" DoCmd.OpenReport "Report1" Call Pause_Time Me.myText = "جزاءات + ماهيات" DoCmd.OpenReport "Report1" Call Pause_Time End Sub Sub Pause_Time() Dim PauseTime, Start PauseTime = 2 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop End Sub . قد لا تكون بحاجة الى الدالة Pause_Time ، فهي تجعل الكمبيوتر ينتظر ثانيتين قبل ان يطبع التقرير التالي. جعفر 1527.Report_Label.mdb.zip
    1 point
  20. محاولة أخرى و ربما بطريقة بسيطة بواسطة الكود حسب المثال المرفق Const cDQ As String = """" Sub AuditTrail(frm As Form, recordid As Control) 'Track changes to data. 'recordid identifies the pk field's corresponding 'control in frm, in order to id record. Dim ctl As Control Dim varBefore As Variant Dim varAfter As Variant Dim strControlName As String Dim strSQL As String On Error GoTo ErrHandler 'Get changed values. For Each ctl In frm.Controls With ctl 'Avoid labels and other controls with Value property. If .ControlType = acTextBox Then If .Value <> .OldValue Then varBefore = .OldValue varAfter = .Value strControlName = .Name 'Build INSERT INTO statement. strSQL = "INSERT INTO " _ & "Audit (EditDate, User, RecordID, SourceTable, " _ & " SourceField, BeforeValue, AfterValue) " _ & "VALUES (Now()," _ & cDQ & Environ("username") & cDQ & ", " _ & cDQ & recordid.Value & cDQ & ", " _ & cDQ & frm.RecordSource & cDQ & ", " _ & cDQ & .Name & cDQ & ", " _ & cDQ & varBefore & cDQ & ", " _ & cDQ & varAfter & cDQ & ")" 'View evaluated statement in Immediate window. Debug.Print strSQL DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.SetWarnings True End If End If End With Next Set ctl = Nothing Exit Sub ErrHandler: MsgBox Err.Description & vbNewLine _ & Err.Number, vbOKOnly, "Error" End Sub نقوم باستراد الكود و الجدول المسمى Audit إلى قاعدة البيانات، و في النموذج أو النماذج نستدعي الكود في حدث قبل التحديث Private Sub Form_BeforeUpdate(Cancel As Integer) Call AuditTrail(Me, Auto_ID) End Sub حسب المثال نفتح النموذج Frm_info و نقوم بالتعديلات للتجربة ثم نفتح الجدول Audit و سوف نجد تسجيل لكل التعديلات، و خاصة اسم أدمن الجهاز أو المستخدم للجهاز رابط الكود للفائدة https://www.techrepublic.com/article/a-simple-solution-for-tracking-changes-to-access-data/ Access Tables Magic.accdb
    1 point
  21. من باب التنويع وتعدد الأفكار .. ومشاركة الأساتذة 🙂 هناك طريقة سهلة أيضا نفذتها على السريع .. 😉 فكرتها أنها تقوم بعمل سجل لكل التعديلات التي تجري على كل سجل وتكتب: ( اسم المستخدم ، اسم الحقل ، التاريخ والوقت ) .. وتلخيصها كالتالي : كل ما ستحتاجه هو حقل من نوع [ نص طويل ] تضيفه في الجدول .. وهذه الدالة في محرر الأكواد الخاص بالنموذج : Function WhoChangeWhat() Dim t As Date Dim U As String Dim Ctrl As String t = Format(Now, "yyyy/mm/dd HH:nn:ss") U = Environ("username") Ctrl = Screen.ActiveControl.Name Me.Changes = Changes & vbCr & " user : (" & U & ") change The Feiled : (" & Ctrl & ") At: " & t End Function ولك أن تغير ما تريد أن تكتبه لك الدالة في مربع النص .. 🙂 ولتطبيقها بأسهل طريقة : تقوم بتحديد جميع الحقول القابلة للتعديل .. ثم من لوحة الخصائص عند حدث ( بعد التحديث ) تكتب اسم الدالة هكذا : =WhoChangeWhat() ولك الخيار في الإبقاء على الحقل ظاهراً .. أو إخفائه بحيث يظهر للمدير فقط 🙂 UsersActions.accdb
    1 point
  22. وعليكم السلام 🙂 وهذه طريقتي : . وهذه محركات العمل : Option Compare Database Dim Number_Exists As String Dim i As Long ' Sub Rnd_Number() Dim Max_Number As Long, Rnd_Number As Long Max_Number = DCount("*", "Char") For i = 1 To 5 Start_Over: Randomize Rnd_Number = Int((Max_Number * Rnd) + 1) 'check if this number was used If InStr(Number_Exists, Rnd_Number) > 0 Then 'this number exists, get another one GoTo Start_Over Else 'its a new number, add it Number_Exists = Number_Exists & Rnd_Number End If 'use the number, get the Char Me("T" & i - 1) = DLookup("Cha1", "Char", "IDW=" & Rnd_Number) Next i End Sub Private Sub cmd_Fresh_Sart_Click() Number_Exists = "" Call Clear_Fields Call Rnd_Number End Sub Private Sub Form_Load() Call Clear_Fields Call Rnd_Number End Sub Sub Clear_Fields() 'clear the lower fields For i = 1 To 5 Me("ch" & i) = "" Next i Me.Word0 = "" End Sub جعفر 1525.GAME WORD.accdb.zip
    1 point
  23. وعليكم السلام ورحمة الله وبركاته أستاذنا العزيز @jjafferr 🙂 وعودا حميدا .. من أجل التطوير والتحسين لدي عدة مقترحات .. : 1- أن يتم تبيين من هم المشرفون على المنتدى ( لكل قسم على حده )، وذلك للتعريف بهم والتعرف عليهم ولتسهيل عملية التواصل معهم ، أو لأي غرض آخر. 2- إعطاء المشرفين صلاحية تبيين أفضل إجابة ( في حال غفل أو تجاهل صاحب الطلب تعيينها ) ، ناقشت هذا الأمر سابقا ،و الواقع يقول أن تقريبا في حدود 70% من المواضيع متروكة بدون تعيين الإجابة الأفضل على الرغم من من أنها محلولة .. وتعلمون إيجابيات وسلبيات هذا الأمر ( لا داعي لذكرها الآن ). 3- ( تثبيت المواضيع المتميزة ) : تمر فترات يتم فيها طرح مواضيع متميزة جدا ومتعوب عليها وفيها اجتهاد وسبق ولكنها تندفن بين ثنايا المواضيع الاعتيادية ثم تنجرف مع تيار المواضيع ولا يلتفت إليها إلا من يمعن النظر والتركيز ، لذلك نتمنى أن يتم النظر لهذا الأمر بجدية وذلك تشجيعا وتكريما لهؤلاء المجتهدين والذين آثروا طرح أفكارهم الاستثنائية في هذا الصرح المبارك .. ( وهذا السبب الذي جعلني أعرض مواضيعي المميزة في خانة التوقيع ، على الرغم أني أعرف أنها مزعجة بصريا .. والقائمة تطول ) 4- نتمنى أن يكون هناك تفاعل من قبل المشرفين الأكارم مع مواضيع الأعضاء على فترات متقاربة .. بحيث نشعر بوجودهم معنا ، فأحيانا يغيب المشرفين فترات طويلة ( قد تمتد لأشهر ) ولا نسمع لهم خبرا .. والغائب عذره معه طبعا .. ولكن أحيانا يغيب الجميع مرة واحدة 😅. 5 - ( مكتبة الموقع ) : هي عبارة عن كنز حقيقي للمنتدى ولكنها غير مرتبة كما تستحق وغير منظمة نوعا ما .. وغير مستغلة لإبراز أهم مخرجات المنتدى .. بحيث يصل الباحثون بسهولة إلى الفوائد والفرائد من إنتاجات الأعضاء .. فعدد المواضيع بها قليلة ( مقابل الإنتاجات الكثيرة الموجودة فعلا في المنتدى ) .. وكذلك البعض يخطئ ويفتح مواضيع استفسارات بها وتترك كما هي . 6- الحقيقة يساورني القلق حيال المساحة المحدودة لدي لإرفاق الملفات ، فأنا بطبيعتي إنسان بصري أحب أن أدعم مواضيعي بالصور التوضيحية وكذلك في حال المشاركة بالرد على استفسارات الإخوة ، فالصورة الواحدة تغنيك عن ألف كلمة كما يقولون 😄 ولكن كل مرة أعيد حساباتي قبل الرد بصورة ( خصوصا لما أشوف العداد يزيد ) 😅 .. أعرف أن البدائل موجودة ولكن مع مرور الوقت والزمن أغلب المواقع تحذف هذه الصور .. وستبقى المواضيع مشوهة ولا توصل الفكرة !! 7- أحينا أقوم بفتح موضوع جديد أعرض فيه فكرة معينة، ثم مع المناقشة مع الإخوة الخبراء يتم الخروج بتحديثات جديدة وأفكار تصحيحية للموضوع الأصلي فأحتاج للرجوع إلى تعديل أصل الموضوع ( النص أو المرفقات ) ولكن تكون فترة السماح بالتعديل قد انتهت فيظهر الموضوع للزائرين والمتابعين بأخطائه وعيوبه وهذا أمر غير محمود ، والواقع يقول أن القلة القليلة من الناس من يتابع النقاشات والتي تمتد أحيانا لعدة صفحات لمعرفة الخلاصة .. فالناس يريدون ( زبدة الموضوع ) والتي عادة ما تكون في أول مشاركة. 🙂 هذا ما يحضرني الآن .. مع تمنياتي لكم بالتوفيق ،، وشكري وتقديري لجميع جهودكم المبذولة .. 😊🌹
    1 point
  24. أكرمكم الله ونفع بكم ووفقكم لكل خير
    1 point
  25. 1 point
  26. تفضل هذه المحاولة ارجو ان تكون طلبك ملاحظة : التعديل تم بتصرف لكن قد يؤدي للمطلوب aa.rar
    1 point
  27. استاذ محمد ابو الحسن استاذ فوزى استاذ كريم استاذ حسونة شكر لمروركم الكريم ورفع الله قدركم واعلى نزلكم فى جنات النعيم
    1 point
  28. يا لغفلتي وجهلي أجبت عن سؤال طرح منذ سنين وسنين كنت حياً أرزق حينذاك ، سبحان الله ...
    1 point
  29. وعليكم السلام ورحمة الله تعالى وبركاته تفضل اخي Sub Find_And_copy() Dim MH As Worksheet, MH2 As Worksheet Dim c As Range, f As Range Dim rngCopy As Range, rngCopyTo Set MH = Worksheet____37 Set MH2 = Worksheet____60 Application.ScreenUpdating = False 'يمكنك تفعيل هدا السطر في حالة الرغبة بحدف البيانات القديمة في نفس العمود المرحل اليه 'Call Find_And_clear '("H9")تحديد رقم العمود المرحل اليه من شيت ادخال الى شيت ارشيف في الخلية For Each c In Application.Intersect(MH.UsedRange, MH.Range("H9")) If Len(c.Value) > 0 And Application.CountA(c.EntireColumn) > 1 Then 'رقم صف البحث Set f = MH2.Rows(9).Find(what:=c.Value, LookIn:=xlValues, _ LookAt:=xlWhole) If Not f Is Nothing Then Set rngCopy = MH.Range(c.Offset(1, 0), _ MH.Cells(Rows.Count, c.Column).End(xlUp)) Set rngCopyTo = MH2.Cells(Rows.Count, _ f.Column).End(xlUp).Offset(1, 0) rngCopyTo.Resize(rngCopy.Rows.Count, 1).Value = rngCopy.Value End If End If Next c Worksheet____37.Activate 'مسح البيانات المرحلة 'Range("H10:H39").ClearContents Application.ScreenUpdating = True End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Sub Find_And_clear() '("H9") البحث عن رقم العمود بشرط الخلية 'وافراغ البيانات Dim i As Integer Dim LastRow As Long Dim MyColl As Collection Dim myIterator As Variant Set MyColl = New Collection Application.ScreenUpdating = False MyColl.Add Worksheet____37.Range("H9").Value LastRow = Worksheet____60.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row Worksheet____60.Activate For i = 6 To 350 For Each myIterator In MyColl If Cells(9, i) = myIterator Then Range(Cells(10, i), Cells(LastRow, i)).Select Selection.ClearContents Cells(9, i).Select End If Next Next Worksheet____37.Activate Application.ScreenUpdating = True End Sub تقارير (3).xlsm
    1 point
  30. السلام عليكم ورحمة الله وبركاته أستاذنا المبدع الكبير ضاحي الغريب ...تحياتنا العطرة لشخصكم الكريم، ما أستطيع قوله باختصار ليكافئ هذا العمل والإنجاز الراقي ما شاء الله بارك الله أسأل الله تعالى أن يجعله بميزان حسناتكم آمين. وكما يقال عندنا بما في معناه (الكتاب مقروء من عنوانه) وما نراه تحفة قيمة ترنو العيون لها . جزاكم الله خيراً وأحسن إليكم تقبل تحياتي العطرة والسلام عليكم ورحمة الله وبركاته. ملاحظة : تم تنزيله دون استجابة لفتحه🙁 أستخدم أوفيس 2016
    1 point
  31. السلام عليكم ورحمة الله وبركاته .. رجعت لك من جديد عمي جعفر @jjafferr ( ما نسيت السالفة ) 😅 هذي المرة راجع مع إضافات مميزة 🙂 .. أخذت ملاحظاتك للأستاذ أبو خليل بعين الاعتبار 👍😉 إليك الجديد في البرنامج : أول شيء عليك أن تقوم به (كمبرمج) هو إضافة روابط قواعد البيانات الخلفية للاتصال وتخزينها في البرنامج ( لاحظ أن جدول قواعد البيانات المخزنة هو جدول محل وليس جدول مرتبط) .. وهذا الجديد : 1 - أضفت خيار الاتصال التلقائي 🙂 : البرنامج يتصل تلقائيا بأول قاعدة جداول يجدها عند توافر 3 شروط : 1- يكون خيار (اتصال تلقائي )مفعل 2- يكون خيار (عرض المسار )مفعل 3- تكون القاعدة متوفرة. 2 - أضفت خيار عرض المسار : لعرض المسار في قائمة المسارات اللي تظهر أو عدم عرضه وتخزينه فقط لاعتبارات تخدم المبرمج فقط 🙂 3 - أضفت خيار كتابة كلمة مرور قاعدة البيانات في حال كان لها باسوورد ، في حالة لا يوجد كلمة مرور يترك الحقل فاضي والبرنامج سيتعامل معها بطريقته . ---------------------------------------------------------------------------------- الآن باعتبار أن لدينا ثلاث قواعد بيانات وكلها مخزنة في الجدول .. هكذا تقوم القاعدة بالإتصال التلقائي لما نكون في جهاز المبرمج : 🙂 ولما ننتقل إلى جهاز العميل .. يقوم البرنامج بالاتصال تلقائيا بقاعدة البيانات في جهازة .. وعندما لايجد البرنامج أي قاعدة بيانات متوفرة .. يفتح لك نافذة إنشاء اتصال جديد .. أو أنك تعدل الروابط في قسم التعديل .. ====================================================== الآن لإلغاء موضوع الاتصال التلقائي يحتاج أنك تلغي الخيار (اتصال تلقائي ) بتلك القاعدة .. ويمكنك تحطه لقاعدة معينة وتلغيه من الباقيات .. بعد كذا عند الفتح ( لما تكون ألغيت الاتصال التلقائي ) ستظهر لك هذي النافذة مباشرة ( الاتصال اليدوي بقاعدة البيانات ) : لاحظ أنه يخبرك في الأسفل بآخر قاعدة كان متصل بها .. أو القاعدة اللي متصل بها الآن 🙂 بالمناسبة الآن بعد إضافة حقل لكلمة المرور الخاصة بقاعدة البيانات .. الآن البرنامج يسألك إذا كان لها باسوورد أو لا عند عمل اتصال بقاعدة جديدة 🙂 ===================================================================== وبخصوص ماكرو ال Autoexc تم تطويره أيضا 🙂 وضيفة الماكرو أنه يشغل لنا دالة اسمها Start .. ولها 4 متغيرات هذي المرة بدل 3 🙂 1 - تعطيها اسم أول نموذج أو فورم تريده يشتغل . 2- تكتب ( true / False ) وذلك لتقفيل البرنامج بشكل كامل وإخفاء النوافذ العلوية وتعطيل القوائم الخاصة ووو ... إلخ 😁 ( باختصار تجهيز البرنامج للتسليم النهائي). 3- تكتب ( true / False ) في حالة أنك تريد تفعيل خاصية الاتصال التلقائي لقاعدة الجداول أو تعطيله . 4 - نكتب فيه اسم أحد الجداول المرتبطة وذلك لفحص إذا كان البرنامج متصل بقاعدة البيانات (الجداول) أو لا .. شي أكثر من كذا دلع !! 😄 ====================================== والآن مع اللحظة الحاسمة .. ملف التحميل 😊 طبعا الغرض الأساسي من وضع العمل هنا .. لارتباطة بالموضوع الأساسي لأستاذنا @jjafferr وأيضا يهمني رأيه ورأيكم جميعا في هذا الابتكار بغرض التعديل والتطوير والتحسين 🙂 والهدف الأكبر خدمة المبرمجين وتسهيل حياتهم 😊 المرفق : Auto Reconnect FE.zip
    1 point
  32. الاخت زينة السلام عليكم تستطيعين عمل هذا بالطريقة التالية : 1_ من قائمة ادوات tools أختاري التصحيح التلقائي Auto Correct Options 2_ سيظهر لك مربع حوار فيه عدة بوابات , اختاري البوابة الاولى ( التصحيح التلقائي ) Auto Correct ( طبعاً لا داعي لأختيارها لأنها ستكون مختارة تلقائياً على اعتبار انها الاولى ) 3 _ في الحقل استبدال Replace اكتبي الرمز الذي تريدين ( مثلاً الحرف ب ) 4_ في الحقل بـ With أكتبي الجملة التي تريدين ( مثلاً بسم الله الرحمن الرحيم ) 5_ اضغطي على الامر اضافة Add ثم ok الآن اكتبي الحرف ب في أي مكان واضغطي Enter سيكتب البرنامج ( بسم الله الرحمن الرحيم ) ملاحظة : هذه العملية ستنطبق على كل كتب عمل أكسل الموجودة في جهازك ولن تقتصر على الكتاب الذي عملته فيها بمعنى أنك اذا فتحت كتاب عمل جديد مثلاً وكتبت فيه ( ب ) فسيكتب ( بسم الله الرحمن الرحيم ) اذا اردت من الربرنامج ان لا يكتب ويتوقف عن هذه الحالة فأخبريني وسأجيبك أو سيجيبك الاخوة الافاضل هنا مع التحية أخوك
    1 point
×
×
  • اضف...

Important Information