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

عمر ضاحى

الخبراء
  • Posts

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

  • تاريخ اخر زياره

  • Days Won

    9

كل منشورات العضو عمر ضاحى

  1. ارف نسخه مصغره للاستعلام نجرب عليه
  2. وايضا انا جربت على وندوز 7 وشغال تمام اعتقد ان المشكلة ممكن فى اعدادات اللغه عندك (محتمل)
  3. الطرق كثيره وكل واحد وطريقته لكن فى الغالب ممكن بدل ما تعمل استعلام ممكن تستخدم اكواد السيكول داخل الاكواد افضل حتى يصعب الوصول للجدول واكوادك المهم انك تتخيل الية العمل وتحاول تجد افضل الطرق للتنفيذ والاكثر فاعليه
  4. جرب تشغل اوفس 2016 نسخة 64بت
  5. لا ادري ما المشكلة لديك فى الكمبيوتر
  6. والله لا ادري ما السبب الطبيعي انه يعمل جيدا معك هل يظهر لك خطأ عند محاولة فتح الفورم وهل جربت تضغط عليهم كلهم انا حاليا بعيد عن الكمبيوتر علشان اقدر اساعدك بالاتصال على كمبيوتر بالتيم فيور لكن ننتظر رد الاخوة والاساتذة الكرام فى تجربة الملف لديهم
  7. راجع المكتبات فى الملف الذى الموجود هنا بالملف الاصلى ال معك ثانيا تأكد من ان الجداول مطابقة او عدل فى الكود بما يتناسب مع الاختلفات فى الجدول فى الملف ال هنا مع الاصلى
  8. اتفضل هذا الملف الخاص بك بعد التعديل كان لا بد لك ان تراجع الكود واذا لم تفهم الفكره تكت لكى نشرح لك الفكره لان الغرض هنا فى المقام الاول لهذا الصرح العظيم هو التعليم اولا ما قمت بعمله هو كالاتى جعلت جميع نوع البيانات فى الجدول من نوع نص قمت باضافة حقلين جدد وهو Other والمقصود منه Type بصراحة كسلت اعدلها ^_^ (اى نوع الفورم "هل هو نموذج ام تقرير") واضفة ايضا ObjName اسم العنصر (اسم الفورم الذى سوف يفتح من الشجرة) ثم قمت باضافة هذا الكود On Error GoTo HandleError Dim IDListObj, IDPriName As Double Dim strObjName, xOtheR As String 'هنا انا بحدد رقم المعرف للفورم من الشجرة لانه هيكون هو معياري IDListObj = Right(Me.TreeView2.SelectedItem.Key, Len(Me.TreeView2.SelectedItem.Key) - 1) ' IDPriName = Nz(DLookup("[Code]", "[Family]", "[ID] =" & IDListObj & "")) 'انا هنا بحاول اوصل لاسم الفورم او التقرير المسجل فى الجدول الخاص ب الاسم المسجل فى الشجرة strObjName = DLookup("[ObjName]", "[Family]", "[ID]=" & IDListObj & "") 'هنا انا محتاج اعرف نوع العنصر ال هيفتح هل هو فورم ولا تقرير xOtheR = DLookup("[Other]", "[Family]", "[ID]=" & IDListObj & "") ' MsgBox IDPriName & " - " & strObjName & " - " & xOtheR 'هنا الكود الخاص بعملية الفتح للنماذج او التقارير If strObjName = "Close" Then Select Case MsgBox(Buttons:=vbYesNo + vbQuestion, Prompt:="هل تريد غلق البرنامج؟", Title:="تنبيه!") Case vbYes DoCmd.Quit acQuitSaveAll Case vbNo Exit Sub End Select Else If xOtheR = "Report" Then DoCmd.OpenReport strObjName, acViewPreview ElseIf xOtheR = "Form" Then DoCmd.OpenForm strObjName, , , , , acDialog End If End If HandleExit: Exit Sub HandleError: If err.Number = 0 Then Exit Sub ElseIf err.Number = 94 Then ' MsgBox "لم يتم تسجيل اسم النموذج فى القائمه بعد؛؛؛" Exit Sub ElseIf err.Number = 2478 Then Exit Sub Else MsgBox err.Number & vbNewLine & vbNewLine & err.DESCRIPTION End If Resume HandleExit اخير اتفضل الملف بعد التعديل شجرة TREE.rar
  9. الملف معي بيفتح النموذج من ضغطه واحده بشكل طبيعي ممكن تنظر للصورة القادمة
  10. اولا باعتذر عن التأخر فى الرد لظروف الشغل وبعد اذن استاذي / @ابوخليل اسمح لى بالمداخله هذه وهذا حل اخر يمكنك الاستفاده منه وطبعا افضل لك وانصح لك ان تتبع تعليمات استاذى فى عد ادخال اللغه العربيه فى مسميات الجداول والاكواد قدر المستطاع هناك مواضيع فى المنتدي تقدم دائما افضل النصائح للمبتدئين وانا عن نفسي اتعلمت الكثير منهم سائل المولى عز وجل ان يجعله فى ميزان حسناتهم tree.rar
  11. هتلاقى طريقه اراها جيده جدا فى الحمايه ممكن تتطلع عليها هنا غير ان الموضوع اصلا بيتكلم عن الحمايه والخلاصه (فاراى ان الموضوع تكرار) ف ممكن تكتب فكرتك هناك وطريقة تنفيذها فعليا
  12. لا اعتقد ان هيكون الموضوع بهذه السهوله اذا كانت قاعدة البيانات من النوع ACCDE (القاعدة التى سوف تفتح البرنامج "الواجهه") فهنا استحالة انه يوصل للكود حتى لو معه الباسورد ^_^ (عارف ان مفيس مستحيل لكن على الاقل هذا يتطلب مستوي عالى جدا من الخبره) وبما ان الواجهه نفسها مغلقه بكلمة سر (معقده) والخلفيه مغلقه بكلمة سر معقده ايضا فهيكون من شبه المستحيل كسرها والله اعلم
  13. جرب هذا الكود Sub ChangeAccessClientSettings() ' Set "Move After Enter" setting (True/False) Application.SetOption "MoveAfterEnter", False ' Change to True if you want to enable it ' Set arrow key behavior (0 = Normal, 1 = Move the control) Application.SetOption "ArrowKeyBehavior", 0 ' Change to 1 if you want to move the control ' Set default record locking (0 = No Locks, 1 = Edited Record, 2 = All Records) Application.SetOption "DefaultRecordLocking", 0 ' Change to the desired value ' Set default commit behavior (0 = Deferred, 1 = Immediate) Application.SetOption "DefaultCommitBehavior", 0 ' Change to the desired value ' Set default open mode for databases (0 = Exclusive, 1 = Shared) Application.SetOption "DefaultOpenMode", 0 ' Change to the desired value ' Set navigation keys (True/False) Application.SetOption "UseNewRow", True ' Change to False if you don't want to use the new row ' Save the changes Application.SaveUserOptions End Sub
  14. وهذه لتوضيح الفكره يفضل ان يكون المجلد فى حرف D علشان يكون مسار البرنامج هو D:\DB\Start.accde لتجنب اخطأ الربط DB.rar
  15. وممكن ان يقوم المبرمج بغلق القاعدة الخلفيه والاماميه بكلمات سر ويعمل قاعدة ثالثه لتشغيل القاعدة الاماميه بالاعتماد على هذا الكود كود اخفاء الاكسيس او اظهارها (اختياري ومش هتفرق وجودها) Option Compare Database Option Explicit #If VBA7 Then Public Declare PtrSafe Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long #Else Public Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long #End If '---------------------------------------------------(يخفي الشاشة بتصغيرها للأسفل ولكنها تظهر إذا عملت ماكسيمايز) Public Function HideAccess() Call ShowWindow(Access.hWndAccessApp, 2) End Function '---------------------------------------------------(لإظهار شاشة الأكسس) Public Function ShowAccess() Call ShowWindow(Access.hWndAccessApp, 9) End Function كود تشغيل قاعدة البيانات الاخري Private Sub Form_Load() Call HideAccess Dim acc As Access.Application Dim db As DAO.Database Dim strDbName As String strDbName = CurrentProject.Path & "\" & "FFFF" & ".accdb" Set acc = New Access.Application acc.Visible = True acc.OpenCurrentDatabase strDbName, False, "1234" Set db = acc.CurrentDb() acc.UserControl = True Application.Quit End Sub على فرض ان القاعدة الاماميه باسم FFFF وان كلمة السر هي 1234 ويقوم باغلاق القاعدة الثالثه بتحويلها الى accde وبكده اعتقد هتكون الحمايه عاليه جدا وهيكون صعب كسر كلمة السر
  16. الموضوع ان شاء الله فكرته بسيطه (لكن الموضوع متشعب وكبير واكيد هيكون من الصعب احد عمله لك كله مره واحده) اولا لازم تتخيل شكل القيد (ويكون هناك المعلومات كاملة مثل هل ببتعامل مع الضريبه ؟ هل عندك شجرة الحسابات مظبوطه وتعرف الدائن والمدين وتعرف متي يكون الحساب دائن ومتي يكون الحساب مدين) نيجي لطريقة التنفيذ اولا احنا هنا هنستخدم استعلامات الاكسيس (الالحاقي والحذف والتعديل) وكل عمله قد تطر الى عملها اكثر من مره حيث من المعروف ان اي قيد بسيط يتكون من سطرين فاكثر فكل سطر فى القيد له استعلام الحاقي خاص به مثال :- (المثال هنا لتقريب الفكره وهتحتاج مراجعة المحاسبين عندك حتى يكون شكل القيد سليم) ( ايضا هل انت شغال بنظام الجرد الدوري ام بالمستمر لان شكل القيد بيختلف) عندي مثلا فاتورة مشتريات قيمتها 1150 ريال منها 150 ريال ضريبه الشكل الطبيعي للقيد (والله اعلم قد اكون مخطئ) هذا القيد للمشتريات ( فيه 5 اسطر اي هيكون معنا 5 استعلمات الحاقي وفى حال التعديل على الفاتورة هيكون معنا 5 استعلمات تحديث ايضا وفى حال الحذف هيكون معنا استعلام حذف معياره رقم القيد ) انا عن نفسي باقوم بتسجيل الفاتورة دون قيود بعمل زر يقوم بحذف جميع البيانات فى جدول القيود (الخاصه بالفواتير) وعمل الحاق بالبيانات كلها (الفواتير كلها مره واحده) هذه العمليه باعملها لما اكون محتاج اعمل ميزانيه او ارباح وخسائر ....... ولتبسيط فكرة الاستعلام فى السطر الاول (هتعمل استعلام الحاقي الى جدول قيود الفواتير مثلا هتجيب اجمالى الفاتورة وتضع قيمته فى جانب الدائن وفى البيان هتكتب مثلا عبارة فاورة رقم : وباقى البيانات ياخذها من الفورم وهكذا طبعا مع ملاحظه ان هناك فواتير دون ضريبه وفواتير اجله ونقديه وووو لهذا فانت هتحتاج اولا عمل ملف اكسيل بجميع انواع الفواتير للمشتريات ومرتجع المشتريات بحالاتهم (الاجله والنقدية والجذء نقدية) وايضا نفس القصه مع المبيعات بحالاتهم (الاجله والنقدية والجذء نقدية) علشان تقدر تنظم القيود لهذا الموضوع محتاج جهد ووقت لان تقريبا قد تصل عدد الاستعلامات الى 70 استعلام علشان تجعل الموضوع بشكل الى وقد يزين عن هذا بكثير حسب الحالات والموضوع قد يطول معك لذا كن صابرا وبالتوفيق ان شاء الله
  17. ينفع تعمل لي حساب عليه لان دولتى غير متاح لفتح حساب عليه
  18. هو تقريبا محتاج حد يساعده على تصميمه انا حاولت لكن لقيت فيها لغبطه مش عارف احلل بياناتها فقولت انتظر واتعلم
  19. هذا هو المطلوب بارك الله فيك استاذى الكريم
  20. هل هذا ما تريد ؟ انظر الى المرفق ولتوضويح ما تم قمت بعمل حدث للقائمة بعد التحديث If C = "08سا-10سا" Then dim1.ControlSource = "dim_w_8" dimA.ControlSource = "dim_m_8" lun1.ControlSource = "lun_w_8" lunA.ControlSource = "lun_m_8" mar1.ControlSource = "mar_w_8" marA.ControlSource = "mar_m_8" mer1.ControlSource = "mer_w_8" merA.ControlSource = "mer_m_8" jeu1.ControlSource = "jeu_w_8" jeuA.ControlSource = "jeu_m_8" Else dim1.ControlSource = "dim_w_10" dimA.ControlSource = "dim_m_10" lun1.ControlSource = "lun_w_10" lunA.ControlSource = "lun_m_10" mar1.ControlSource = "mar_w_10" marA.ControlSource = "mar_m_10" mer1.ControlSource = "mer_w_10" merA.ControlSource = "mer_m_10" jeu1.ControlSource = "jeu_w_10" jeuA.ControlSource = "jeu_m_10" End If خلاص كده ^_^ لا تنسي افضل اجابه ^_^ BASE.rar
  21. السلام عليكم ورحمة الله وبركاته كما هو موضح من العنوان عاوز كود يجلب لى الخطوط الموجوده فى النظام ويضعها لى فى قائمة منسدلة ثم اريد كود اخر يقوم بتطبيق هذا الخط الذى سوف اختا ره من القائمة على جميع النماذج عن طريق مناداة فى مديول هل يمكن تنفيذ هذه الافكار فى الاكسيس ؟ مرفق ملف للعمل عليه ForTest.rar
  22. الطريقه دي مش مشكله هو عاوز يظهر جميع البيانات و يقدر يظهر صنف معين اما الطريقه دي عادية هتظهر صنف واحد دائما
×
×
  • اضف...

Important Information