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

Foksh

أوفيسنا
  • Posts

    4304
  • تاريخ الانضمام

  • Days Won

    181

كل منشورات العضو Foksh

  1. وعليكم السلام ورحمة الله وبركاته .. بداية نسأل الله أن يكون لك الأجر على النية التي تقصدها بنشرك هذه الفكرة . عند تشغيل الملف تظهر هذه الرسالة :- وعند النقر على Yes تظهر الرسالة التالية أيضاً :-
  2. أخي @ابو البشر ، جزاكم الله خيراً على هذا التوضيح ، أردت أن تكون الفكرة واضحة لمن يمر من هنا ويقرأ وإرضاءاً لسؤال قد يدور في بال أي شخص يستعمل طريقتك الجميلة شكراً مرة أخرى لتوضيحك
  3. ملاحظة للأستاذ ابو البشر ، لاحظت انك حجزت المتغير العام :- Public PageSum As Double ولكنك استخدمت :- PageTot هلا أوضحت لي الفكرة !!! أم ان المتغير لا حاجة له
  4. وعليكم السلام ورحمة الله وبركاته .. ارسل المرفق أخي الكريم حتى تجد إجابات لطلبك
  5. 🤭 أخجلتم تواضعنا أخي منتصر شكراً لإطراءك ومرورك اللذين أسرّاني بنجاح التجربة جهودكم مشكورة في أفكاركم السابقة والتي هي فعلاً جميلة ، والتي يمكن الإستفادة منها بضبطها ضمن جدول الإعدادات عند إنشاء المشاريع لاحقاً
  6. اخي وائل ، ربي يبارك فيك. وشكراً لمرورك 💐
  7. وعليكم السلام ورحمة الله وبركاته .. بداية أهلاً بك معنا في عالمك المتواضع هنا .. قد اطلعت على الملف الآن ، وأول ما لفت انتباهي أنك ارسلت المشروع كاملاً متكاملاً وبجميع عناصر التي للأسف كانت باللغة العربية !!! لا أريد أن أكسر من مجاديفك أو أقلل من قيمة البداية الجميلة التي بدأتها ، وخصوصاً في العلاقات بين الجداول . خذ مني نصيحة أخذتها من أساتذتي هنا بأن :- أبتعد عن التسميات العربية للعناصر ومكونات الجداول والنماذج والتقارير . استخدام أكثر من كلمة للتسميات كافة ( وجود مسافة بين الكلمات ) ؛ حيث الأصح في بناء مشروع سليم هو استخدام إما إشارة Under Score "_" ، او أن تجعل الإسم بدون فراغات ولكن لتميز بين كلماته اجعل أول حرف من كل كلمة = حرف كبير = طبعاً للتسميات الإنجليزية . أدرج بيانات أكثر ولو بقليل من مجرد صنفين ، رغم وجود حركات كثيرة لها . لا تبخل في الشرح اذا كان طلبك متشعباً ( كثير الأحداث ) . فأسرف بالتوضيح ولا تبخل = من اين يبدأ التتبع أو البيع أو أين تسجل كل حركة ... إلخ من توضيح تراه مناسباً و وافياً . أعجبتني أيضاً فكرة ان الجداول الفرعية تحتوي على مفاتيح القيم الأساسية ( مثل اسم الصنف ، جهات التوريد ، المواقع ... ) فهي تسهل عليك لاحقاً الإستعلامات ( من وجهة نظري طبعاً ) . ومتأملين منك أن تعيد النظر في ملاحظاتي التي هي ليست إلا اقتراحات - وأنت صاحب الشأن - في النهاية وقد اكون اخوك الصغير الذي لا يفضل التعامل مع المسميات العربية لأنها مربكة ، وشكراً لتفهمك
  8. باااارك الله فيكم مهندسنا الغالي .. والحمد لله على نجاح أول تجربة بنتيجة إيجابية من خلالكم
  9. وعليكم السلام ورحمة الله تعالى وبركاته .. أحد الكتب الإلكترونية التي شاركه أحد الأخوة سابقاً تعلم آكسيس.pdf
  10. وعليكم السلام ورحمة الله وبركاته .. استخدم هذه المعادلة كفكرة مبدأية في الخلية O3 ، ثم اسحب للتطبيق حتى X3 ( في نطاق الجدول 2 ) =IFERROR(INDEX($B$3:$B$22,AGGREGATE(15,6,ROW($B$3:$B$22)-ROW($B$3)+1/(COUNTIF($E$3:$N$3,$B$3:$B$22)=0),COLUMNS($O$3:O3))),"") جرب وأخبرنا بالنتيجة
  11. أخواني وأساتذتي ومعلمينا ( دون استثناء ) بعد محاولات في فهم المشكلة التي أرّقت الكثيرين من مستخدمي آكسيس ( مطورين ومبرمجين أو مستخدمين عاديين ) ، كنا نلاحظ أنه ومع تحديد لغة إدخال عربية لعناصر مثل مربعات النص أو غيرها . فأن آكسيس يقوم بإجبار الويندوز على إضافة لغة لوحة مفاتيح خاصة بالعربية التي تم إنشاء قاعدة البيانات عليها . وقد قمت بطرح فكرة بسيطة تقليدية مبنية على باتش يعمل بتحديد اللغة العربية التي يريدها المستخدم حسب دولته في هذا الموضوع تثبيت لغة لوحة المفاتيح في ويندوز . إلى أن تم فهم آلية آكسيس وعلاقته المتينة في الذاكرة التي يحجزها عند تشغيله ؛ فيتعامل معها كمساحته الخضراء داخل ويندوز ويفعل بها ما يحلو له . ولكن وبفضل الله تم كسر هذه المساحة الخضراء وجعلها مساحة خضراء مزروعة بحصريات منتديات أوفيسنا . الفكرة أداة تعمل عند حسب رغبتك عزيزي القارئ ( مع الويندوز أو بشكل يدوي ) تقوم على مراقبة تخطيطات لوحات المفاتيح الحالية ، وبالتالي لا تسمح لأي برنامج بأن يقوم بالتعديل عليها كيفما يشاء دون الحاجة إلى الخروج من النظام أو اغلاق آكسيس أو حتى التدخل والتعديل في مشاريع آكسيس الموجودة . لنتعرف أولاً على شكل و واجهة الأداة :- شرح ما تفعله الأداة بمكوناتها :- :- هذا الجزء سيعرض لك لغات لوحات المفاتيح التي تم تثبيتها في جهازك . :- هذا الزر وظيفته إزالة اي تخطيط تحدده في القائمة السابقة . :- هذا الزر وظيفته إخفاء مراقب لوحات المفاتيح بجوار الساعة . :- السماح للتطبيق بالعمل عند تشغيل ويندوز . :- مساحة مخصصة لعرض الأحداث . ✔ صورة توضيحية لعمل الأداة :- ✔ لإجراءاتكم في التجربة AccessLayoutMonitor.zip
  12. وعليكم السلام ورحمة الله وبركاته ,, لو استخدمت خاصية البحث لوجدت العديد من الأمثلة ، على العموم راجع هذه المشاركة للهندسة @ابو جودي
  13. اعلم أن هذا التعديل قد يفي بالغرض ، ولكن مشكلتي هنا هي أن المستخدم أو المطور ( كلاهما ) سيكون مجبراً على اضافة الكود داخل جميع النماذج ............ إلخ من تعديلات قد تكون غير مجدية . لكني أبحث عن حل يقوم فعلاً بإزالة التخطيط الجديد عند اضافته ، وهنا بيت القصيد .
  14. في الوقت الحالي ، انا متابع بتركيز على النهاية وليس الذي ما بين اليدين حالياً . لذا ولأحيطكم علماً بما خرجت به من كثرة التجارب ، آكسيس لا يخضع لأي تطويع أو مراقبة أو قيود تعتمد على الريجستري أو حتى Local Group Policy Editor ، فهنا سيكون في جميع الحلول القصرية حتى إلغاء حق التعديل على إضافة لغات وتخطيطات أخرى من طرف المستخدم ( لو أراد ذلك ) .... ولهذا متابع بتركيز في أي نقاش حتى نخرج بحل جذري . وللعلم عند إضافة اي تخطيط جديد فإنه لا يسجل في الريجستري بتاتاً ولا في أي مسار داخل الريجستري ، ويبقى متاحاً في الذاكرة المؤقته لذا لن يتم اكتشافه بأي شكل تقريباً إلا بعد تسجيله في الريجستري ، وهنا اعتقد المشكلة العويصة السوداء .
  15. السلام عليكم أخي الكريم ، وأهلاً بك في عالمنا الإلكتروني أوفيسنا .. أود لفت انتباهك إلى أن زر ، تم إيجاده كي يتمكن صاحب الموضوع من تعليم موضوعه عند إيجاده للحل المناسب بأنه وجد الحل . وهذا الزر يستخدم عادةً للإجابة التي رأى أنها حققت مطلبه ( بغض النظر عن الصحة أو تعدد الإجابات ) . وهنا يقع الكثير من الأخوة الأعضاء المنتسبين في مشكلة بسيطة ، هي أنه يقوم بالنقر على الزر لإجابته وليست للإجابة التي حلت مشكلته ( مشاركة الأخوة والأساتذة ) . لذا متأملاً منك تصويب الخطأ الغير مقصود باختيار الإجابة التي حلت مشكلتك . سيتم الغاء إجابتك لنفسك وأنت عليك تصويب الوضع
  16. تحديث للفكرة السابقة بحيث تم تحديث معالجة أخطاء التوافق مع بعض إصدارات ويندوز 10 فما فوق . attrib +r "%~f0" @echo off title Save My Layout Keyboard. Created By Foksh - 2025 mode con:cols=75 lines=35 setlocal enabledelayedexpansion for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a" set "blue=%ESC%[1;34m" set "green=%ESC%[1;32m" set "cyan=%ESC%[1;36m" set "red=%ESC%[1;31m" set "yellow=%ESC%[1;33m" set "magenta=%ESC%[1;35m" set "reset=%ESC%[0m" echo. echo %blue%***************( Officena.Net )***************%reset% echo %green%*** ***%reset% echo %cyan%*** %yellow%FFFFF%red%F %magenta%OOO %blue%KK KK %green%SSSS %cyan%HH HH %cyan%***%reset% echo %yellow%*** %red%FF %magenta%O O %blue%KK KK %green%SS %cyan%HH HH %yellow%***%reset% echo %red%*** %magenta%FFFFF %blue%O O %green%KKK %cyan%SS %yellow%HHHHHH %red%***%reset% echo %magenta%*** %blue%FF %green%O O %cyan%KK KK %yellow%SS %red%HH HH %magenta%***%reset% echo %blue%*** %green%FF %cyan%OOO %yellow%KK KK %red%SSSSS %magenta%HH HH %blue%***%reset% echo %green%*** ***%reset% echo %cyan%********************%yellow%2 %red%0 %magenta%2 %blue%5%cyan%*******************%reset% echo. echo Select the Arabic country to add its keyboard layout: echo 1 - Egypt echo 2 - Saudi Arabia echo 3 - Jordan echo 4 - Iraq echo 5 - Morocco echo 6 - UAE echo 7 - Syria echo 8 - Lebanon echo 9 - Tunisia echo 10 - Algeria echo 11 - Kuwait echo 12 - Bahrain echo 13 - Oman echo 14 - Qatar echo 15 - Libya echo 16 - Sudan echo 17 - Yemen echo X - Remove startup task set /p choice=Enter the number of your choice (1-17) or 'X': if /i "%choice%"=="X" ( echo. echo Removing startup task... schtasks /Delete /TN "KeyboardShutdownFix" /F 2>nul del "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\KeyboardFix.bat" 2>nul del "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\RunHidden.vbs" 2>nul echo Startup task removed successfully! echo. echo Closing automatically in: timeout /t 1 /nobreak >nul & echo 3... timeout /t 1 /nobreak >nul & echo 2.. timeout /t 1 /nobreak >nul & echo 1. exit /b ) set "localeID=" set "localeName=" if "%choice%"=="1" set localeID=00000C01& set localeName=ar-EG if "%choice%"=="2" set localeID=00000401& set localeName=ar-SA if "%choice%"=="3" set localeID=00002C01& set localeName=ar-JO if "%choice%"=="4" set localeID=00000801& set localeName=ar-IQ if "%choice%"=="5" set localeID=00001801& set localeName=ar-MA if "%choice%"=="6" set localeID=00003801& set localeName=ar-AE if "%choice%"=="7" set localeID=00002801& set localeName=ar-SY if "%choice%"=="8" set localeID=00003001& set localeName=ar-LB if "%choice%"=="9" set localeID=00001C01& set localeName=ar-TN if "%choice%"=="10" set localeID=00001401& set localeName=ar-DZ if "%choice%"=="11" set localeID=00003401& set localeName=ar-KW if "%choice%"=="12" set localeID=00003C01& set localeName=ar-BH if "%choice%"=="13" set localeID=00002001& set localeName=ar-OM if "%choice%"=="14" set localeID=00004001& set localeName=ar-QA if "%choice%"=="15" set localeID=00001001& set localeName=ar-LY if "%choice%"=="16" set localeID=00002C01& set localeName=ar-SD if "%choice%"=="17" set localeID=00002401& set localeName=ar-YE if not defined localeID ( echo. echo Invalid selection. Exiting... timeout /t 3 /nobreak >nul exit /b ) echo Applying keyboard settings immediately... reg delete "HKCU\Keyboard Layout\Preload" /f >nul 2>&1 reg delete "HKCU\Keyboard Layout\Substitutes" /f >nul 2>&1 reg add "HKCU\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f >nul 2>&1 reg add "HKCU\Keyboard Layout\Preload" /v 2 /t REG_SZ /d %localeID% /f >nul 2>&1 reg add "HKCU\Keyboard Layout\Substitutes" /v %localeID% /t REG_SZ /d %localeID% /f >nul 2>&1 set psFile=%TEMP%\UpdateLang.ps1 echo $langList = Get-WinUserLanguageList > "%psFile%" echo $langList.Clear() >> "%psFile%" echo $langList.Add("en-US") >> "%psFile%" echo $langList.Add("%localeName%") >> "%psFile%" echo Set-WinUserLanguageList $langList -Force >> "%psFile%" powershell -ExecutionPolicy Bypass -File "%psFile%" >nul 2>&1 set "choiceBat=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\KeyboardFix.bat" set "vbsFile=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\RunHidden.vbs" ( echo @echo off echo mode con:cols=75 lines=12 echo setlocal enabledelayedexpansion echo for /f %%%%a in ^('echo prompt $E^^^| cmd'^) do set "ESC=%%%%a" echo set "blue=%%ESC%%[1;34m" echo set "green=%%ESC%%[1;32m" echo set "cyan=%%ESC%%[1;36m" echo set "red=%%ESC%%[1;31m" echo set "yellow=%%ESC%%[1;33m" echo set "magenta=%%ESC%%[1;35m" echo set "reset=%%ESC%%[0m" echo echo. echo echo %%blue%%**********************************************%%reset%% echo echo %%green%%*** ***%%reset%% echo echo %%cyan%%*** %%yellow%%FFFFF%%red%%F %%magenta%%OOO %%blue%%KK KK %%green%%SSSS %%cyan%%HH HH %%cyan%%***%%reset%% echo echo %%yellow%%*** %%red%%FF %%magenta%%O O %%blue%%KK KK %%green%%SS %%cyan%%HH HH %%yellow%%***%%reset%% echo echo %%red%%*** %%magenta%%FFFFF %%blue%%O O %%green%%KKK %%cyan%%SS %%yellow%%HHHHHH %%red%%***%%reset%% echo echo %%magenta%%*** %%blue%%FF %%green%%O O %%cyan%%KK KK %%yellow%%SS %%red%%HH HH %%magenta%%***%%reset%% echo echo %%blue%%*** %%green%%FF %%cyan%%OOO %%yellow%%KK KK %%red%%SSSSS %%magenta%%HH HH %%blue%%***%%reset%% echo echo %%green%%*** ***%%reset%% echo echo %%cyan%%********************%%yellow%%2 %%red%%0 %%magenta%%2 %%blue%%5%%cyan%%*******************%%reset%% echo echo. echo setlocal enabledelayedexpansion echo setlocal enabledelayedexpansion echo set "localeID=%localeID%" echo set "localeName=%localeName%" echo reg delete "HKCU\Keyboard Layout\Preload" /f ^>nul 2^>^&1 echo reg delete "HKCU\Keyboard Layout\Substitutes" /f ^>nul 2^>^&1 echo reg add "HKCU\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f ^>nul 2^>^&1 echo reg add "HKCU\Keyboard Layout\Preload" /v 2 /t REG_SZ /d !localeID! /f ^>nul 2^>^&1 echo reg add "HKCU\Keyboard Layout\Substitutes" /v !localeID! /t REG_SZ /d !localeID! /f ^>nul 2^>^&1 echo powershell -ExecutionPolicy Bypass -Command ^ "$langList = Get-WinUserLanguageList; $langList.Clear(); $langList.Add('en-US'); $langList.Add('!localeName!'); Set-WinUserLanguageList $langList -Force" ^>nul 2^>^&1 echo exit ) > "%choiceBat%" echo Set WshShell = CreateObject("WScript.Shell") > "%vbsFile%" echo WshShell.Run "cmd /c call ""%choiceBat%""", 0, False >> "%vbsFile%" echo. echo Keyboard settings applied successfully! echo. echo English (US) set as default. echo Arabic layout for selected country added as secondary. echo. echo A silent startup script has been created for your selection. echo. echo Closing automatically in: timeout /t 1 /nobreak >nul & echo 3... timeout /t 1 /nobreak >nul & echo 2.. timeout /t 1 /nobreak >nul & echo 1. exit /b Foksh Layout V2.zip
  17. تحياتي وإحترامي لك أخي منتصر على إطراءك الجميل . وهذا ما تعلمناه منكم أساتذتنا الكبار ومعلمينا في هذا المنتدى فكرة جميلة أيضاً قمت بطرحها ، وهنا أنت تعتمد على اجبار المستخدم على تسجيل الخروج من الويندوز ، وهذا ما لا كنت ارغب بتطبيقه في فكرة التثبيت لمخططات لوحات المفاتيح . ومع تجربتي لفكرتي على بعض إصدارات ويندوز التي لم تكن بحوزتي كان هناك بعض الأخطاء في عدم إظهار وتطبيق الحفاظ على التخطيطات الخاصة بلغات لوحة المفاتيح ، وتم إصلاحها والحمد لله .
  18. تم تحديث الفكرة بشكل جديد ، ودعم أكبر لمختلف إصدارات ويندوز 10 وما فوق . قريباً
  19. وعليكم السلام ورحمة الله وبركاته .. أخي الكريم بدايةً اهلاً وسهلاً بك في المنتدى عضواً جديداً ، ونتمنى ان تجد ما تبحث عنه بسهولة . بدايةً استعمل خاصية البحث لإيجاد المواضيع التي تتحدث عن مشكلتك بل طرحها ، علك تجد ضالتك بسرعة وسهولة .. أما بخصوص طلبك ، فإليك هذه الدالة البسيطة :- Private Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) Dim dbs, prp As Property Const conPropNotFoundError = 3270 Set dbs = CurrentDb On Error GoTo Change_err dbs.Properties(strPropName) = varPropValue ChangeProperty = True Change_Bye: Exit Function Change_err: If Err = conPropNotFoundError Then Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue) dbs.Properties.Append prp Resume Next Else ChangeProperty = False Resume Change_Bye End If End Function ويتم استدعائها في أي حدث تريده كحدث عند فتح أول نموذج لك في مشروعك بالشكل التالي لقفل مفتاح الشيفت :- ChangeProperty "AllowBypassKey", DB_BOOLEAN, False أو في زر لإعادة تفعيل مفتاح الشيفت بالإستدعاء التالي :- ChangeProperty "AllowBypassKey", DB_BOOLEAN, True
  20. تم نقل اختيار الإجابة لإجابة الأستاذ @عبدالله بشير عبدالله ، وليست لتعليقي أخي الكريم .. ونعلم إنها سهواً ، وتم تصحيح اختيار الإجابة
  21. تم التفعيل أستاذنا الكريم شكراً لتفاعلك
×
×
  • اضف...

Important Information