Elsayed A Eldiasty قام بنشر ديسمبر 12, 2023 قام بنشر ديسمبر 12, 2023 السلام عليكم محتاج كود عند فتح قائمة بحث واستبدال (Find) في نموذج ادخال بيانات يظهر بحث فقط ولاتظهر استبدال في القائمة
kkhalifa1960 قام بنشر ديسمبر 12, 2023 قام بنشر ديسمبر 12, 2023 ممكن توضح أكثر أو ترسل مرفق موضح عليه طلبك .
Foksh قام بنشر ديسمبر 12, 2023 قام بنشر ديسمبر 12, 2023 أعتقد مقصد أخونا أنه يريد التعديل على مربع البحث والإستبدال في آكسيس الناتج عن ضغط المفاتيح f+ctrl
Elsayed A Eldiasty قام بنشر ديسمبر 12, 2023 الكاتب قام بنشر ديسمبر 12, 2023 منذ ساعه, kkhalifa1960 said: ممكن توضح أكثر أو ترسل مرفق موضح عليه طلبك . استاذنا اريد كود يقوم بفتح هذه القائمة يظهر خيار بحث فقط
Foksh قام بنشر ديسمبر 12, 2023 قام بنشر ديسمبر 12, 2023 (معدل) شوف أخي الكريم ، لا أعلم ما الغاية من فكرتك ، ولك وجدت لك كود في موقع أجنبي لا أعلم إن كان يعمل كما ترغب أم لا . Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare PtrSafe Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare PtrSafe Function GetDlgItem Lib "user32" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long Private Const WM_SETFOCUS As Long = &H7 Private Const EM_SETSEL As Long = &HB1 Private Sub YourForm_KeyDown(KeyCode As Integer, Shift As Integer) If Shift = acCtrlMask And KeyCode = vbKeyF Then ' افتح مربع البحث والاستبدال DoCmd.RunCommand acCmdFind ' تحديد التبويب ، طبعاً هنا تبويب البحث Dim tabToSelect As Long tabToSelect = 0 ' تبويب البحث ' العثور على معرف نافذة مربع الحوار Dim hwndFindReplace As Long hwndFindReplace = FindWindow("#32770", "Find and Replace") ' العثور على معرف التبويب المراد داخل مربع الحوار Dim hwndTabControl As Long hwndTabControl = FindWindowEx(hwndFindReplace, 0, "SysTabControl32", vbNullString) ' التبديل إلى التبويب المطلوب SendMessage hwndTabControl, WM_SETFOCUS, 0, 0 SendMessage hwndTabControl, TCM_SETCURSEL, tabToSelect, 0 ' إلغاء تبويب الاستبدال Dim hwndReplaceText As Long hwndReplaceText = GetDlgItem(hwndFindReplace, &H461) SendMessage hwndReplaceText, EM_SETSEL, 0, -1 End If End Sub سأقوم بتجربته غداً إن شاء الله لعدم توافر جهاز كمبيوتر في الوقت الحالي 😊 أيضاً كإضافة ، جرب هذا الكود الذي يقوم على تعطيل خيار استبدال بـ في مربع البحث. Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare PtrSafe Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare PtrSafe Function GetDlgItem Lib "user32" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long Private Declare PtrSafe Function EnableWindow Lib "user32" (ByVal hWnd As Long, ByVal bEnable As Long) As Long Private Const WM_SETFOCUS As Long = &H7 Private Sub YourForm_KeyDown(KeyCode As Integer, Shift As Integer) If Shift = acCtrlMask And KeyCode = vbKeyF Then ' افتح مربع البحث والاستبدال DoCmd.RunCommand acCmdFind ' العثور على معرف نافذة مربع الحوار Dim hwndFindReplace As Long hwndFindReplace = FindWindow("#32770", "Find and Replace") ' العثور على معرف التبويب "استبدل ب" Dim hwndReplaceTab As Long hwndReplaceTab = FindWindowEx(hwndFindReplace, 0, "SysTabControl32", vbNullString) ' تعطيل خيار "استبدل ب" Dim hwndReplaceOption As Long hwndReplaceOption = GetDlgItem(hwndFindReplace, &H471) ' يمكن تغيير القيمة حسب إصدار Access EnableWindow hwndReplaceOption, False ' العودة إلى نافذة البحث EnableWindow hwndReplaceTab, True SendMessage hwndReplaceTab, WM_SETFOCUS, 0, 0 End If End Sub تركت لك الشرح في الأكواد لتسهيل فهم الكود ، وأيضاً سأقوم بتجربته غداً إن كان في العمر بقية إن شاء الله. تم تعديل ديسمبر 13, 2023 بواسطه Foksh إضافة كود آخر
Foksh قام بنشر ديسمبر 13, 2023 قام بنشر ديسمبر 13, 2023 السلام عليكم ، قمت بتجربة الأكواد ولكنها لم تعمل , اعتذر
Moosak قام بنشر ديسمبر 13, 2023 قام بنشر ديسمبر 13, 2023 جرب اضغط Ctrl+H أو ضع الكود التالي على الزر : Me.TextBoxName.Setfocous Application.SendKeys "^h" 🙂
Barna قام بنشر ديسمبر 13, 2023 قام بنشر ديسمبر 13, 2023 ممكن كفكرة ... نصمم نموذج يشبه ذلك النموذج ونضع فيه خياراتنا للبحث ... لو سمح لي وقتي سوف اجربها
Elsayed A Eldiasty قام بنشر ديسمبر 13, 2023 الكاتب قام بنشر ديسمبر 13, 2023 منذ ساعه, Foksh said: السلام عليكم ، قمت بتجربة الأكواد ولكنها لم تعمل , اعتذر شكرا لي اهتمام حضرتك 32 دقائق مضت, Moosak said: جرب اضغط Ctrl+H أو ضع الكود التالي على الزر : Me.TextBoxName.Setfocous Application.SendKeys "^h" 🙂 استاذنا الغالي الفكرة باختصار انا اريد وضع هذا الكود في زر في النموذج DoCmd.GoToControl Screen.PreviousControl.Name DoCmd.RunCommand acCmdFind للبحث داخل اي حقل اقوم بالتركيز عليه قبل الضغط علي زر تشغيل قائمة (Find) وهو يعمل معي تمام لكن انا لا اريد انا يقوم اي مستخدم ليس له صلاحية بي استبدال البيانات او يقوم مستخدم عن طريق الخطأ بي استبدال كل البيانات في يخرب البيانات لذالك اريد عند فتح القائمة يظهر (بحث فقط)
kkhalifa1960 قام بنشر ديسمبر 13, 2023 قام بنشر ديسمبر 13, 2023 تفضل أخي @Elsayed A Eldiasty محاولتي . ووافني بالرد . DD438.rar
Moosak قام بنشر ديسمبر 13, 2023 قام بنشر ديسمبر 13, 2023 7 ساعات مضت, Elsayed A Eldiasty said: لذالك اريد عند فتح القائمة يظهر (بحث فقط) إذا عليك بفكرة الأستاذ @Barna 🙂 1
أفضل إجابة شايب قام بنشر ديسمبر 13, 2023 أفضل إجابة قام بنشر ديسمبر 13, 2023 8 ساعات مضت, Elsayed A Eldiasty said: لذالك اريد عند فتح القائمة يظهر (بحث فقط) مشاركة مع الاساتذه الكرام الاخ شايب يعتقد ان فكرة نموذج بحث التي اشار اليها الاساتذة فكرة معقولة ولكن يمكن التوصل للمطلوب بدون الحاجة الى ذلك حيث ان اخفاء او اظهار تبويب استبدال في نافذة البحث مرتبط بحالة التعديل للنموذج نعم او لا وبالتالي يمكن اضافة السطر Me.AllowEdits = False قبل الكود الذي تستخدمه ولكن لابد ان تعيد تغيير الخاصة الى نعم بعد تنفيذ البحث او في اي حدث اخر لتتمكن من تعديل البيانات في النموذج اخونا الشايب 5
Elsayed A Eldiasty قام بنشر ديسمبر 14, 2023 الكاتب قام بنشر ديسمبر 14, 2023 15 ساعات مضت, شايب said: مشاركة مع الاساتذه الكرام الاخ شايب يعتقد ان فكرة نموذج بحث التي اشار اليها الاساتذة فكرة معقولة ولكن يمكن التوصل للمطلوب بدون الحاجة الى ذلك حيث ان اخفاء او اظهار تبويب استبدال في نافذة البحث مرتبط بحالة التعديل للنموذج نعم او لا وبالتالي يمكن اضافة السطر Me.AllowEdits = False قبل الكود الذي تستخدمه ولكن لابد ان تعيد تغيير الخاصة الى نعم بعد تنفيذ البحث او في اي حدث اخر لتتمكن من تعديل البيانات في النموذج اخونا الشايب تمام استاذنا الغالي تواصلت لي النتيجة التي اريده والكود اصبح Me.AllowEdits = False DoCmd.GoToControl Screen.PreviousControl.Name DoCmd.RunCommand acCmdFind وهنا اضع دالة التأكد من الصلاحية اذا كان له الصلاحية Me.AllowEdits = True وبذالك اكون تغلبت علي عدم ظهور استبدال وطبعاً الفضل لي مشاركة حضرتك 17 ساعات مضت, kkhalifa1960 said: تفضل أخي @Elsayed A Eldiasty محاولتي . ووافني بالرد . DD438.rar 33.14 kB · 9 downloads شكراً لي اهتمام حضرتك ليس هذا ما اريده والحمد لله تواصلت للحل بمساعدة الاستاذ @شايب
شايب قام بنشر ديسمبر 14, 2023 قام بنشر ديسمبر 14, 2023 8 دقائق مضت, Elsayed A Eldiasty said: وبذالك اكون تغلبت علي عدم ظهور استبدال وطبعاً الفضل لي مشاركة حضرتك الفضل لله وحده اخي مع تمنياتي لك بالتوفيق الشايب
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.