اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كل الانشطه

هذه الصفحة تحدث تلقائياً

  1. الساعة الأخيرة
  2. السلام عليكم بداية مع تيقني بان مشاركة اخيا الشايب غير مرحبا بها من قبل البعض ولكن هذا الموضوع قد يؤثر على الحقوق الفكرية للاخرين هنا اتفق مع استاذنا @AbuuAhmed حتى وان لم يتم التوصل للاكود فان المبرمج يملك الحقوق الفكرية للجداول والاستعلامات والنماذج والتقارير كل جزء من البرنامج يمثل حق خاص لصاحبة نسخ او نقل او استيراد او الاطلاع على عرض التصميم او تسهيل ذلك للاخرين بدون اذن من صاحب الحق يعتبر اعتداء على الحقوق بارك الله فيك استاذ @ابو جودي واعتقد ان الكل متفق على ذلك بالنسبة لمثل هذه البرامج اجد ان نشرها في العلن ضرره اكبر من نفعة واستذكر هنا نقاش تم قبل سنوات بين الاستاذ الفاضل @jjafferr والاخ متقاعد غفر الله لنا وله عندما اشار متقاعد الى طريقة التعديل او اضافة زر امر في ملفات اكسس accde عن طريق استنساخ القاعدة للحصول على نسخة نمماثلة ثم عمل كراك يقوم بزرع الامر ولكن بحكمة وحرص الاستاذ جعفر اوقف النقاش عند حد معين وتم حذف الموضوع. اخيرا الاستاذ @Foksh اخ فاضل ولا اتصور ان لديه نية للإضرار بالاخرين واتمنى منه حذف البرنامح وان يبقية لاستخدامه حسب الطلب بعد ان يتأكد ان طالب الخدمة له حقوق البرنامج والله الموفق املاه اخونا الفاضل شايب
  3. Today
  4. لا تتخوف اخي ابو خليل الحصول على الكود المصدري ليس كما تظن انا اظن اذا كان الجهاز قد انزل عليه ملفACCDE ولم يكن تخزين ACCDB عليه ثم خزن ك ACCDE فاعتقد استحالة استرجاع الكود المصدري نسة تاكدي 99.9%💪 والجواب عند اخي Foksh اما الحالة الاخرى فغير متاكد😅 اخي AbuuAhmed قولك لأسف الشديد بسبب موضوعكم هذا اضطررت لحذف برامجي العلمية المنشورة على الإنترنت والتي كانت ينتفع بها لا اجد داعي لذلك لا تتخوفوا كثيرا هو فقط للان لم تظهر الاكواد نماذج بدون اكواد اصيحت متحمسا لتنزيل VITRUALBOX لتنزيل OFFICE 64بت وتجربة مرفقFoksh
  5. الاخ الفاضل الاستاذ عبدالرحيم شكرا على الاهتمام المطلوب عند الوقوف فى شيت المشتريات او المبيعات او شيت مبيعات اليومية عند تسجيل صنف يتم البحث عن الصنف من شيت المخزن بدل الرجوع الى شيت المخزن ويتم البحث منه وتكون نتيجة البحث فى الشيتان اسم الصنف والكود فقط
  6. هو فعلا موجود ومتاح للجميع بمقابل اخونا خليفة وحسب ما ذكره يملك واحدا منها سابقا وفي اصدارات mde حصلت من الانترنت ومجانا على ملف يستخرج جميع الكائنات بلا اكواد واعتقد انها ليست صعبة على مبرمج محترف ولكن لدي نصيحة صغيرة لأبي وسام .. انه اذا توصل الى استرجاع الكود ان يحتفظ به لنفسه ولا ينشره . وسيجني من ذلك فائدتين : 1- تحقيق الامانة العلمية وحفظ حقوق الآخرين 2- مصدر باب رزق له .. كثيرون يمرون بهذه المشكلة العصيبة .. وهنا يكون هو المسؤول عن هذا الرزق وبابه الشرعي .
  7. الحياة دين وخلق ومبادئ، ومن يفقد أحدها لا يُستغرب منه التهاون بخصوصية الناس وحقوقهم، لأن ما يصدر عن الإنسان إنما يكشف ما بداخله؛ كأن ينشر محادثات خاصة، أو يستخدم صورًا من محادثات خاصة، أو يلوّح بالتهديد في الخفاء، ثم يتظاهر أمام الناس بأن الأمر مجرد نقاش أو مزاح فلا تتعجب استاذ @AbuuAhmed
  8. يبقى انتهاكا للحقوق وإن قام به الآخرون، وهو كذلك "انتهاكا" لقوانين الموقع، فكم من مواضيع قام المراقبون والمشرفون بإغلاقها وصد ناشريها، فلما تمارسونها؟! ممكن الموقع يقدم خدمات (مثلا) كإزالة كلمة مرور فقط لمالك برنامج بعد التثبت من ملكيته له، أما أكثر من ذلك فلا أراه صائبا.
  9. وندوز 10 اوفيس 10 32 بت انجلش وهذه النتيجة وعند الموافقة تظهر الصورة الاخرى جامدة ولا يتم الغلق الا من خلال تاسك منجر الصورة السفلى هي من تظهر اولا
  10. وعليكم السلام ورحمة الله وبركاته.. بدايةً أتمنى أن تجد رداً لطلباتك التي تطمح بتحقيقها . ولكن يا عزيزي الفاضل ، ما تطلبه ليس طلباً واحداً. أنت ترغب بتحويل مشروع من جداول يدوية الى نماذج آلية ؛ والعمل لن يكون بسيطاً كما تتصوره. لذا أنصحك بالتدرج في طلباتك خطوة خطوة ، بحيث يكون لكل طلب موضوع مستقل ، ثم تقوم بتجميع الحلول من الأخوة والأساتذة المتقدمين لمد يد العون والمساعدة لك . وهم كثر والحمد لله. دمت بخير 😇
  11. Yesterday
  12. حياك الله اخي أبو أحمد.. موضوعي هذا ليس طفرة جينية جديدة ، بل سبقه برامج كثيرة وبمميزات أكبر موجودة في الإنترنت.
  13. استاذنا الكبير moosak اشكرك على المتابعة و العناية و سرعة الرد و استفسارى !!! هل تم ايقاف تنشيط خيارات المعالجات عند اختيارها يتم التلوين للتأكد من تنشطها الرسالة الدائمة و المتكررة (حدث خطأ أثناء الاتصال بالخادم: Error: حدث خطأ أثناء المعالجة: فشل أثناء لمعالجة الكود) هل هذة رسالة عارضة مرجعها النت مثلا ارجو التوضيح لو امكن مع كامل الشكر و التقدير
  14. لأسف الشديد بسبب موضوعكم هذا اضطررت لحذف برامجي العلمية المنشورة على الإنترنت والتي كانت ينتفع بها.
  15. بعد إذن أستاذى hegazee الاهلاوى 2007 طلب المساعدة غير واضح تم حل مشكلة التعجب الموجودة فى ورقة التقرير إضافة دالة IFERROR 1 _ شهر ابريل1 2026.xlsm
  16. تم معالجة المشكلة ولله الحمد .. 👍🙂 تم نقل الصفحة لموقع آخر يعمل بشكل مجاني .. وهذا هو الرابط الجديد وقد تم تحديثه أيضا في المشاركة الأساسية : https://script.google.com/macros/s/AKfycbwNEw1mNkjqgRndgyLnC89MLYI2C6UiEE-jlRNET0v__nAK377nD8WFkGHnmaTIvxgx/exec
  17. ما شاء الله .. الله اكبر .. اللهم بارك ايه الجمال والحلاوة دى
  18. مشاركةً مع استاذي @ابو جودي تفضل استاذ @بلال بلال الشرح والمرفق حسب مافهمت . ووافني بالرد . قاعدة بيانات- بلال.rar
  19. السلام عليكم ورحمة الله تعالى وبركاته بادئ ذي بدء هذا الموضوع يعد مهما وحيويا لمصممي ومطوري النظم أكثر من المستخدم العادي جاءت فكرة هذا الموضوع بناء على موضوع سابق كان بعنوان: مطلوب إظهار الساعة تعمل داخل النموذج (الساعة والدقائق والثواني) من غير استخدام عداد (تايمر) النموذج ومن أهم ما ورد فيه هذا الاقتباس: 1- 2-وهذا الاقتباس: في الموضوع السابق كانت الفكرة تمثل حلا تقليديا لأنها اعتمدت على Timer آخر للمراقبة وهذا لم يكن مناسبا لأنه يظل يعمل أثناء تعديل الأكواد داخل محرر VBA لكن بفضل الله سبحانه وتعالى توصلت إلى حل مختلف تماما يعتمد على: TimerInterval الخاص بالنموذج نفسه مراقبة ظهور واختفاء محرر VBA استخدام Hook عند تغيير النافذة النشطة بدلا من الاعتماد على Timer إضافي فكرة العمل باختصار عند فتح النموذج يبدأ TimerInterval إذا تم فتح محرر VBA يتم إيقاف التايمر فورا عند إغلاق المحرر والعودة إلى نماذج قاعدة البيانات المفتوحة يتم تشغيل التايمر من جديد تلقائيا وفورا لا حاجة لتمرير اسم النموذج الرئيسي أو اسم عنصر الـ Subform يدويا لأن الكود يكتشف ذلك تلقائيا المطلوب فقط هو تمرير اسم عنصر التحكم الذي سيتم عرض الوقت فيه أيا كان نوعه: Label أو TextBox مميزات الحل يعمل مع النموذج الرئيسي أو المستقل يعمل مع النموذج الفرعي يعمل مع أكثر من نموذج في نفس الوقت يدعم عنصر العرض سواء كان Label أو TextBox لا يعتمد على Timer إضافي للمراقبة الوحدة النمطية العامة باسم : basSmartClock Option Compare Database Option Explicit #If VBA7 Then Private Declare PtrSafe Function SetWinEventHook Lib "user32" ( _ ByVal eventMin As Long, _ ByVal eventMax As Long, _ ByVal hmodWinEventProc As LongPtr, _ ByVal pfnWinEventProc As LongPtr, _ ByVal idProcess As Long, _ ByVal idThread As Long, _ ByVal dwFlags As Long) As LongPtr Private Declare PtrSafe Function UnhookWinEvent Lib "user32" ( _ ByVal hWinEventHook As LongPtr) As Long Private Declare PtrSafe Function GetAncestor Lib "user32" ( _ ByVal hwnd As LongPtr, _ ByVal gaFlags As Long) As LongPtr #Else Private Declare Function SetWinEventHook Lib "user32" ( _ ByVal eventMin As Long, _ ByVal eventMax As Long, _ ByVal hmodWinEventProc As Long, _ ByVal pfnWinEventProc As Long, _ ByVal idProcess As Long, _ ByVal idThread As Long, _ ByVal dwFlags As Long) As Long Private Declare Function UnhookWinEvent Lib "user32" ( _ ByVal hWinEventHook As Long) As Long Private Declare Function GetAncestor Lib "user32" ( _ ByVal hwnd As Long, _ ByVal gaFlags As Long) As Long #End If Private Const CLOCK_INTERVAL_MS As Long = 1000 Private Const EVENT_SYSTEM_FOREGROUND As Long = &H3 Private Const WINEVENT_OUTOFCONTEXT As Long = &H0 Private Const GA_ROOT As Long = 2 Private gHook As LongPtr Private gAccessHwnd As LongPtr Private gClocks As Object Private Sub EnsureClockStore() If gClocks Is Nothing Then Set gClocks = CreateObject("Scripting.Dictionary") End If End Sub Private Function MakeClockKey(frm As Access.Form) As String On Error GoTo EH Dim p As Access.Form Dim ctlName As String Set p = frm.Parent ctlName = GetSubformControlName(p, frm) If Len(ctlName) > 0 Then MakeClockKey = p.Name & "|" & ctlName & "|" & frm.Name Exit Function End If EH: MakeClockKey = frm.Name End Function Private Function CreateClockState(frm As Access.Form, ByVal ClockControlName As String) As Object Dim d As Object Set d = CreateObject("Scripting.Dictionary") Dim isSub As Boolean Dim parentName As String Dim subCtlName As String On Error Resume Next parentName = frm.Parent.Name subCtlName = GetSubformControlName(frm.Parent, frm) isSub = (Len(subCtlName) > 0) On Error GoTo 0 d.Add "Key", MakeClockKey(frm) d.Add "HostFormName", frm.Name d.Add "ParentFormName", parentName d.Add "SubformControlName", subCtlName d.Add "IsSubform", isSub d.Add "ClockControlName", ClockControlName d.Add "WasStoppedByVBE", False Set CreateClockState = d End Function Public Sub StartSmartClock(frm As Access.Form, ByVal ClockControlName As String) On Error GoTo EH EnsureClockStore Dim key As String Dim state As Object key = MakeClockKey(frm) If gClocks.Exists(key) Then gClocks.Remove key End If Set state = CreateClockState(frm, ClockControlName) gClocks.Add key, state frm.TimerInterval = CLOCK_INTERVAL_MS If gAccessHwnd = 0 Then gAccessHwnd = Application.hWndAccessApp End If If gHook = 0 Then gHook = SetWinEventHook( _ EVENT_SYSTEM_FOREGROUND, _ EVENT_SYSTEM_FOREGROUND, _ 0, _ AddressOf ForegroundChangedProc, _ 0, _ 0, _ WINEVENT_OUTOFCONTEXT) End If Exit Sub EH: End Sub Public Sub StopSmartClock(frm As Access.Form) On Error Resume Next EnsureClockStore Dim key As String key = MakeClockKey(frm) frm.TimerInterval = 0 If gClocks.Exists(key) Then gClocks.Remove key End If If gClocks.Count = 0 Then If gHook <> 0 Then UnhookWinEvent gHook gHook = 0 End If Set gClocks = Nothing End If End Sub Public Sub SmartClockTimer(frm As Access.Form) On Error Resume Next EnsureClockStore Dim key As String Dim state As Object key = MakeClockKey(frm) If Not gClocks.Exists(key) Then Exit Sub Set state = gClocks(key) If Application.VBE.MainWindow.Visible Then state("WasStoppedByVBE") = True frm.TimerInterval = 0 Exit Sub End If SetClockDisplay frm, state("ClockControlName"), Format$(Now(), "dd/mm/yyyy, hh:nn:ss AM/PM") End Sub Private Sub SetClockDisplay(frm As Access.Form, ByVal ClockControlName As String, ByVal ClockText As String) On Error Resume Next Dim ctl As Access.Control Set ctl = frm.Controls(ClockControlName) If ctl Is Nothing Then Exit Sub Select Case ctl.ControlType Case acTextBox ctl.Value = ClockText Case acLabel ctl.Caption = ClockText End Select End Sub Private Function GetSubformControlName(parentFrm As Access.Form, childFrm As Access.Form) As String On Error Resume Next Dim ctl As Access.Control For Each ctl In parentFrm.Controls If ctl.ControlType = acSubform Then If ctl.Form Is childFrm Then GetSubformControlName = ctl.Name Exit Function End If End If Next ctl End Function Private Function GetStateTargetForm(state As Object, ByRef frm As Access.Form) As Boolean On Error GoTo EH If state("IsSubform") Then If (SysCmd(acSysCmdGetObjectState, acForm, state("ParentFormName")) And acObjStateOpen) = 0 Then Exit Function Set frm = Forms(state("ParentFormName")).Controls(state("SubformControlName")).Form Else If (SysCmd(acSysCmdGetObjectState, acForm, state("HostFormName")) And acObjStateOpen) = 0 Then Exit Function Set frm = Forms(state("HostFormName")) End If GetStateTargetForm = Not (frm Is Nothing) Exit Function EH: Set frm = Nothing End Function #If VBA7 Then Public Sub ForegroundChangedProc( _ ByVal hWinEventHook As LongPtr, _ ByVal eventId As Long, _ ByVal hwnd As LongPtr, _ ByVal idObject As Long, _ ByVal idChild As Long, _ ByVal dwEventThread As Long, _ ByVal dwmsEventTime As Long) #Else Public Sub ForegroundChangedProc( _ ByVal hWinEventHook As Long, _ ByVal eventId As Long, _ ByVal hwnd As Long, _ ByVal idObject As Long, _ ByVal idChild As Long, _ ByVal dwEventThread As Long, _ ByVal dwmsEventTime As Long) #End If On Error Resume Next If gClocks Is Nothing Then Exit Sub If gClocks.Count = 0 Then Exit Sub If GetAncestor(hwnd, GA_ROOT) <> gAccessHwnd Then Exit Sub Dim k As Variant Dim state As Object Dim frm As Access.Form For Each k In gClocks.Keys Set state = gClocks(k) If state("WasStoppedByVBE") Then If GetStateTargetForm(state, frm) Then frm.TimerInterval = CLOCK_INTERVAL_MS SetClockDisplay frm, state("ClockControlName"), Format$(Now(), "dd/mm/yyyy, hh:nn:ss AM/PM") state("WasStoppedByVBE") = False End If End If Next k End Sub مثال الاستدعاء إذا كان العرض داخل Label Option Compare Database Option Explicit Private Sub Form_Open(Cancel As Integer) StartSmartClock Me, "lblClock" End Sub Private Sub Form_Timer() SmartClockTimer Me End Sub Private Sub Form_Unload(Cancel As Integer) StopSmartClock Me End Sub مثال الاستدعاء إذا كان العرض داخل TextBox Option Compare Database Option Explicit Private Sub Form_Open(Cancel As Integer) StartSmartClock Me, "txtDClock" End Sub Private Sub Form_Timer() SmartClockTimer Me End Sub Private Sub Form_Unload(Cancel As Integer) StopSmartClock Me End Sub كما تلاحظون كود الاستدعاء هو نفسه لأي نموذج سواء كان: رئيسيا فرعيا منفردا أو أكثر من نموذج معا إذا كان عرض الوقت داخل النموذج يعتمد على عنصر من النوع: Label إذا كان عرض الوقت داخل النموذج يعتمد على عنصر من النوع: TextBox كل المطلوب فقط هو تمرير اسم عنصر التحكم المستخدم في عرض الوقت ايا كان نوعه ( Label/TextBox ) : StartSmartClock Me, "اسم_عنصر_التحكم" وفى النهاية أسأل الله أن ينفع به إذا كان لدى أحد الأساتذة العظماء أو الإخوة الكرام أي ملاحظة على الكود أكون شاكرا جدا. مع خالص التحية SmartClock.accdb
  20. أتمنى من خبراء الـ VBA مساعدتي في إخراج هذا العمل بشكل "رائع" يليق بمستوى هذا المنتدى العريق. شكراً جزيلاً لكم مسبقاً.
  21. برمجة اكسل.xlsبرمجة اكسل.xlsm السلام عليكم ورحمة الله وبركاته، إخواني الخبراء في منتدى أوفيسنا، تحية طيبة وبعد.. أعمل حالياً على تطوير نظام لإدارة بيانات مركز ترفيهي يحتوي على عدة مناطق (نسيم، حديقة، حميدة). قمت بتصميم واجهة إدخال يدوية ، ولكنني أطمح لتحويلها إلى UserForm احترافي وشامل، بالإضافة إلى بناء نظام تقارير وإحصاءات.و اضافة الالعاب في المناطق الثلاثة المطلوب من كرمكم: واجهة إدخال (UserForm): تصميم فورم يجمع كافة الخانات الموجودة في الواجهة (قونفلابل، قطار، طومبناج، عدد العمال.. إلخ). منع تكرار التاريخ: أرغب في كود ذكي يقوم بالبحث في ورقة (Data) قبل الترحيل؛ فإذا كان التاريخ مسجلاً مسبقاً يقوم بـ "تحديث" البيانات بدلاً من تكرار السطر. نظام تقارير وإحصاء: إضافة ميزة لاستخراج إحصائيات يومية أو شهرية بناءً على البيانات المخزنة في ورقة (Data). جمالية التصميم: يفضل أن تكون الألوان متناسقة واحترافية (ألوان هادئة وتدرجات تليق بنظام إداري).
  22. وهذا المرفق فى حالة وضع الكود فى وحدة نمطية عامة لاستخدامة فى اكثر من نموذج ComboDropdown_V2.accdb
  23. انا مش فاهم السؤال كويس لكن بقدر الامكان حسب فهمى المتواضع استخدم الكود التالى اما على مستوى النموذج او فى وحدة عامة Private m_LastForm As String Private m_LastCombo As String Public Function ToggleDropdCombo(frm As Form, ByVal strObjComboName As String) As Boolean On Error GoTo Err_Handler Dim strObjButtonName As String strObjButtonName = Screen.ActiveControl.Name If m_LastForm = frm.Name And m_LastCombo = strObjComboName Then frm.Controls(strObjButtonName).SetFocus GoTo Clean_Exit Else frm.Controls(strObjComboName).SetFocus frm.Controls(strObjComboName).Dropdown m_LastForm = frm.Name m_LastCombo = strObjComboName End If ToggleDropdCombo = True Exit Function Reset_Exit: Clean_Exit: m_LastForm = vbNullString m_LastCombo = vbNullString ToggleDropdCombo = True Exit Function Err_Handler: m_LastForm = vbNullString m_LastCombo = vbNullString MsgBox Err.Description, vbExclamation, "ToggleDropdCombo" ToggleDropdCombo = False End Function على اعتبار ان زر الامر اسمه : ToggleButtonName وان مربع السرد اسمه : ComboName يكون الاستدعاء بالشكل التالى Private Sub ToggleButtonName_Click() ToggleDropdCombo Me, "ComboName" End Sub ويستخدم نفس سطر الاستدعاء السابق مع زر أخر ومربع تحرير وسرد اخر فقط بتغير : ComboName الى اسم مربع التحرير والسرد الاخر مرفق للتجربة ComboDropdown.accdb
  24. السلام عليكم لدي نموذج فرعي فيه اريد عند وضع الماوس أم الزر تظهر القائمة المسندلة اليكم الصورة فيها الشرح 1 قاعدة بيانات.accdb _1146714590913439_8483909941377199527_n.bmp
  25. هل توقف عمل البرنامج VBA CODE DOCTOR حاولت استخدمة و لكن تلك الرسالة الدائمة حتى بعد التكرار Error: Server Error The server encountered an error and could not complete your request. Please try again in 30 seconds. منتظر الرد
  1. أظهر المزيد
×
×
  • اضف...

Important Information