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

ابو جودي

أوفيسنا
  • Posts

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

  • Days Won

    208

كل منشورات العضو ابو جودي

  1. العفو منكم استاذى الجليل ومعلمى القدير الاستاذ @Barna صدقت اذا حضر الماء بطل التيمم لا فض فوك لذلك تتقدمون انتم استاذى الجليل ويصطف كل طلاب العلم وانا اقلهم واولهم خلفكم فنهتدى بكم ونسير على خطى دربكم لنقتدى بكم اسأل الله تعالى ان يرزقكم استاذى الجليل وكل معلمينا العظماء البركة فى العلم والعمر والعمل وان يتقبل كل اعمالكم فى موزاينكم ان شاء الله
  2. جرب كده ولو تكرمت ممكن ترفق القاعدة كاملة رسالة خطاء عند فتح سجل جديد.accdb
  3. اتفضل يا سيدى غير الاكواد داخل الموديول بتلك الاكودا التعديل يتوافق للعمل على كلتا النواتان 32 , 64 انا الان قمت بالتجربة على 64 برجاء التجربة على 32 وموافتنا بالنتيجة #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 -------------------------------------------------------- للاسف مش دايما بيكون ده التعديل وبس شوف الكود وانت تعرف الفرق وغير انت الملف القديم وجربه مش راح يشتغل وهذا مرفق التطبيق بعد التعديل DeleteWithPassword.accdb
  4. انتم الأروع باش مهندس @Moosak بمساندة طلبة العلم ورفع روحهم المعنوية بكلماتكم الرقراقة البراقة هذا فضل الله تعالى اولا واخيرا فالعبد الفقير الى الله مجرد سبب سببه الله تعالى .. لله تعالى الحمد والمنة واضع انه سوف نطالب بفرض ضريبة على هذه المكتبة
  5. كلنا واحد والمهم هو الوصول الى الغاية واعوذ بالله واياكم من القهر جزاكم الله خيرا ... لكن والله ان الاجابات والحلول رزق من الله تعالى وفقط يستعملنى الله تعالى لاكون سبب ليس الا قاللهم اسأل ان يستعملنى فى الخير دائما وابدا ما شاء الله .. اسأل الله لكم التوفيق والسداد انتظر على أحر من الجمر بزوغ هذا النور ان شاء الله ولازلت اصر واتمنى وانادى ان تطرح افكار يتم النقاش حولها ويتم تناولها والعمل عليها بشكل جماعى حتما العمل الجماعى يولد الافكار ويزيد حصيلة الخيال اتمنى من كل قلبى ان نطلق العنان لافكارنا مجتمعين سوف تحدث فارق كبير بإذن الله على سبيل المثال تلك الافكار التى وضعتها اليوم لهذا الكود طبعا ولان اخونا الحبيب الاستاذ @أحمد وجيه وكما تفضلتم استاذى لم يسرد جميع المعطيات من البداية تم وضع الحلول بشكل عام تبعا للمرفق الذى تقدم به ولكن مع سررد الطلبات تباعا وبعد تقديم الحلول صالت وجالت بنات افكارى لوضع الكود بشكل وظيفة عامة تلبى كل الاحتياجات دون تكرار الاكواد تبعا لكل حالة فلو لاحظت فى تلك الاقتباسات وكذلك وبذلك لابد من كتابة الاكواد اكثر من مرة تبعا لكل جدول ولكل حالة للبادئة فـ أنا الان أحاول جاهدا ان تكون الأكواد فى وظائف عامة قدر الامكان لتلبى كل الاحتياجات قدر الامكان للتقليل من استخدام الاكواد مستقبلا وبفضل الله تعالى والحمد لله الذى هدانا لهذا وما كنا لنهتدى لولا ان هدانا الله عزوجل تم الحصول على نتيجة من وجهة نظرى المتواضعة مرنة وشاملة وأحسبها كافية و وافية
  6. ممكن المرفق
  7. بل روعة حياتنا هم اساتذتنا العظماء الذين اناروا افكارنا شكرا لكم استاذى الجليل و معلمى القدير و والدى الحبيب استاذ @ابوخليل على مروركم العطر ومتابعة طلاب العلم وانا منهم وشكرا على كلماتكم الطيبة وتلك الطاقة الايجابية التى تبثونها فى نفوس طلاب العلم جارى العمل على المرفق الان وفور الانتهاء منه سوف اقوم برفع المرفق فى الموضوع لم يسعفنى الوقت بسبب اقتراب موعد الافطار اثناء كتابة الموضوع كل عام وانتم بخير
  8. السلام عليكم ورحمة الله تعالى وبركاته احيانا نريد عمل معرف خاص بنا برمجيا طبعا يختلف الكود تبعا لاسم الجدول والحقل ونوع الحقل اليوم سوف اقدم لكم فكرتى المتواضعة فى تلك الوظيفة التى يمكن وضعها فى وحدة نمطية ليمكن -استدعاؤها فى زوايا التطبيق المختلفة بكل سهولة -امكانية التحكم اثناء استدعاء الوظيفة فى البادئة ان اردت اضافة بادئة ما -التحكم فى موعد اعادة التعيين ليبدأ العدد من الرقم 1 مرة أخرى سنويا او شهريا او يوميا الكوووووود '|---10/04/2022______________________________________________| '|___www.officena.net________________________________________| '| | '| _ +-----------officena-----------+ _ | '| /o) | ||||| | (o\ | '| / / | @(~O^O~)@ | \ \ | '| ( (_ | _ ----oOo--Moh--oOo----- _ | _) ) | '| ((\ \) +/o)----------3ssam---------(o\+ (/ /)) | '| (\\\ \_/ / \ \_/ ///) | '| \ / \ / | '| \____/________Mohammed Essam________\____/ | '| | '| 10/04/2022 | '| | '|_____www.officena.net______________________________________| '|_____Thank you for visiting https://www.officena.net_______| '======Control in Special increment prefix ID===============================================================================================================================' ' ____ __ ____ ____ __ ____ ____ __ ____ ______ _______ _______ __ ______ _______ .__ __. ___ .__ __. _______ .___________. ' ' \ \ / \ / / \ \ / \ / / \ \ / \ / / / __ \ | ____|| ____|| | / || ____|| \ | | / \ | \ | | | ____|| | ' ' \ \/ \/ / \ \/ \/ / \ \/ \/ / | | | | | |__ | |__ | | | ,----'| |__ | \| | / ^ \ | \| | | |__ `---| |----` ' ' \ / \ / \ / | | | | | __| | __| | | | | | __| | . ` | / /_\ \ | . ` | | __| | | ' ' \ /\ / \ /\ / \ /\ / __| `--' | | | | | | | | `----.| |____ | |\ | / _____ \ __| |\ | | |____ | | ' ' \__/ \__/ \__/ \__/ \__/ \__/ (__)\______/ |__| |__| |__| \______||_______||__| \__| /__/ \__\ (__)__| \__| |_______| |__| ' ' ' '===========================================================================================================================================================================' Function MySpid( _ ByRef strFieldName As String, _ ByRef strTableName As String, _ Optional strPrefixe As String = vbNullString, _ Optional strResetYYorMMorDD As String = "YY", _ Optional nDay As Integer = 0, _ Optional nMonth As Integer = 0, _ Optional nYear As Integer = 0) As String Dim strLinkCriteria As String Dim strOldID As String Dim strNxtID As Long Dim intLenPrefixe As Integer Const intNumberOfZeros = 6 intLenPrefixe = Len(strPrefixe) + 1 If nDay = 0 Then nDay = Format(Date, "dd") If nMonth = 0 Then nMonth = Format(Date, "mm") If nYear = 0 Then nYear = Year(Date) - 2000 Select Case strResetYYorMMorDD Case Is = "YY": strLinkCriteria = Nz(Right(Mid(Nz(DLast(strFieldName, strTableName), 0), intLenPrefixe, 6), 2), 0) = nYear ' Yearly Reset Case Is = "MM": strLinkCriteria = Nz(Right(Mid(Nz(DLast(strFieldName, strTableName), 0), intLenPrefixe, 4), 2), 0) = nMonth ' Monthly Reset Case Is = "DD": strLinkCriteria = Nz(Right(Mid(Nz(DLast(strFieldName, strTableName), 0), intLenPrefixe, 2), 2), 0) = nDay ' Daily Reset End Select strOldID = Nz(DLast("" & strFieldName & "", strTableName, strLinkCriteria), 0) strNxtID = CLng(Right(strOldID, intNumberOfZeros)) strNxtID = strNxtID + 1 MySpid = strPrefixe & Format(nDay, "00") & Format(nMonth, "00") & Format(nYear, "00") & _ String(intNumberOfZeros - Len(CStr(strNxtID)), "0") & CStr(strNxtID) End Function يتم استدعاء الوظيقة بشكل عام من خلال الكود الاتى MySpid("FldName", "TblName") فى هذه الحالة يتم اعادة تعيين الترقيم سنويا ------------ ولكن للتحكم الكامل ولتغيير الاعدادات MySpid("FldName", "TblName", "AnyPrefixe", "yy or MM OR DD","DayDate","MonthDate","YearDate") AnyPrefixe البادئة التى تريد أن تبدأ الترقيم بها غيرها كما تريد MySpid("FldName", "TblName", "AnyPrefixe") yy or MM OR DD لو اردت اعادة تعيين الترقيم سنويا سوف تكون yy وبدون استخدام هذا الجزء هذا هو الاحتيار المفضل تبعا للكود MySpid("FldName", "TblName", "AnyPrefixe", "yy") لو اردت اعادة تعيين الترقيم شهريا سوف تكون MM MySpid("FldName", "TblName", "AnyPrefixe", "MM") لو اردت اعادة تعيين الترقيم يوميا سوف تكون DD MySpid("FldName", "TblName", "AnyPrefixe", "DD") --------- DayDate لتبدأ الترقيم من خلال رقم يوم محدد يعنى مثلا لو اردنا الترقيم يبدا من يوم 23 MonthDate لتبدأ الترقيم من خلال رقم شهر محدد يعنى مثلا لو اردنا الترقيم يبدا من شهر 09 YearDate لتبدأ الترقيم من خلال رقم سنه محدد يعنى مثلا لو اردنا الترقيم يبدا من عام 21 اجمل الامنيات بالاستمتاع مع هذا الكود وهذه الافكار هذا الاصدار الاول من كتابتى للكود لم اتمكن من التجربة بشكل كبير.. فضلا وكرما موافاتنا بالنتيجة فى حالة حدوث اى خطأ Special increment prefix ID.accdb
  9. طيب ولماذا نكتب الكود حسب المعطيات ليه ما نكتب كود ذكى وهو يشتغل لحاله حسب حاجة المستخدم يعنى بدون لا تعديل فى كتابة الاكواد ولا شئ ويقدر يشتغل مع اى قاعدة او اى جدول او اى حقل مهما كانت الاسماء واختلفت كمان يكون اكثر ذكاء يقدر يبدا الترقيم بالبادئة الى يريدها المستخدم en , ex or Mossa كمان يكون اكثر ذكاء يقدر يقدر يعمل اعادة التعيين للترقيم حسب الحاجة يوميا او شهريا او سنويا يعنى يعمل رسيت لوحدة حسب انت عاوزه يعمل الرسيت امتى من نفسه لوحده بدون ما تدخل تعدل شئ فى الكود فكر كده شوية يا باش مهندس ودعبس هنا وهناك @Moosak الاقيش عندك الكود الذكى ده لو مش عتدك اتفضل
  10. والمرفقات النهائية بهذا الموضوع المرفق الاول من خلال تمرير البيانات الى اداة تم تصميمها من خلال vb.net ولكن بعض البرامج المضادة للفيروسات تتعامل معها على انها تطبيق مشبوه بطيئ نسبيا لان البيانات يتم تمريرها من الاكسس الى تلك الاداة ويتم ارجاع التشفير الى قاعدة البيانات مرة اخرى المرفق الثانى وهو الأفضل يعتمد على مكتبات جافا تم تنقيح الموضوع قدر الامكان بأخفاء المشاركات التى لا تؤثر على الموضوع بسبب كثرتها بلا داعى اثناء التنقاش والتجارب تاريخ التنقيح ٩ رمضان ١٤٤٣ هـ / 10 -أبريل -2022 م
  11. التطبيق الثانى والذى يعتمد على مكتبات الجافا اليكم كود الاستجابة السريع QR CODE (يدعم اللغة العربية) بدعم مكتبة جافا حسب متطلبات هيئة الزكاة والضريبة والجمارك السعودية علما انه يتم قراءة الرمز عبر قارىء خاص بالهيئة ( تطبيق جوال ) حمل من هنا : تطبيق هيئة الزكاة والضريبة والجمارك كما يتم قراءة الرمز عبر قارىء خاص من خلال موقع على الانترنت إذهب الى الموقع : من هنا متطلبات التشغيل : Framework الاصدار 4 ------------------------------------------------------------------------------- يمكن تحميل الملف الاتى هو يقوم بالتحديثات اللازمة سواء ويندوز 7 , 10 , 11 إذهب الى موقع التحميل : من هنا ( تحميل مباشر من mediafire .. من رفعي انا على حسابي الشخصي بالموقع ) ميزات برنامج All in one Runtimes: سهل الاستخدام و مفيد للغاية في تقليل الزمن الضروري للبحث عن الأدوات كلٍ على حدا. مجاني بشكل كامل و يقدم الكثير من الفائدة و يمكنه حمايتك من المواقع التي قد تصيب جهازك بفيروسات سيئة عند التحميل منها. يعمل بشكل ذكي حيث يقوم بتحديد ما يحتاجه حاسبك و لن يقوم بتثبيت كل الأدوات بشكل عشوائي. يقدم مجموعة كبيرة من الأدوات الضرورية في حاسبك و أهمها: .NET Framework 4.6 + Updates Java Runtime Environment 8 DirectX 9.0c Extra files General runtime files Microsoft Visual C++ Runtimes (v2005 – v2015) Microsoft Visual J# 2.0 SE Microsoft Silverlight 5 Shockwave Player 12 (Internet Explorer Plugin) ------------------------------------------------------------------------------- الجديد فى هذا الموضوع وسبب تطوير تلك القاعدة . نظرا للمشاكل التي واجهت أحبابي سابقا بسبب تسجيل الملفات .. تم بفضل الله تعالى حل كل المشاكل تقريبا لن نحتاج الى نقل مجلد ملفات مكتبات الـ DLL الى أي مكان يتم إنشاء المجلد اليا بنفس مسار القاعدة يتم تحميل الملفات من قاعدة البيانات اليا تشغيل ملف التسجيل Register.bat اليا.. عند فتح القاعدة للمرة الأولى ومحاولة انشاء رمز الـ Qr وفى حالة عدم تسجيل مكتبة الجافا يتم اغلاق القاعدة اليا وفتح ملف التسجيل كمسؤول نظام دون أي تدخل من المستخدم نهائيا مميزات القاعدة الحفاظ على الملفات الهامة بحملها داخل القاعدة وتحميلها لمسار القاعدة فى كل مرة يتم فيها فتح القاعدة شغيل ملف التسجيل Register.bat اليا عند الحاجة لذلك يدعم النواتان 64 , 32 تشفير البيانات طبقا لمتطلبات هيئة الزكاة والضريبة والجمارك السعودية الاحتفاظ بالبيانات المشفرة لكل سجل حجم الصورة الخاصة برمز الاستجابة السريع QR CODE صغير جدا لمن يريد الاحتفاظ بهم لكل سجل أتمنى لكم تجربة ممتعة ... E-Invoicing Java.zip
  12. بسبب الحقل المحسوب ولذلك لا اجبذ استخدام الحقول المحسوبة داخل الجداول لو وضعنا هذا السطر فى الاستعلام بدلا من الحقل المحسوب وحذفنا الحقل المجسوب من الجدول لوجدنا نفس سرعة فته الجدول = نفس سرعة فته الاستعلام ReceiptsPaidCount: IIf(IsNull([Mnth1]),0,1)+IIf(IsNull([Mnth2]),0,1)+IIf(IsNull([Mnth3]),0,1)+IIf(IsNull([Mnth4]),0,1)+IIf(IsNull([Mnth5]),0,1)+IIf(IsNull([Mnth6]),0,1)+IIf(IsNull([Mnth7]),0,1)+IIf(IsNull([Mnth8]),0,1)+IIf(IsNull([Mnth9]),0,1)+IIf(IsNull([Mnth10]),0,1)+IIf(IsNull([Mnth11]),0,1)+IIf(IsNull([Mnth12]),0,1)
  13. طيب تم التجربة على عدد سجلات 3,211,117 مبسوط يا باش مهندس @Eng.Qassim اكثر من 3 مليون سجل 1574759973_(3).rar
  14. كل عام وانتم بخير استاذى واخى الجبيب باش مهندس @Eng.Qassim وانا كمان عجبنى الكود وانا لا أدرى بكل صراحة عن فاعلية الكود مع ملايين السجلات ولكن يفوز بكل لذة كل مغامر.. لاضير من التجربة
  15. اتفضل يا سيدى تسديدات العميل (2).accdb
  16. جزاكم الله خيرا ---------------- طيب للايضاح أكثر ممكن حضرتك تقول لى بالنسبة للعميل رقم 9 مجموع الحقول الاشهر التي سددها العميل المفروض تساوى كام ؟ رقم اخر وصل المفروض = ايه من واقع البيانات فى المرفق
  17. الان تقريبا فهمت شوفت فايدة المرفق انتظرنى بعد الفطار فى فوكيره حلوه ان شاء الله تحقق مرادك ولكن اسمح لى سوف اجرى الكثير من التعديلات اهمها واولها اسماء الحقول باللغة الانجليزية لتجنب المشاكل
  18. من خلال استعلام تجميع من خلال Dlast اى خدمه كل سنه وانت طيب لو ما فهمتش تبقى بعد كده لما تنضم لمكان وتكون جديد حاول تتعب نفسك وتعرف القوانين المنظمة للمكان ده ليك اولا ثم للمصلحة العامة ثانيا انت انتهكت قانون ولكن علشان رمضان كل سنه وانت طيب انا غضيت الطرف وجاوبت غير مسموح بوضع اكثر من سؤال فى مشاركة واحدة يفضل وضع مرفق مختصر للحصول على نتيجة سريعة اجمالا اقصد الاتى 11. ممنوع طرح أكثر من سؤال في موضوع واحد ليسهل البحث عن المواضيع لاحقا. المرفقات 17. إذا لم يكن السؤال يسهل فهمه عن طريق الشرح فقط، يجب إرفاق مثال. 18. المرفقات يجب تحوي مثال مبسط وعينة كافية من البيانات بحيث تعم الفائدة دون الحاجة لتحميل ملفات كبيرة الحجم 19. تجنب نشر بيانات حقيقية يخشى نشرها ويمكن أن تطلب حذفها لاحقاً. وتفصيلا القوانين يمكنكم الاطلاع عليها من هنا http://www.officena.net/Tips/Questions.htm
  19. اتفضل انا عملت لك الكود بالشكل ده حتى يكون مرن فيمكن استخدامة لاى قاعدة ومع اى جدول Function MyID(ByRef strFieldName As String, ByRef strTableName As String) Dim lngNextNumber As Long Dim strNextNumber As String Dim strNewID As String Const intNumberOfZeros = 6 lngNextNumber = Nz(Right(DLast("[" & strFieldName & "]", strTableName), intNumberOfZeros), 0) + 1 strNextNumber = String(intNumberOfZeros - Len(CStr(lngNextNumber)), "0") & CStr(lngNextNumber) strNewID = "EN" & Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & strNextNumber MyID = strNewID End Function طبعا ممكن وضع الوظيفة السابقة فى موديول ويتم استدعاؤه حسب الحاجة تبعا لاسم الجدول واسم حقل الترقيم المخصص داخل الجدول من خلال السطر الاتى TextBox= MyID("movement_N", "movement") ملاحظة ممكن تتحكم فى عدد الاصفار من خلال تغيير الرقم 6 فى السطر تبعا للعد اللى تبغاه انت Const intNumberOfZeros = 6 الحركة (3).accdb
  20. بالنسبة للملاحظات وجدتك تستخدم DLookup اكثر من مرة فى نفس الحدث لمجرد احضار بيانات من حقول اخرى لنفس الجدول اتفضل اهديكم احضار بيانات دفعة واحدة من اكثر من حقل عن طريق المصفوفات من خلال الـ DLookup على طريقة استاذى الجليل ومعلمى القدير و والدى الجبيب الاستاذ @jjafferr Dim strDLookupFlds As String Dim stLinkCriteria As String Dim MyVariable As String Dim Arry() As String Dim ChosFld As String MyVariable = 1 stLinkCriteria = "[FldCriteria]=" & MyVariable '|Numeric 'MyVariable = "Mahmoud" 'stLinkCriteria = "[FldCriteria] ='" & MyVariable & "'" '|String 'MyVariable = "03/01/1982" 'stLinkCriteria = "[FldCriteria] =#" & MyVariable & "#" '|Date strDLookupFlds = DLookup("[Fld1] & '|' & [Fld2] & '|' & [Fld3] & '|' & [Fld4] & '|' & [Fld5] & '|' & [Fld6] & '|' & [Fld7] & '|' & [Fld8]& '|' & [Fld9]", "[tblName]", stLinkCriteria) Arry = Split(strDLookupFlds, "|") Debug.Print strDLookupFlds ChosFld = Arry(0) Debug.Print ChosFld 'Arry(0) = Fld1 'Arry(1) = Fld2 'Arry(2) = Fld3 'Arry(3) = Fld4 'Arry(4) = Fld5 'Arry(5) = Fld6 'Arry(6) = Fld7 'Arry(7) = Fld8 'Arry(8) = Fld9 طبعا لن يزيد الان صيام بعيدا عن المزاح انا لم اقم بالتجربة ولم اقترب من تلك الجزئية لا من قريب ولا من بعيد لو كانت موجودة الان فذلك لانها مشكلة ازلية بناء على تطبيقكم انتم وليس تعديلى انا ابشر سوف ارى ما يمكن عمله
  21. اتفضل الكود بعد التعديل On Error Resume Next Dim xLast, xNext As Integer Dim prtyr, prtMt, prtDy, prtTxt As Integer prtyr = Format(Date, "yy") prtMt = Format(Date, "mm") prtDy = Format(Date, "dd") prtTxt = CLng(Mid(DMax("movement_N", "movement"), 2, 2)) xLast = CLng(Right(DMax("movement_N", "movement", prtTxt = prtyr), 6)) If IsNull(xLast) Then xNext = 1 Else xNext = xLast + 1 End If Me!movement_N = "EN" & prtyr & prtMt & prtDy & Format(xNext, "000000")
  22. طيب للسنة استخدم Format(Date(),"yy") وللشهر استخدم Format(Date(),"mm") ولليوم استخدم Format(Date(),"dd") ولى عودة مرة اخرى للموضوع لتوضيح واضافة بعض الملاحظات داخل قاعدتك ولكن اعطنى قليل من الوقت
  23. السلام عليكم ورحمة الله تعالى وبركاته من حين لآخر قد نستخدم برامج محمولة بتمرير قيم اليها لاجراء بعض العمليات من خلال الـ Command Line ولكن احيانا تعلق بالذاكرة ولا يتم إغلاق البرامج بشكل صحيح وبالتالي تسبب الصداع والمشاكل التى تجعلك غير قادر على معاودة العمل مرة أخرى لذلك قد يصبح من الضروري إنهاء العملية بالقوة بقتل التطبيق العالق فى الذاكرة اقدم لكم وظيفة بسيطة تقوم بتمرير الاسم الكامل للعملية المطلوب إنهاؤها فقط Public Function WMI_KillProcess(sProcessName As String, Optional sHost As String = ".") As Boolean On Error GoTo Error_Handler Dim oWMI As Object 'WMI object to query about the PC's OS Dim sWMIQuery As String 'WMI Query Dim oCols As Object Dim oCol As Object Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sHost & "\root\cimv2") sWMIQuery = "SELECT Name FROM Win32_Process" Set oCols = oWMI.ExecQuery(sWMIQuery) For Each oCol In oCols If LCase(sProcessName) = LCase(oCol.Name) Then oCol.Terminate ' Kill this instances of the process End If Next oCol WMI_KillProcess = True Error_Handler_Exit: On Error Resume Next Set oCol = Nothing Set oCols = Nothing Set oWMI = Nothing Exit Function Error_Handler: MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Source: WMI_KillProcess" & vbCrLf & _ "Error Description: " & Err.Description & _ Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _ , vbOKOnly + vbCritical, "An Error has Occurred!" Resume Error_Handler_Exit End Function ويتم استدعاء الوظيفة من خلال السطر الاتى Call WMI_KillProcess("calculator.exe") طبعا تغير اسم التطبيق العالق والذى تريد انهاءه بالقوة بدلا من calculator.exe وهذا مثال للتوضيح KillProcess.accdb
  24. مين قال لا يوجد وما فائدة هذا التطبيق Full Control Of Print Report التحكم في الطابعة وخصائصها طباعة التقارير.mdb
×
×
  • اضف...

Important Information