اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

  1. kanory

    kanory

    الخبراء


    • نقاط

      26

    • Posts

      2,189


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      14

    • Posts

      9,724


  3. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      8

    • Posts

      8,723


  4. Ali Mohamed Ali

    Ali Mohamed Ali

    المشرفين السابقين


    • نقاط

      5

    • Posts

      11,621


Popular Content

Showing content with the highest reputation on 11 نوف, 2020 in all areas

  1. ضع هذا الكود تحت حدث الزر On Error GoTo Err_أمر0_Click Dim X X = CurrentProject.Path & "\" & CurrentProject.Name DoCmd.TransferDatabase acExport, "Microsoft Access", X, acTable, "تأجير شقة", "نسخة من تأجير شقة", False MsgBox "تم نسخ الجدول ", vbOKOnly, "تأكيد" Exit_أمر0_Click: Exit Sub Err_أمر0_Click: Resume Next
    5 points
  2. انظر الصور وطبق ..... ثم ضع هذا الكود في مصدر الكمبو ---------->>>>>> SELECT * FROM (SELECT Table1.main_unit FROM Table1) AS1 UNION SELECT * FROM (SELECT Table1.med_unit FROM Table1) 2; ولكن سؤال لماذا حذفت اسماء السلع ؟؟؟؟ كيف تعرف وتفرق بين السلع عن زيادتها عن اكثر من اربعة سلع وكلها بالكيلو مثلا ؟؟ والخيار لك في النهاية !!
    4 points
  3. اغلق البرنامج من شريط مهام الكمبيوتر .... ثم شغل البرنامج مرة اخرى بالضغط على شيفت
    3 points
  4. ما هو الداعي لفتح النموذجين في آن واحد ؟؟؟
    3 points
  5. في مصدر عنصر التحكم لمربع النص ضع هذا ..... =DLookUp("[xxx]";"x1")
    3 points
  6. اذا كان هذا العمل كبير 6000 الف قيد لجميع الأفضل عمله على الاكسس(برنامج مخصص Data Base) لا الأكسل
    2 points
  7. تفضل Office 365 Excel in 15 Mints - شرح الإكسل فى 15 دقيقة للمبتدئين Office365 دورة شرح اوفيس 365 بطريقة سهلة office 365
    2 points
  8. تعدبل الكود Option Explicit Dim M As Worksheet Dim Act_sh As Worksheet Dim i%, Lr%, Max_ro%, rows_count% '+++++++++++++++++++++++++++++++++++ Sub test() Dim Bol As Boolean Lr = Sheets("Main").Cells(Rows.Count, 3).End(3).Row If Lr < 12 Then Exit Sub Application.DisplayAlerts = False Sheets("Modul").Visible = True For i = 12 To Lr Bol = WorksheetExists(Sheets("Main").Cells(i, 3)) If Not Bol Then Sheets("Modul").Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Sheets("Main").Range("C" & i) End If Next Sheets("Modul").Visible = 2 Sheets("Main").Select Application.DisplayAlerts = True End Sub '++++++++++++++++++++++++++++++++ Function WorksheetExists(ByVal WorksheetName As String) As Boolean Dim Sht As Worksheet For Each Sht In ThisWorkbook.Worksheets If Application.Proper(Sht.Name) = Application.Proper(WorksheetName) Then WorksheetExists = True Exit Function End If Next Sht WorksheetExists = False End Function '""""""""""""""""""""""""""""""" Sub Transfer_data_New() test Dim x Set M = Sheets("Main") If Lr < 12 Then Exit Sub For i = 12 To Lr Set Act_sh = Sheets(M.Range("C" & i) & "") Max_ro = Act_sh.Cells(Rows.Count, 3).End(3).Row + 1 If Max_ro < 12 Then Max_ro = 12 Act_sh.Cells(Max_ro, 2).Resize(, 11).Value = _ M.Cells(i, 2).Resize(, 11).Value '======================================== Act_sh.Range("B12:L" & Max_ro).RemoveDuplicates _ Columns:=Array(1, 2, 3, 4, 5, 6, _ 7, 8, 9, 10, 11), Header:=xlNo rows_count = Act_sh.Range("B12").CurrentRegion.Rows.Count If Act_sh.Range("B12") <> vbNullString Then Act_sh.Range("A12").Resize(rows_count).Value = _ Evaluate("Row(1:" & rows_count & ")") M.Range("a12:k12").Copy With Act_sh.Range("A12").CurrentRegion .PasteSpecial (xlPasteFormats) .Columns(12).EntireColumn.Delete End With End If Next End Sub yasser_w Format.xlsm
    2 points
  9. السلام عليكم 🙂 اخي محمد أبو عبدالله ، اذا تسمح لي استعمل قاعدة بياناتك ، واعمل تغيير على الكود ، لجلب البيانات بطريقة اخرى ، من النموذج الرئيسي مباشرة 🙂 الكود : Private Sub Command11_Click() If Len(Me.txtName & "") = 0 Then MsgBox "يحب اختيار اسم العميل اولاً", vbInformation, "officena" Me.txtName.SetFocus ElseIf Len(Me.txtTel & "") = 0 Then MsgBox "يحب اختياررقم التليفون اولاً", vbInformation, "officena" Me.txtTel.SetFocus ElseIf Len(Me.txtAddress & "") = 0 Then MsgBox "يحب اختيار العنوان اولاً", vbInformation, "officena" Me.txtAddress.SetFocus Else 'to make a New Record in the SubForm, it has to be in Focus Me.frm2.SetFocus DoCmd.GoToRecord , , acNewRec 'now take the values from the Main Form Me.frm2!XName = Me.txtName Me.frm2!XTel = Me.txtTel Me.frm2!XAddress = Me.txtAddress 'save the SubForm Record so that the Record Count shows correctly If Me.frm2.Form.Dirty Then Me.frm2.Form.Dirty = False MsgBox "تم اضافة البيانات بنجاح ان شاء الله ", , "officena" End If End Sub . اما عدد السجلات ، فنعمل حقل في النموذج الفرعي ، في قسم Form Footer (ولا يعمل العد او الجمع بهذه الطريقة ، إلا في هذا القسم) ، ونجعله يعد عدد اي حقل ، ويمكننا لاحقا ان نجعله مخفي : . وفي النموذج الرئيسي ، يكون لدينا حقل نص ، ومصدر بياناته هو حقل العد الموجود في النموذج الفرعي : . جعفر 1280.DB_test.accdb.zip
    2 points
  10. وعليكم السلام-اجعل تنسيق الخلية هكذا ##"0."000"Kg" format cell1.xlsx
    2 points
  11. وفي هذا الموضوع اكثر من طريقة : . وسبق ان عملت لك رد عن الترقيم ، هنا 🙂 . جعفر
    2 points
  12. تفضل اخل الكريم لعله يكون هو الذى تريده ex.accdb
    2 points
  13. الفائدة الاعم والتي من اجلها تم عمل المنتديات ، هي كما قالها الاستاذ محمد : اما فائدة الدخول متخفي ، فمثلا لما اكون على سفر وادخل المنتدى ، لغرض البحث عن شيء معين ، ولا اريد ان يتتبع الاعضاء وقت دخولي ذلك الوقت ، فأدخل متخفي جعفر
    2 points
  14. استبدل مصدر الصف في الكمبو بهذا SELECT * FROM (SELECT Table1.item, Table1.main_unit FROM Table1) AS kan UNION SELECT * FROM (SELECT Table1.item, Table1.med_unit FROM Table1) AS kan1;
    2 points
  15. سطرين ؟؟؟؟؟ قصدق سجلين مثل هذا ؟؟؟
    2 points
  16. انظر الصور وطبق ..... combobox1.accdb
    2 points
  17. السلام عليكم 🙂 هذا المنتدى للتبادل العلمي ، حتى يستفيد منه الجميع ، وليس صاحب الموضوع / السؤال فقط 🙂 فيا ريت ان نضع الاجابة بالتفصيل في الرد (سواء الخطوات او الكود او صور من شاشة البرنامج) ، ولا نتوقف عند ارفاق المرفق الذي به الرد / الجواب ، والسبب هو ، حتى يستطيع الجميع رؤية الرد ومعرفته مباشرة ، دون اللجوء الى انزال المرفق وفهمه 🙂 نعم ، هذا عبء إضافي ، ولكن نتائجه ستكون مثمرة ان شاء الله 🙂 وتذكروا ، هذا مجرد طلب ورجاء ، وليس اجباري 🙂 شكرا جزيلا 🙂 جعفر
    1 point
  18. عليكم السلام ما فهمته من طلبك انه عند اضافة مبلغ يتم جمعه مع المبلغ الكلي المقابل له هل جربت ادخال مبلغ في حقل المبلغ المضاف
    1 point
  19. تم العمل كما تريدين بعد التعديل على الكود Yara_One _more_color.xlsb
    1 point
  20. وعليكم السلام 🙂 الرابط التالي فيه مجموعة روابط لربط الاكسس بالـ SQL : . ولو اني غير مؤهل للرد على هذا السؤال ، بسبب اني لم اقم بالربط ، ولكن عندي معلومات قد تفيدك 🙂 1. أ. اذا كانت بيانات SQL Server على سيرفر حقيقي على الشبكة ، بينما بيانات وجداول الاكسس على كمبيوتر في مجلد مشاركة على الشبكة ، فهذه المقارنة غير عادلة ، فعمل السيرفر يكون افضل بكثير من مجلد مشاركة ، ولو وضعت الاكسس على سيرفر حقيقي فستلاحظ ان الاكسس اصبح اسرع ، ب. حتى اذا استعملت مجلد مشاركة ووضعت فيه بيانات وجداول الاكسس : تأكد بأن المجلد ليس على القرص الذي به تنصيب الوندوز (انا قلت القرص وليس البارتيشن) ، لذا يجب ان تكون الجداول على قرص آخر في الكمبيوتر ، واذا اردت افضل الاقراص ، فعليك بقرص SSD ، فالسرعة ستكون واضحة ، وهناك بعض انواع الـ SSD الاسرع من الأخرى ، ج. معظم مشاكل بطئ الاكسس تكون بسبب عدم وجود فهرسة للحقول: اللي فيها علاقة بين الجداول : سواء في نافذة العلاقات ، او في الاستعلام ، او في ربط النموذج الرئيسي بالنموذج الفرعي ، او التقرير الرئيسي بالتقرير الفرعي ، اللي تستعمل كمعيار ، سواء في الاستعلام ، او في الكود ، د. نقل البيانات من جداول الاكسس الى جداول الـ SQL Server : لن يجعل برنامجك اسرع ، بل قد يجعله ابطأ ، لذلك يجب عليك عمل استعلاماتك على SQL Server بـ stored procedures ، يجب حذف اوامر الاكسس من الاستعلام ، والاوامر التي لا تعمل في SQL Server ، مثل NZ ، واخواتها Dlookup ، و اوامر اخرى ، الـ SQL Server لا يعطيك جميع سجلات الجدول في الاستعلام (الاكسس يعطيك جميع السجلات) ، لذا يجب عمل تغيير في البرنامج ليتناسب مع هذا السياق ، 2. نعم : في الاكسس: باستعمال SSMA الذي يأتي مع SQL Server ، تنصيب برنامج SSMA :https://docs.microsoft.com/en-us/sql/ssma/access/sql-server-migration-assistant-for-access-accesstosql?view=sql-server-ver15 انت تعمل جداولك في SQL Server ثم تستورد البيانات فقط من الاكسس ، سواء بالنسخ/لصق (يجب التأكد من هذه الخطوة) ، او عن طريق استعلام الحاقي ، ولكن وقبل نقل البيانات بين البرنامجين ، يجب ان تكون البيانات في جداول الاكسس متماشية مع تلك في الـ SQL Server . ولكن سؤالي هو ، ليش تريد ان تنتقل الى SQL Server ؟ هناك اسباب جوهرية ومهمة للنقل ، ولكن بطئ البرنامج في الشبكة ليس واحد منهم ، فالاكسس قد يكون اسرع 🙂 جعفر
    1 point
  21. عليكم السلام استاذ Ahmed_J انا بالخدمة استاذ تفضل التعديل ارجو ان يكون طلبك test-7.rar
    1 point
  22. اذا كان العمل على شيء مثل سندات ادخال المواد او الصرف ، فيجب ان تبقى البيانات في هذه الحقول ، اما اذا كان العمل شيء آخر ، ولا يتطلب وجود البيانات في الحقول ، فنعم طريقتك صحيحة 🙂 جعفر
    1 point
  23. تفضل 🙂 عملت استعلام خارجي بإسم qry_Search ، وجعلته مصدر بيانات النموذج الفرعي ، وفيه معيار البحث عن اي جزء من اسم العميل: . وبعد ان تكتب ما تشاء للبحث ، انقر على زر البحث حتى يتم تصفية بيانات النموذج الفرعي. جعفر 1278.عادل.accdb.zip
    1 point
  24. السلام عليكم مشاركة مع استاذي العزيز جعفر اخ عبد العليم تفضل هذا التعديل المبني على فكرة برنامجك استورد اي ملف وستجد الملف والملف في فولدر حسب نوعه ومعلومات عن الملف ملاحظة : العمل كل العمل في الجدولين tblExtensions و tblFolders PathExtension.rar
    1 point
  25. السلام عليكم 🙂 سؤال الموضوع كان: وقد قام الاخ حسام بالرد عليه 🙂 اما الطلب الاضافي ، فقد تستفيد من هذا الموضوع: جعفر
    1 point
  26. اخي الكريم لم تحدد ماذا يظهر لك بعد الدخول تدخل بشكل طبيعي لورقة الاكسيل
    1 point
  27. ارفع الملف الذي نقلت اليه الفورم
    1 point
  28. اولا افتح الملف لي فيه الفورم واذهب الى قائمة développeur ثم زر الماوس الايمن على الفورم كما في الصورة ثم اختر éxporter un fichier وفي النافذة المفتوحة اختر مكان حفظ الفورم وانقر enregestre اغلق الملف المفتوح واذهب الى الملف المراد نقل الفورم اليه وانقر قائمة développeur ثم زر الماوس الايمن واختر كما في الصورة وفي النافذة المفتوحة اختر الفورم وانقر على .... كما في الصورة
    1 point
  29. وعليكم السلام 🙂 بدل ان تستعمل الرقم الموجب ، استعمل علامة ناقص (-) قبل الرقم ، حتى يعرف البرنامج انك تريد طرح هذه المدة ، هكذا : جعفر
    1 point
  30. 1- حذرت كثيراً من الخلايا (او الصفوف ) المدمجة و لكن لا حياة لمن تنادي لذلك قمت بادراج صف فارغ (الصف رقم 11) يرجى عدم المساس به اي تركه فارغاً دون كنابة اي شيء فيه) والأفضل اخفاؤه 2-تم ادراج صفحة باسم "Modul"مخفية وتحتوي على الجدول الأساسي قارغاً (لنسخه في حال اضافة شيتات جديدة) 3- في حال اضافة اسم اي شيت (في العامود C من الضفخة Main ابتداء من الصف 12) غير موجودة في المصنف تتم اضاقتها اوتوماتيكياً 4-تنقل البيانات بدون تكرار كل بيان الى صفحته الحاصة مع الترقيم الأوتوماتيكي الكود Option Explicit Dim M As Worksheet Dim Act_sh As Worksheet Dim i%, Lr%, Max_ro%, rows_count% '+++++++++++++++++++++++++++++++++++ Sub test() Dim Bol As Boolean Lr = Sheets("Main").Cells(Rows.Count, 3).End(3).Row If Lr < 12 Then Exit Sub Application.DisplayAlerts = False Sheets("Modul").Visible = True For i = 12 To Lr Bol = WorksheetExists(Sheets("Main").Cells(i, 3)) If Not Bol Then Sheets("Modul").Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Sheets("Main").Range("C" & i) End If Next Sheets("Modul").Visible = 2 Sheets("Main").Select Application.DisplayAlerts = True End Sub '++++++++++++++++++++++++++++++++ Function WorksheetExists(ByVal WorksheetName As String) As Boolean Dim Sht As Worksheet For Each Sht In ThisWorkbook.Worksheets If Application.Proper(Sht.Name) = Application.Proper(WorksheetName) Then WorksheetExists = True Exit Function End If Next Sht WorksheetExists = False End Function '""""""""""""""""""""""""""""""" Sub Transfer_data() test Dim x Set M = Sheets("Main") If Lr < 12 Then Exit Sub For i = 12 To Lr Set Act_sh = Sheets(M.Range("C" & i) & "") Max_ro = Act_sh.Cells(Rows.Count, 3).End(3).Row + 1 If Max_ro < 12 Then Max_ro = 12 Act_sh.Cells(Max_ro, 2).Resize(, 11).Value = _ M.Cells(i, 2).Resize(, 11).Value '======================================== Act_sh.Range("B12:L" & Max_ro).RemoveDuplicates _ Columns:=Array(1, 2, 3, 4, 5, 6, _ 7, 8, 9, 10, 11), Header:=xlNo rows_count = Act_sh.Range("B12").CurrentRegion.Rows.Count If Act_sh.Range("B12") <> vbNullString Then Act_sh.Range("A12").Resize(rows_count).Value = _ Evaluate("Row(1:" & rows_count & ")") With Act_sh.Range("A12").CurrentRegion .Borders.LineStyle = 1 .Font.Size = 14 .Font.Bold = True .Columns(1).HorizontalAlignment = xlCenter End With End If Next End Sub الملف للتجربة وابداء الرأي yasser_w.xlsm
    1 point
  31. تفضل تم تعديل تنسيق التاريخ ويمكنك عمل ذلك بنفسك من خلال تتبع هذه الصورة TEST1.xlsx
    1 point
  32. السلام عليكم 🙂 انا استعمل اكسس 2010 ، 32بت ، على وندوز 10 64بت ، وبإستعمال المرفق الاخير للأخ @alsihran : 1. عند زيادة البيانات (يعني البيانات الموجودة في المرفق) ، هذه النتيجة : 2. وحين تكون قليلة . والسبب في ظهور عدة اسطر للحقل بدل سطر واحد فقط ، هو تمكين اعدادات الحقول والقسم "قابل للنمو" الى نعم ، بينما لو جعلناها لا . فالنتيجة سطر واحد فقط ، بغض النظر عن كمية البيانات : . جعفر
    1 point
  33. ‏الاربعاء‏، 26‏/3‏/1442هـ الموافق ‏11‏/11‏/2020م السلام عليكم و رحمة الله وبركاته اخي الكريم كلامك صحيح يوجد تكرار للترحيل و انت لم تحدد سابقا في طلبك عدم التكرار للبيانات ===== لذلك ان عدم تكرار البيانات في الترحيل هنا له 3 طرق 1 يتم مسح البيانات التي تم ترحيلها من داخل الكود بحيث ان كل صف يتم ترحيله يتم مسح هذا الصف 2 يتم وضع رمز امام الصف الذي تم ترحيله مثل : مرحل او تم او Dun او رقم او شرطة او أي شيء آخر بحيث يقوم الكود عند عمله بالتاكد من وجود الرمز امام الصف فاذا كان موجود الرمز لا يرحله و اذاكان الرمز غير موجود يتم ترحيل الصف ثم يضع امامه الرمز المطلوب لكي لا يتم ترحيله مره اخرى 3 الطريقة الاصعب يجب ان تحدد انت ماهو المتغير الذي لا يتكرر في بيانات أي صف مثل : رقم السند – نوع السند – الاسم ثم يتم تعديل الكود بحيث عند ذهابه للورقة التي مطلوب الترحيل لها يبحث في العمود المحدد الذي به المتغير الذي لا يتكرر – فاذا وجد هذا المتغير جود لا يرحل البيانات و اذا لم يكن موجود يقوم بترحيل البيانات الى الورقة المطلوبة مع التحيه آمل ان تكون وضحة الفكرة و عليك ان تحدد ماتريد
    1 point
  34. تفضل اخي الكريم Private Sub start_date_Exit(Cancel As Integer) Dim i As Date Dim j As Date i = DateAdd("YYYY", 7, [start_date]) j = DateAdd("d", 1, i) end_date = j End Sub New Microsoft Office Access Application.rar تحياتي
    1 point
  35. السلام عليكم نستخدم دالة DateAdd لاضافة ايام او شهور او سنين لاضافة ايام DateAdd("d";1;[start_date]) لاضافة شهور DateAdd("m";1;[start_date]) لاضافة سنين DateAdd("yyyy";1;[start_date]) الكود المستخدم لاضافة ايام + سنين Dim i As Date Dim j As Date i = DateAdd("YYYY", 7, [start_date]) j = DateAdd("d", 1, i) end_date = j New Microsoft Office Access Application.rar تحياتي
    1 point
  36. شكرا جزيلا دكتور محمد 🙂 جعفر
    1 point
  37. السلام عليكم ورحمة الله انا اللي فهمته انه اي مادة تحتاج سوى خمس درجات يتم اضافة الخمس لها اي ان اي مادة تساوي 45 درجة الى 49 ترفع الى 50 درجة انا ياعزيزي اضفت لك عمود اسمه قرار اضافة الدرجات تضيف في هذا العمود نعم / اذا تم اعتماد الخمس الدرجات للطالب او لا / اذ لم يتم اعتماد الخمس الدرجات للطالب عندما تضيف نعم سيقوم الاكسل بتطبيق القاعدة على المواد في الجهة المقابلة كما في الصورة نأمل ان يكون هو الغرض المطلوب مالم اذا هناك اي ملاحظات ابلغنا ان شاء الله الملف في المرفقات اضافة خمس درجات.xlsm
    1 point
  38. آمين يارب انا و انت و جميع المسلمين شكرا لك على هذه الدعوات الجميله وجزاك الله خيرا
    1 point
  39. وعليكم السلام ورحمة الله وبركاته تفضل اخي الكريم If IsNull([txtName]) Then MsgBox "يحب اختيار اسم العميل اولاً", vbInformation, "officena" DoCmd.GoToControl "txtName" Else If IsNull([txtTel]) Then MsgBox "يحب اختياررقم التليفون اولاً", vbInformation, "officena" DoCmd.GoToControl "txtTel" Else If IsNull([txtAddress]) Then MsgBox "يحب اختيار العنوان اولاً", vbInformation, "officena" DoCmd.GoToControl "txtAddress" Else Dim db As DAO.Database Dim Rs As DAO.Recordset Set db = CurrentDb Set Rs = db.OpenRecordset("SELECT tbl1.*FROM tbl1;") Rs.AddNew Rs("XName") = Me.txtName Rs("XTel") = Me.txtTel Rs("XAddress") = Me.txtAddress Rs.Update Rs.Close MsgBox "تم اضافة البيانات بنجاح ان شاء الله ", vbInformation + vbOKOnly, "officena" DoCmd.Close End If End If End If علمأ بأن حقل كود العميل تلقائي اذن لا يمكن اضافته بهذه الطريقة وستكون اضافته تلقائية DB_test.rar تحياتي
    1 point
  40. اعذروني اخواني الكرام عملت على تعطيل الماكرو ثم نقلت ما اريد نقله.. لكن كيف اعادة تفعيل الماكرو مرة اخرى؟؟؟؟؟ سامحوني
    1 point
  41. أخواني أعتقد أن المشكلة بعدم عمل الكود أن الأوفيس و ليس النظام فقط هو 64 بت . لعل الأوقيس عند الأخ أبو ياسين 32 و لذلك فإنه لا يعمل لدى الأخ حسن التميمي
    1 point
  42. احبابي السلام عليكم اخواني اجتهدت بفضل الله وقمت بعمل بعض الجداول التى ربما تكون كافية الرجاء المساعدة هل تكفى الجداول وكذلك العلاقات التى بينها صحيحة عملت مرفق ورد به لرسم عملية الانتاج داخل الورشة كذلك الجداول معها اتمنى فى هذه الايام الطيبة ان طلبي خفيف وان من لديه خبرة لتصحيح خريطة العمل داخل الورشة وكذلك العلاقات . اثابكم الله مرفق ملف به قاعدة البيانات وكذلك رسم توضيحي لعمل الورشة لانتاج باب او شباك محاسبة التكاليف.zip
    1 point
  43. اوخى السلام عليكم 1- ربنا يوفقك ويعينك ، الموضوع اكيد محتاج صبر 2- ارفق قاعدة البيانات مع طلبك ( جزء الطلبات ، كل ما تتحل مشكلة ( طلب ) افتح سؤال جديد للطلب الجديد وادعم كلامك بصور ان امكن وان شاء الله ستجد الاخوة الافاضل هنا لمساعدتك
    1 point
  44. برنامج عمل كشف 41 مستجدين http://www.mediafire.com/download/bv9y8w8ktiivjjt/برنامج_كشوف_41_مستجدين.rar
    1 point
  45. إخوتي الأعزاء هذا ايضا متاح قم بفتح وحدة نمطية جديدة وأدرج بها : Option Explicit Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _ ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long Private Declare Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, _ ByVal lpClassName As String, _ ByVal nMaxCount As Long) As Long Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long Private Const EM_SETPASSWORDCHAR = &HCC Private Const WH_CBT = 5 Private Const HCBT_ACTIVATE = 5 Private Const HC_ACTION = 0 Private hHook As Long Public Function NewProc(ByVal lngCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Dim RetVal Dim strClassName As String, lngBuffer As Long If lngCode < HC_ACTION Then NewProc = CallNextHookEx(hHook, lngCode, wParam, lParam) Exit Function End If strClassName = String$(256, " ") lngBuffer = 255 If lngCode = HCBT_ACTIVATE Then RetVal = GetClassName(wParam, strClassName, lngBuffer) If Left$(strClassName, RetVal) = "#32770" Then SendDlgItemMessage wParam, &H1324, EM_SETPASSWORDCHAR, Asc("*"), &H0 End If End If CallNextHookEx hHook, lngCode, wParam, lParam End Function Public Function InputBoxDK(Prompt, Optional Title, Optional Default, Optional XPos, _ Optional YPos, Optional HelpFile, Optional Context) As String Dim lngModHwnd As Long, lngThreadID As Long lngThreadID = GetCurrentThreadId lngModHwnd = GetModuleHandle(vbNullString) hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID) InputBoxDK = InputBox(Prompt, Title, Default, XPos, YPos, HelpFile, Context) UnhookWindowsHookEx hHook End Function وفي حدث عند التحميل للنموذج أدرج الكود التالي: Private Sub Form_Open(Cancel As Integer) Dim x As String x = "123" Dim y As String y = InputBoxDK("Enter Password for form") If x <> y Then MsgBox ("Invalid password") DoCmd.CancelEvent End If End Sub وننال المراد بإذن الله وللتطبيق اليك المرفق (كلمة المرور 123) والله من وراء القصد .... ..... NA_PasswordMaskedInputbox.rar
    1 point
  46. اذا اردت عمل زر للتنقل للورقة التالية قم بوضع الحدث التالي في حدث النقر لزر الأمر SendKeys ("^{pgdn}") اذا اردت عمل زر للتنقل للورقة السابقة قم بوضع الحدث التالي في حدث النقر لزر الأمر SendKeys ("^{pgup}") --------------------------------------------------- ويمكنك عمل ذلك بدون كتابة كود فيجوال بيسك او تسجيل ماكرو بنفسك وهو عن طريق الضغط على مفتاحي Ctrl + Page Down للتنقل لورقة العمل التالية ويمكنك عمل ذلك بدون الماكرو وهو عن طريق الضغط على مفتاحي Ctrl + Page Up للتنقل لورقة العمل السابقة للعلم Ctrl + Page Up و Ctrl + Page Down هي ماكروات جاهزة تم عملها من قبل الشركة المصنعة للاكسيل وهي مايكروسوفت --------------------------------------------------- أو يمكنك تسجيل ماكرو لعمل ذلك ..... لمزيد من المعلومات عن تسجيل الماكرو اضغط هنـا
    1 point
×
×
  • اضف...

Important Information