-
Posts
1170 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
8
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو عمر ضاحى
-
الملف شغال تمام كل الملاحظات ال ظهرت معايا تخص الاكواد بدلة جميع الجمل من Declare Function الى Declare PtrSafe Function اما الباقى فيعمل عادي معي لا ارى اى ملاحظات بخلاف الحقل الذى تحت اسم الام حقل يشير الى جدول غير موجود هنا
-
ارفق ملف
-
المكتبات مش من هنا من ال VBA
-
اتأكد من وجود المكتبة Microsoft Office xx.x Object Library طبعا xx.x ده رقم الاصدار بيختلف حسب النسخه ال انت مسطبها
-
حلها بسيط اجعل القيمه الافتراضيه للتاريخ فى الاطراف مصدره التاريخ فى رأس الفاتوره
-
ولو حبيت تحديث ايضا التواريخ الخاصه باطراف الفاتورة كلها الى نفس التاريخ فى راس الفاتورة اعمل استعلام وضع هذا الاكود فى الاستعلام UPDATE [جدول اطراف الطلب] SET [جدول اطراف الطلب].التاريخ = [Forms]![نموزج طلب الانتاج]![التاريخ] WHERE ((([جدول اطراف الطلب].[رقم الطلب])=[Forms]![نموزج طلب الانتاج]![رقم الطلب])); وسمي الاستعلام مثلا InvDateUpdate ثم قم بعمل زر وسمة UpdateDate مثلا وضع هذا الكود فيه DoCmd.SetWarnings (0) DoCmd.OpenQuery "InvDateUpdate" DoCmd.SetWarnings (1) بكده الاطرف هتحمل نفس التاريخ للراس --------------------------------- معلومه مهمه جدا نسيت اذكرها هنا فى بداية كلامي لا تجعل اسماء الجداول باللغة العربيه وايضا اسماء الحقول
-
كما قال لك الاستاذ / @Foksh الغي ارتباط التاريخ بين الراس والاطراف وهتتحل المشكلة برنامج الطلبيات.rar
-
الحمد لله لا تنسي غلق الموضوع باختيار افضل اجابة
-
-
ارف نسخه مصغره للاستعلام نجرب عليه
-
وايضا انا جربت على وندوز 7 وشغال تمام اعتقد ان المشكلة ممكن فى اعدادات اللغه عندك (محتمل)
-
الطرق كثيره وكل واحد وطريقته لكن فى الغالب ممكن بدل ما تعمل استعلام ممكن تستخدم اكواد السيكول داخل الاكواد افضل حتى يصعب الوصول للجدول واكوادك المهم انك تتخيل الية العمل وتحاول تجد افضل الطرق للتنفيذ والاكثر فاعليه
-
جرب تشغل اوفس 2016 نسخة 64بت
-
لا ادري ما المشكلة لديك فى الكمبيوتر
-
والله لا ادري ما السبب الطبيعي انه يعمل جيدا معك هل يظهر لك خطأ عند محاولة فتح الفورم وهل جربت تضغط عليهم كلهم انا حاليا بعيد عن الكمبيوتر علشان اقدر اساعدك بالاتصال على كمبيوتر بالتيم فيور لكن ننتظر رد الاخوة والاساتذة الكرام فى تجربة الملف لديهم
-
راجع المكتبات فى الملف الذى الموجود هنا بالملف الاصلى ال معك ثانيا تأكد من ان الجداول مطابقة او عدل فى الكود بما يتناسب مع الاختلفات فى الجدول فى الملف ال هنا مع الاصلى
-
اتفضل هذا الملف الخاص بك بعد التعديل كان لا بد لك ان تراجع الكود واذا لم تفهم الفكره تكت لكى نشرح لك الفكره لان الغرض هنا فى المقام الاول لهذا الصرح العظيم هو التعليم اولا ما قمت بعمله هو كالاتى جعلت جميع نوع البيانات فى الجدول من نوع نص قمت باضافة حقلين جدد وهو 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
-
الملف معي بيفتح النموذج من ضغطه واحده بشكل طبيعي ممكن تنظر للصورة القادمة
-
اولا باعتذر عن التأخر فى الرد لظروف الشغل وبعد اذن استاذي / @ابوخليل اسمح لى بالمداخله هذه وهذا حل اخر يمكنك الاستفاده منه وطبعا افضل لك وانصح لك ان تتبع تعليمات استاذى فى عد ادخال اللغه العربيه فى مسميات الجداول والاكواد قدر المستطاع هناك مواضيع فى المنتدي تقدم دائما افضل النصائح للمبتدئين وانا عن نفسي اتعلمت الكثير منهم سائل المولى عز وجل ان يجعله فى ميزان حسناتهم tree.rar
-
امكانية الارتباط بقاعدة الجداول عند تغيير الامتداد ( اللاحقة)
عمر ضاحى replied to Foksh's topic in قسم الأكسيس Access
هتلاقى طريقه اراها جيده جدا فى الحمايه ممكن تتطلع عليها هنا غير ان الموضوع اصلا بيتكلم عن الحمايه والخلاصه (فاراى ان الموضوع تكرار) ف ممكن تكتب فكرتك هناك وطريقة تنفيذها فعليا -
لا اعتقد ان هيكون الموضوع بهذه السهوله اذا كانت قاعدة البيانات من النوع ACCDE (القاعدة التى سوف تفتح البرنامج "الواجهه") فهنا استحالة انه يوصل للكود حتى لو معه الباسورد ^_^ (عارف ان مفيس مستحيل لكن على الاقل هذا يتطلب مستوي عالى جدا من الخبره) وبما ان الواجهه نفسها مغلقه بكلمة سر (معقده) والخلفيه مغلقه بكلمة سر معقده ايضا فهيكون من شبه المستحيل كسرها والله اعلم
-
جرب هذا الكود 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
-
وهذه لتوضيح الفكره يفضل ان يكون المجلد فى حرف D علشان يكون مسار البرنامج هو D:\DB\Start.accde لتجنب اخطأ الربط DB.rar
-
وممكن ان يقوم المبرمج بغلق القاعدة الخلفيه والاماميه بكلمات سر ويعمل قاعدة ثالثه لتشغيل القاعدة الاماميه بالاعتماد على هذا الكود كود اخفاء الاكسيس او اظهارها (اختياري ومش هتفرق وجودها) 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 وبكده اعتقد هتكون الحمايه عاليه جدا وهيكون صعب كسر كلمة السر