بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
2175 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
55
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Moosak
-
طلب مساعدة في حساب الفرق بين التاريخ الجديد وتاريخ السريان
Moosak replied to حسان12's topic in قسم الأكسيس Access
أهلا بك أخي @حسان12 🙂 تكرما في المرات القادمة أكتب عنوان واضح ومعبر عن مضمون المشاركة .. إتباعا لقواعد المشاركة في المنتدى 🙂 أما بخصوص سؤالك الثاني فطلبك موجود هنا : -
ضع أمر Requery لمربع [القيمة] في حدث [عند التغيير] لمربع [الكمية] 🙂
-
وعليكم السلام ورحمة الله وبركاته.. فعلا أنا استمتعت بقراءة السؤال 😄 مثال ونموذج يحتذى به في طريقة عرض الطلب 👍🏼🙂 وربما ترتيبك لخطوات التحقق في السؤال سيسهل التطبيق للإخوة إن شاء الله ..
-
هل تم حل مسألتك الأولى ؟؟ وماهي رسالة الخطأ التي تظهر لك ؟
-
نعم توجد طريقة سهلة .. وهي تحويل الكود لدالة عامة يمكن استخدامها لأكثر من حقل في نفس الوقت .. وهذه هي صيغة الدالة : Function LockField() If InStr(1, Screen.ActiveControl.Value, "Word") > 0 Then Screen.ActiveControl.Locked = True Else Screen.ActiveControl.Locked = False End If End Function ثم تقوم بتحديد جميع الحقول التي ستطبق عليها الكود .. وتذهب لحدث عند التركيذ وتكتب اسم الدالة هكذا : = LockField() كما في الصورة :
-
نعم استخدم هذا الكود في حدث عند التركيز للحقل المطلوب : If InStr(1, Me.TextBoxName, "Word") > 0 Then Me.TextBoxName.Locked = True Else Me.TextBoxName.Locked = False End If
-
هذا هو الكود كاملا .. ربما لم تنسخه بأكمله في برنامجك : #If VBA7 Or Win64 Then Private Declare PtrSafe Function CallNextHookEx Lib "user32" (ByVal hHook As LongPtr, ByVal ncode As LongPtr, ByVal wParam As LongPtr, lParam As Any) As LongPtr Private Declare PtrSafe Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As LongPtr Private Declare PtrSafe Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As LongPtr, ByVal lpfn As LongPtr, ByVal hmod As LongPtr, ByVal dwThreadId As LongPtr) As LongPtr Private Declare PtrSafe Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As LongPtr) As LongPtr Private Declare PtrSafe Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" (ByVal hDlg As LongPtr, ByVal nIDDlgItem As LongPtr, ByVal wMsg As LongPtr, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr Private Declare PtrSafe Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As LongPtr, ByVal lpClassName As String, ByVal nMaxCount As LongPtr) As LongPtr Private Declare PtrSafe Function GetCurrentThreadId Lib "kernel32" () As LongPtr #Else 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 LongPtr, ByVal lpfn As LongPtr, ByVal hmod As LongPtr, ByVal dwThreadId As LongPtr) As LongPtr 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 #End If 'Constants to be used in our API functions Private Const EM_SETPASSWORDCHAR = &HCC Private Const WH_CBT = 5 Private Const HCBT_ACTIVATE = 5 Private Const HC_ACTION = 0 #If VBA7 Or Win64 Then Private hHook As LongPtr #Else Private hHook As Long #End If Public Function NewProc(ByVal lngCode As LongPtr, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr Dim RetVal Dim strClassName As String Dim lngBuffer As LongPtr 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 On Error GoTo ExitProperly Dim lngModHwnd As LongPtr Dim lngThreadID As LongPtr lngThreadID = GetCurrentThreadId lngModHwnd = GetModuleHandle(vbNullString) hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID) InputBoxDK = InputBox(Prompt, Title, Default, XPos, YPos, HelpFile, Context) UnhookWindowsHookEx hHook ExitProperly: UnhookWindowsHookEx hHook End Function
-
@ابوخليل نعم الملف لا يفتح في الإصدارات 64 بت .. 🙂
-
مساعده تغيير اللغه فى جميع النماذج عند اختيار لغه
Moosak replied to عبدالعليم اسماعيل's topic in قسم الأكسيس Access
أنظر هنا 🙂 : -
صلاحيات المستخدم - مساعده في تعديل قاعدة بيانات
Moosak replied to Radwan0's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته أخي رضوان 🙂 على نهج مصمم البرنامج كتبت لك دالة ترجع لك رقم المستوى للمستخدم الحالي : يمكنك من خلالها تحديد ما هي الأوامر التي تريد أن تعطيها للبرنامج بناءا على مستوى المستخدم الحالي .. مثال : PasswordLogin_RC4_v5.6 (1).accdb -
وعليكم السلام ورحمة الله وبركاته 🙂 أخي @ابو فتحى .. أرفق الكود الذي تستخدمة للإرسال ..
-
أحسنت وبارك الله فيك باش مهندس @أ / محمد صالح .. 🌹😊 إضافة جميلة جدا للموضوع والمنتدى .. جعلها الله شفيعة لك يوم الحساب 🙂 مقترح : هل يمكن ضم المشاركات في البحث ؟ لأن الكثير من العناوين لا تدل على محتواها .. والمشاركات تحتوي على الكثير من الدرر وأغلب الفوائد موجودة فيها .
-
مساعدة في كود تكرار الكود في الوتساب
Moosak replied to Mohameddd200300's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله الله وبركاته 🙂 باستخدام دالة Sleep نفسها المستخدمة للإنتظار في كود الواتسأب ضع هذه الأسطر من ضمن كود الإرسال لديك ( يفضل أن يكون تحت جملة For مباشرة ) : Dim W As Long ' المتغير يعد الأشخاص الذين تم الإرسال لهم If W = 10 Then ' حدد عدد الذين تريد الإنتظار بعدهم Sleep 15000 ' مدة الإنتظار (كل ألف يساوي ثانية) W = 1 Else W = W + 1 End If وهذا مثال للتجربة : Sub SendToWhatsApp() Dim x As Integer For x = 1 To 50 Dim W As Long ' المتغير يعد الأشخاص الذين تم الإرسال لهم If W = 10 Then ' حدد عدد الذين تريد الإنتظار بعدهم Debug.Print "================================(إنتظار)" Sleep 15000 ' مدة الإنتظار (كل ألف يساوي ثانية) W = 1 Else W = W + 1 End If ' هنا كود إرسال الواتسأب Debug.Print "جار الإرسال للمستخدم رقم: ", x Sleep 500 DoEvents Next x End Sub والنتيجة :- 1 reply
-
- 1
-
-
تسجيل وقت الدخول والخروج واسم المستخدم
Moosak replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
شكر لك أخي @عبد اللطيف سلوم 🙂 -
تثبيت سجل افتراضي بها بيانات افتراضية
Moosak replied to Ahmed Fahmy 2022's topic in قسم الأكسيس Access
والثالثة : أن تضيف حقل من نوع (نعم/لا) وتجعل هذا السجل (نعم) وتستثنيه من الحذف عند التفريغ .. 🙂 -
شكر لك أخي @kanory بالفعل هناك تحديث قادم بإذن الله 🙂 .. وهذه صورة تشويقية .. وسأذكر المميزات الجديدة في حينها إن شاء الله ..😊 وربما يصعب إدراج النماذج الفرعية هنا لأن المكان صاير زحمة 😅🖐🏼️
-
وعليكم السلام ورحة الله وبركاته 🙂 1- أكمل الدالة .. لأنك حاط اسم العميل في النموذج الفرعي ستظهر لك أسماء النماذج الفرعية فقط .. اختر اسم النموذج الفرعي 2 - يجب إضافة هذا السطر يدويا لكي يتم الوصول لحقل رقم العميل . 3- إضغط على زر فحص التعديلات ( يجب أن يكون النموذج مفتوح لترى النتيجة مباشرة ) 4- هنا ستظهر النتيجة الدالة كاملة حسب المعطيات (نفس اللتي في الصورة) : DSum("[المتحصل من العميل]","[customer account sub dollar]","[اسم العميل] ='"& [Forms]![customer_account_$22]![customer_account_main $].FORM![Customer_Name] &"'")
-
الذكاء الإصطناعي chatGPT في انشاء اكواد VBA
Moosak replied to دروب مبرمج's topic in قسم الأكسيس Access
أخي عمر جرب تنزيل هذا التطبيق في هاتفك الأندرويد .. يقوم بنفس العمل 🙂 https://play.google.com/store/apps/details?id=com.poe.android&pli=1 -
تصميم واجهة مستخدم ، وواجهة تغيير كلمة المرور
Moosak replied to بسام المبروك القيلوشي's topic in قسم الأكسيس Access
لا .. للأسف .. -
يعمل بكفاءة 👍🏼🙂
-
تصميم واجهة مستخدم ، وواجهة تغيير كلمة المرور
Moosak replied to بسام المبروك القيلوشي's topic in قسم الأكسيس Access
افتح البرنامج بالضغط على زر الشفت shift هذا وظيفته تكون بعدما يتم تقسيم البرنامج .. 🙂 -
تصميم واجهة مستخدم ، وواجهة تغيير كلمة المرور
Moosak replied to بسام المبروك القيلوشي's topic in قسم الأكسيس Access
هذا الملف قالب جاهز لنموذج صفحة دخول وتغيير بيانات المستخدم والتحكم بالمستخدمين 🙂 كلمة المرور لجميع المستخدمين : 123 للتحميل : 🙂 قالب جاهز لنموذج تسجيل الدخول وتغيير كلمة المرور.accdb -
كود لعمل ترقيم متسلسل للسجلات في النموذج المستمر أو المفرد في حقل غير منظم شرح الكود: يوضع في موديول منفصل .. ثم في حقل المسلسل في النموذج ويكون حقل غير منظم يكتب في مصدر بياناته هكذ : =RowNum([Form]) الكود: Public Function RowNum(frm As Form) As Variant On Error GoTo Err_RowNum 'Purpose: Numbering the rows on a form. 'Usage: Text box with ControlSource of: =RowNum([Form]) With frm.RecordsetClone .Bookmark = frm.Bookmark RowNum = .AbsolutePosition + 1 End With Exit_RowNum: Exit Function Err_RowNum: If Err.Number <> 3021& Then 'Ignore "No bookmark" at new row. Debug.Print "RowNum() error " & Err.Number & " - " & Err.Description End If RowNum = Null Resume Exit_RowNum End Function طريقة الاستدعاء (الاستخدام): =RowNum([Form])