بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
6997 -
تاريخ الانضمام
-
Days Won
202
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو ابو جودي
-
listbox نقل الحقول من الكمبو بوكس الي vba
ابو جودي replied to ahmed_204079's topic in قسم الأكسيس Access
اولا بارفو شاطر والله انك بتحاول وتعافر وتشغل دماغك صدقنى المعلومة والفكرة اللى بتتعب وتدوخ فيها وتحصلها بصعوبة علشان تروح من مخك هتروح بصعوبة برضو اما اللى بيجى سهل بيروح اسهل ما بيجى انا اسف جدا جدا جدا لحضرتك والله كنت تعبان والعلاج بتاعى مش موجود سامحنى ع التأخير بس فعلا الموضوع اكبر منى الحمد لله رب العالمين اه نسيت اقول لك خليك كريم وبطل بخل لما تكون كاتب سؤال طالما وصلت للاجابة بتاعته بفضل الله تضع الاجابة بالاكواد وبالمرفق علشان الكل يتعلم وعدد النوايا مساعدة للغير وعلم ينتفع به ونسأل الله تعالى القبول -
يا عم حرام عليك انت عامل ايه انت كل ما تلاقى موضوع بيتكلم عن التفقيط او تحويل الارقام لـ تيكست تضيف اكواده وخلاص ؟؟؟
-
اولا ياريت مرفق للكود اللى بتشتغل بيه ثانيا ممكن التوضيح هل تريد 150.320 ان تحصل على النتيجة الصحيحة فقط يعنى انت عاوز النتيجة = مائة وخمسون دينار فقط لاغير
-
منع التكرار بالضغط على زر التقسيط اكثر من مرة
ابو جودي replied to ahmedabuzena's topic in قسم الأكسيس Access
اتفضل Dim sql As DAO.Recordset Dim strAmount As String Dim Amount As Double Dim i As Integer Dim exists As Boolean Dim rsCheck As DAO.Recordset Set sql = CurrentDb.OpenRecordset("G2", dbOpenDynaset) Amount = Round(Forms![f1]![المبلغ] / Forms![f1]![NO], 2) strAmount = NoToTxt(Amount, "دينار", "فلس") ' Check if records already exist for the same invoice number For i = 0 To Forms![f1]![NO] - 1 exists = False Set rsCheck = CurrentDb.OpenRecordset("SELECT * FROM G2 WHERE [رقم] = " & Forms![f1]!X & " AND [التاريخ] = #" & Format(DateAdd("m", i, Forms![f1]![Date]), "yyyy/mm/dd") & "#", dbOpenDynaset) If Not rsCheck.EOF Then exists = True End If rsCheck.Close If Not exists Then With sql .AddNew ![رقم] = Forms![f1]!X ![التاريخ] = DateAdd("m", i, Forms![f1]![Date]) ![المبلغ] = Round(Forms![f1]![المبلغ] / Forms![f1]![NO], 2) ![المبلغ كتابه] = strAmount ![القسط] = "لم يتم الدفع" .Update End With End If Next i sql.Close Forms("f1").Requery -
على اساس ان السطر ده مش موجود ؟؟ لا والله فقط انا مريض ولكن ما ينفعش انت تنزل هدية وانا ما ارد عليك لا ولازم اعبى مكتبتى انا التانى اوماااااااااااال
-
الاستاذ الجليل صاحب المكتبة العامرة @Moosak انت مبدع وعبقرى ما شاء الله تبارك الله تسلم ايدك اسأل الله أن يديم عليكم الصحة والعافية وأن يحفظكم من كل سوء ومكروه ويبارك فيكم وفي أرزاقكم ويسهل لكم اموركم وان يحسن لكم القضاء ويبعد عنكم الشقاء ولا يمر عليكم يوم إلا وأنتم في نعمة وصحة وعافية اللهم آمين يارب العالمين 🤲
-
مطلوب كود حذف جدول ثم استنساخه مرة أخرى من جدول آخر
ابو جودي replied to أحمد العيسى's topic in قسم الأكسيس Access
بصراحة لا اتذكر السبب تحديدا ولتأكدى من التجربة اكثر من مرة والحصول على نقس النتيجة وقتها اعتقدت انها مشكلة وقصور فى الاكسس -
مطلوب كود حذف جدول ثم استنساخه مرة أخرى من جدول آخر
ابو جودي replied to أحمد العيسى's topic in قسم الأكسيس Access
سبحان الله مع انو جربتها ولكن لا اعرف لماذا لم تعمل وممكن تنفيذ السيناريو المطلوب بالشكل التالى بوضع الكود الاتى فى وحدة نمطية عامة لو اردنا استدعاء الكود اكثر من مرة وفى اكثر من مكان Const TargetTableName As String = "tblDataB" Const SourceTableName As String = "tblData" Sub CopyTableWithOverwrite() ' Check if the destination table already exists and delete it If TableExists(TargetTableName) Then DoCmd.DeleteObject acTable, TargetTableName End If ' Copy the source table to the target table DoCmd.CopyObject , TargetTableName, acTable, SourceTableName End Sub ' Helper function to check if a table exists Function TableExists(tableName As String) As Boolean Dim db As DAO.Database Dim tdf As DAO.TableDef On Error Resume Next Set db = CurrentDb Set tdf = db.TableDefs(tableName) TableExists = (Err.Number = 0) On Error GoTo 0 Set tdf = Nothing Set db = Nothing End Function على ان يكون الاستدعاء فقط بالشكل التالى على زر الامر او وفق اهوائك ورغباتك فى الحدث والوقت المناسبين ' Call the CopyTableWithOverwrite subroutine to perform the table copy CopyTableWithOverwrite -
طيب هو الموضوع عنوانه : تصميم برنامج لسنتر بلاي ستيشن يعنى لا يوجد اسئلة ينتظر وضع اجابات لها اذا لابد ومن الاولى ان نبدأ بالتحليل النظرى ثم التحليل المنطقى ثم وضع الية العمل والسيناريو وفقا للتحليل ثم بدأ البناء ليكون على اساس سليم وصحيح وبدء البناؤ يبدأ ببناؤ الجداول الصحيح اولا وليس بالحسابات والنماذج ثم الجداول
-
اظهار البيانات عند الاختيار من مربع تحرير وسرد
ابو جودي replied to بلال اليامين's topic in قسم الأكسيس Access
اتفضل يا سيدى 1234.accdb -
بدون زعل لو الموضوع بالشكل ده بس حرام يتعمل لع قاعدة وتشغل له جهاز حاسب الى مخصوص كراسة وقلم وعيش حياتك اسهل اه والله زيمئولك كده بالنسبة لكل جهاز دى انسخ بس الاكواد ولصق لكل زر امر مع تغيير اسماء العناصر والحمد لله ان انا مش فاضى لان لو الموضوع كده بس انا كنت ممكن يجيلى شلل لان مبدئيا انا كنت اضع للقاعدة من 4 الى 6 جداول ووجع قلب وكتابة اكود المطلوب ده لعب عيال وتم تحقيقه خلاص
-
مطلوب كود حذف جدول ثم استنساخه مرة أخرى من جدول آخر
ابو جودي replied to أحمد العيسى's topic in قسم الأكسيس Access
شوف يا سيد فوكش انا فعلا والله برد وشغال فى حجات تخص عملى تقريبا مضغوط قليلا والموضوع ده عاوز له روقان لو عاوز الفكرة اللى بتدور فى مخيلتى نظريا ارجع لموضوع الجداول بتاعك بتاع انشاء الجدول الديناميكى فى جزء يخص خضائص الحقل عند انشاء الجدول الجديد ده شق الاجابة الثانى والمطلوب لتحقيق اجابة السؤال الشق الاول للوصول لتلك المرحلة عمل دالة لتمرير اسم الجدول الاساسى االيها بتقوم بعمل دوران على الحقول لمعرفة وتيديل الاتى فى مصفوفة مثلا اسم الحقل نوع الحقل وصف الحقل تسمية الحقل ويتم تمرير البسانات دى للكود بتاعك اللى اتكلمنا عنه فى الشق الاول لفة رخمة وعاوزة روقان بجد -
مطلوب كود حذف جدول ثم استنساخه مرة أخرى من جدول آخر
ابو جودي replied to أحمد العيسى's topic in قسم الأكسيس Access
لو ركزت شوية فى كلامى بدون نقاش انت جرب وشوف علشان تتأكد -
مطلوب كود حذف جدول ثم استنساخه مرة أخرى من جدول آخر
ابو جودي replied to أحمد العيسى's topic in قسم الأكسيس Access
بعد اذن استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل حياكم الله وبياكم الموضوع به تحد كبير فعلا على استحياء دعنى اوضح لك الامور لتتضح الرؤية من نقاط ضعف الاكسس انه لا يقوم بعمل نسخ الجدول بخصائص الحقول بداخله ولكن يتم ذلك بهيكل الجدول فقط وبيانات الحقول يعنى ابه الكلام دة ببساطة سوف اشرح على الصور الاتية الجزء المأطر بالازرق والذى يحمل العنوان Description ( Optional ) والذى يتم فيه كتابة وصف لكل حقل والجزء المأطر بالاسفل باللون البنفسجى وهو الـ Caption لكل حقل هذان يعدان من خصائص الحقول داخل الجدول عند عمل حذف للجدول الثانوى ونسخ الجدول الاساسى لا يأتى الجدول الجديد وليد عملية الاستنساخ بهذه الخصائص لاعداد الحقول فى الجدول الاساسى ولكن ولكن ولكن والله اعلم اعتقد قد يكون لها حل برمجى وانا ان شاء الله اعمل على ذلك -
الاستاذ @Foksh تحياتى وتسلم ايدك تمام حلوه الحسابات وحلوة الدنيا مافيش كلام لكن اين الاساس ؟؟؟ اين جداول الحسابات التى توضح الربح اليومى وكيف نحصل على حسابات الربح الشهرى والسنوى واين جدول المدفوعات واين جدول المشتريات لادراة رأس المال بطريقة سليمة وامنة وان كان هناك اكثر من جهاز ولكل جهاز قيمة سعرية مختلفة عن الاخر اين واين واين .... واين واين واين واترككم لبنات افكاركم وعندما يتثنى لى الوقت المناسب لن ابخل لا بالوقت ولا بالجهد تحياتى
-
طريقة عمل واجهه لفورم الاعدادات فى البرنامج
ابو جودي replied to safaa salem5's topic in قسم الأكسيس Access
فضلا وكرما حفاظا على قوانين المنتدى ياريت فتح موضوع جديد بخصوص هذا الطلب -
طريقة عمل واجهه لفورم الاعدادات فى البرنامج
ابو جودي replied to safaa salem5's topic in قسم الأكسيس Access
باش مهندسة @hanan_ms برافو تسلم ايدك -
طريقة عمل واجهه لفورم الاعدادات فى البرنامج
ابو جودي replied to safaa salem5's topic in قسم الأكسيس Access
هذه هى النتيجة المؤكده و هو الرد الطبيعى من مجرد طالب علم يتكبر بغرور وجهل احسنت -
بخصوص التعديل لفتح النموذج بكلمة المرور
ابو جودي replied to بلال اليامين's topic in قسم الأكسيس Access
الاجابة الاصح والافضل اولا : كود الوحدة النمطية العامة تم اعادة هيكلة الكود وتعديله للتعامل مع النواتان بالطريقة الصحيحة على Option Compare Database Option Explicit #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 ثانيا الكود داخل النموذج المستهدف والذى تريد التعامل معه لابد ان يكون الكود على طريقة كبار المعلمين والمحترفين فى حدث ( فتح النموذج ) وليس حدث التحميل Private Sub Form_Open(Cancel As Integer) ' Exit if this is a new record Dim MyPass As String Dim TargetFormName As String ' Replace "TargetFormName" with the actual form name you want to open If Len(TargetFormName & "") = 0 Then TargetFormName = Me.Name ' Prompt user for the password MyPass = InputBoxDK("To open this form, you need to know the correct password to proceed with the opening process", "Confirm Opening a Secured Form") ' Check if the entered password is correct If MyPass = "123" Then If Len(TargetFormName & "") = 0 Then TargetFormName = Me.Name DoCmd.OpenForm TargetFormName ElseIf Len(MyPass & "") = 0 Then MsgBox "Form opening process canceled", vbInformation ' Display a message if the operation is canceled Cancel = True ' Cancel the form opening Else MsgBox "Incorrect password", vbExclamation ' Display a message if the password is incorrect Cancel = True ' Cancel the form opening End If End Sub واخيـرا: المرفق الصحيح ليكون مرجعا للدارسين وطلاب العلم test (3).accdb -
بخصوص التعديل لفتح النموذج بكلمة المرور
ابو جودي replied to بلال اليامين's topic in قسم الأكسيس Access
طيب للعلم وللدارسين والباحثين مستقبلا الحل الذى تم التأشير عليه كأفضل إجابة عاجز وغير مجدى مع النواة 64 نظراً لقصور أو إهمال أو عجز المطور عن إعادة هيكلة الكود لتعديله ليتوافق مع كل الأنوية والذى يقع فريستها العاجزين ومن اجل ذلك عرضت طريقتى ومرفقى الذى لا يعتمد على دوال تتطلب التحويل تسهيلا وابتعاد عن مشاكل الدوال -
بخصوص التعديل لفتح النموذج بكلمة المرور
ابو جودي replied to بلال اليامين's topic in قسم الأكسيس Access
شوف يا سيدى افتح التقرير مباشرة وافتح النموذج :frmSecretData مباشرة المفروض ان دول تم تأمينهم عند القتح مباشرة لو تخطى المستخدم قتحهم من النموذج الرئيسي بطلب كلمة المرور وهنا المرونة كلمة المرور تستطيع تغيرها عن الموجودة فى الوضع الطبيعى للفتح من النموذج الرئيسي وبعد ذلك قم بفتح النموذج والتقرير من النموذج الرئيسى وفق لكلمة المرور والموضحة على كل زر امر فى النموذج الرئيس -
تأخير الاستجابة من نموذج بحث من داخل نموذج فرعى
ابو جودي replied to AMINYOUSIF's topic in قسم الأكسيس Access
هلا والله هلا هلا و 100 مليون هلا حياكم الله وبياكم لا ننتظر مقابلا او جزاء من احد او شكورا فى هذا المنتدى هى لله ونرجو من الله تعالى القبول ده كده كده فى اى وقت اهلا بيك 🤝 يلا توكل على الله تعالى وسوف تجد كل الدعم قدر الامكان من اساتذتنا العظماء الكرام واخواننا اما وبما اننى اقل طويلب علم فى هذا الصرح الرائع الشامخ سوف اجتهد لابحث فى مسألتكم واتعلم معكم وطلاب العلم ونتشارك المعرفة -
بخصوص التعديل لفتح النموذج بكلمة المرور
ابو جودي replied to بلال اليامين's topic in قسم الأكسيس Access
هذه طريقتى المفضلة رقم سري.accdb -
قائمة ازرار ديناميكية شخابيط : طى وتوسيع قائمة الازرار
ابو جودي replied to ابو جودي's topic in قسم الأكسيس Access
البنى ادم ده طماع قوى يا اخى عاوز كل شئ كامل متكامل والكمال لله وحدة انت عندك حق فعلا بس لو المبرمج غلط يرجع يعدل الدنيا سهله خيغير التاجات بانه يعلم على ازرار كل مجموهة دفعة واحدة وتغير التاج لها بقيمة الـ TabIndex الجديدة للزر الرئيسي لهذه المجموعة انا اللى يهمنى المرونة فى الاستدعاء والسهولة فى التعامل مع اى قاعدة اخرى لتنقيذ نفس السيناريو المطروح ياريت اذا عند حضرتك اى افكار بديلة تطرحها وياريت ايضا اذا اى اخ كريم او استاذ جليل عندة فكرة لهذه المشكلة يطرح لنا الافكار لتفادى هذه المشكلة -
طريقة عمل واجهه لفورم الاعدادات فى البرنامج
ابو جودي replied to safaa salem5's topic in قسم الأكسيس Access
بسيطة تروحى للموضوعا هنا