-
Posts
3029 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
119
كل منشورات العضو Foksh
-
لعلك قمت بحذف جداول النظام المخفية في القاعدة
-
ولا يهمك أخي الكريم @figo82eg ، في منتدانا إن شاء الله تجد الحل لأي مشكلة قد تواجهك . أهلا وسهلاً بك
-
اخي الكريم سبب ماذا ؟ مساحة ماذا ؟؟ تحويل ماذا ؟؟
-
تفضل أخي @salah.sarea . لديك طريقتين للنسخ الإحتياطي لقاعدة البيانات المقسمة ، وتم انشاء كود جديد للإستعادة . بيانات.zip
-
تفضل محاولتي أخي الكريم @figo82eg . New Microsoft Access Database.accdb
-
تم التعديل بطريقة أخرى ,, Private Sub Text26_BeforeUpdate(Cancel As Integer) Dim inputValue As String Dim validCharacters As String Dim i As Integer validCharacters = "RAFBDIQ0123456789" inputValue = Nz(Me.Text26.Value, "") For i = 1 To Len(inputValue) If InStr(validCharacters, Mid(inputValue, i, 1)) = 0 Then MsgBox "ÅÏÎÇá ÍÑæÝ ÛíÑ ÕÍíÍ", vbExclamation, "Error" Cancel = True Exit Sub End If Next i End Sub حيث Text26 اسم مربع النص في نموذجك
-
ممكن التوضيح أكثر 🤔 وإن كنت قد فهمت من حديثك ما تصورته ، فجرب هذا الكود Private Sub YourTextbox_KeyPress(KeyAscii As Integer) ' تحقق من أن الحرف المكتوب هو أحد الأحرف "RAFBDIQ" أو إحدى الأرقام من 0 إلى 9 If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) And _ Not (KeyAscii >= Asc("A") And KeyAscii <= Asc("Z")) And _ Not (KeyAscii >= Asc("a") And KeyAscii <= Asc("z")) Then ' إلغاء الحرف إذا لم يكن مسموحًا KeyAscii = 0 End If End Sub يقوم هذا الكود بمنع إدخال أي حرف غير مسموح به من قبل المستخدم ، وذلك عن طريق إلغاء الحرف إذا لم يكن أحد الأحرف "RAFBDIQ" أو إحدى الأرقام من 0 إلى 9.
-
InStr(1, ..., "TYA") تستخدم للبحث عن تواجد السلسلة "TYA" في القيمة المحولة إلى أحرف كبيرة. إذا كانت "TYA" موجودة في النص، ستكون قيمة الدالة غير صفرية، وإذا لم تكن موجودة، ستكون القيمة صفر ارسل مرفق ، او افتح موضوع جديد ان كان على غير صلة بهذا الموضوع 😊
-
Private Sub manner_BeforeUpdate(Cancel As Integer) ' التحقق مما إذا كانت القيمة المدخلة تحتوي على أحد الرموز المطلوبة If InStr(1, UCase(Me.manner.Value), "TYA") = 0 And InStr(1, UCase(Me.manner.Value), "LKA") = 0 Then ' عرض رسالة تحذيرية للمستخدم MsgBox "يرجى عدم نسيان كتابة الرمز Tya أو Lka", vbExclamation, "تحذير" ' إلغاء التحديث ليظل المستخدم في نفس الحقل Cancel = True End If End Sub في هذا الكود، تم استخدام UCase لتحويل النص إلى أحرف كبيرة للتحقق بغض النظر عن حالة الحروف. والتحقق من وجود "TYA" أو "LKA" في القيمة المدخلة. إذا لم يتم العثور على أي من هذين الرمزين، سيتم عرض رسالة تحذيرية وإلغاء التحديث ليظل المستخدم في نفس الحقل
-
هل الرمز هذا شرط أن يكون في مربع النص manner ؟ جرب هذا الكود في حدث قبل التحديث Private Sub manner_BeforeUpdate(Cancel As Integer) ' التحقق مما إذا كانت القيمة المدخلة تحتوي على الرمز المطلوب If InStr(Me.manner.Value, "tya") = 0 Then ' عرض رسالة تحذيرية للمستخدم MsgBox "يرجى عدم نسيان كتابة الرمز tya", vbExclamation, "تحذير" ' إلغاء التحديث ليظل المستخدم في نفس الحقل Cancel = True End If End Sub
-
Private Sub أمر3_Click() On Error GoTo Err_Handler ' يتم استخدام DoCmd.GoToRecord للانتقال إلى سجل جديد في النموذج الحالي DoCmd.GoToRecord , , acNewRec Exit_أمر3_Click: Exit Sub Err_Handler: ' يمكنك إضافة إجراءات للتعامل مع الأخطاء هنا، على سبيل المثال: MsgBox "حدث خطأ: " & Err.Description Resume Exit_أمر3_Click End Sub
-
كل العذر منك أخي @سامر محمود ، ولكن صدقني لو قلتلك بسبب العمل من بعد منتصف الشهر الماضي للآن ومضغوطين بجولة سنة وتجديد بعض الأمور . لكن تبارك الله الأساتذة وبجهود أستاذنا @kkhalifa1960 أفادوا أفضل مني 😊. ولنا في القريب نشاركات ، ما تخاف 😅
-
On Error GoTo Err تستخدم لتحديد ملف العناصر التي سيتم تنفيذها عند حدوث خطأ في التنفيذ. هذه البنية تقوم بتوجيه التنفيذ إلى علامة معينة (في هذه الحالة Err) عند حدوث خطأ. عندما يحدث خطأ، سيتم تنفيذ الكود الذي يأتي بعد العلامة المحددة (في هذه الحالة Err). هذا يسمح لك بالتعامل مع الخطأ بشكل مخصص، مثل تسجيل الخطأ، إظهار رسالة توضيحية، أو تنفيذ إجراءات إصلاح . كمثال :- Sub Example() On Error GoTo ErrHandler ' ... الكود هنا Exit Sub ' تجنب تنفيذ ErrHandler بعد الانتهاء بشكل صحيح ErrHandler: ' إجراءات للتعامل مع الخطأ هنا MsgBox "حدث خطأ: " & Err.Description End Sub هنا يتم توجيه التنفيذ إلى ErrHandler عند حدوث أي خطأ، ويمكنك تنفيذ الإجراءات اللازمة للتعامل مع الخطأ في الجزء المحدد.
-
حتى تتوضح لي الصورة .. تريد ان تستورد جدول في قاعدة بيانات مقفلة بمفتاح Shift فقط وأن تستبدله بجدول آخر بنفس الإسم ؟ 🤔
-
تباارك الله ، ما شااء الله ، عمل جميل وجهود رائعة منكم معلمنا الفاضل @ابوخليل و أستاذنا الحبيب @kkhalifa1960 . جزاكم الله خيرا على هذا الطرح المتكامل 🥰
-
من وجهة نظري في آكسيس ، ليس هناك طريقة مباشرة للتراجع إلى الخلف بخطوة واحدة بمجرد حدوث خطأ. ومع ذلك، يمكنك تحقيق هذا السلوك بتخزين حالة السجل الحالي أو القيمة السابقة واستعادتها في حالة حدوث خطأ. على سبيل المثال ، إذا كنت تقوم بتعديل سجل في جدول ، يمكنك تخزين القيمة الأصلية قبل التعديل ، وإذا حدث خطأ ، يمكنك استعادة القيمة الأصلية . إلخ ، يمكنك تحقيق فعل ما يشبه التراجع خطوة واحدة. هذا يتطلب بناء نظام إدارة الأخطاء والتعامل مع الحالة بشكل مناسب. يمكن أن تكون هذه عملية تعقيد حسب نطاق التطبيق ومتطلبات الأداء. ومن باب التوضيح ببن جملتي تحاوز الأخطاء ، هذا توضيح بسيط DoCmd.SetWarnings False تُستخدم لتعطيل رسائل التحذير في Access. عندما تكون هذه الجملة مُفعّلة (True هو القيمة الافتراضية)، ستظهر رسائل تحذير للمستخدم عند تنفيذ أوامر معينة، مثل حذف سجلات. يُفضل استخدامها عند القيام بعمليات قد تؤدي إلى فقدان بيانات أو تغييرات هامة وتريد تجنب ظهور رسائل التحذير. On Error Resume Next يستخدم لتجاوز الأخطاء والمتابعة في تنفيذ الكود بدلاً من إيقافه عند حدوث خطأ. إذا حدثت أي أخطاء، فإن الكود يستمر في التنفيذ بدلاً من الإيقاف عند الخطأ. يُستخدم بشكل عام عندما تكون على دراية بالأخطاء المحتملة وتريد متابعة تنفيذ الكود بشكل متواصل دون التوقف عند حدوث خطأ. تحتاج إلى استخدام هذه الجمل وفقًا لاحتياجات محددة لتحقيق السلوك المطلوب في التطبيق الخاص بك
-
مشاركة مع الأستاذ @kkhalifa1960 ، وإن كنت قد فهمت المطلوب بشكل صحيح إليك هذه الفكرة . أولا سنقوم بإنشاء جدول بشكل تلقائي ؛ وسيكون اسمه Tbl_Rep كمثال . ثانياً سنقوم بإدراج نتيجة الفلترة والتي تمت حسب ما يلي :- التاريخ من - إلى اسم الصنف - داخل هذا الجدول مع العلم أن الجدول هو مصدر التقرير Bayan . ثالثاً سنقوم بعرض التقرير بناءً على السجلات التي تم اختيارها . وأخيراً المرفق bayan _ prin.accdb
-
اخي الكريم في المرفق خلل ، اهتم بسلامة المرفق حتى لا تتشعب الأمور ويتجه الأخوة لتصحيح الأخطاء بدلاً من حل المشكلة المطلوبة .
-
للأسف لا
-
شرح لرسائل الخطأ الذي تظهر في الاكسس
Foksh replied to Luqman Khooshnaw's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته أخونا الكريم ،، أخي من خلال الصور الواضح أن قاعدة البيانات تالفة للأسف . وكمحاولة انشىء قاعدة بيانات جديدة وقم بمحاولة استيراد من القاعدة التالفة إلى القاعدة الجديدة ( عل وعسى ) أن تنجح الفكرة . -
أيضاً كمشاركة أخرى Me.RecordSource = "SELECT cert.* FROM cert WHERE (((cert.[Lot])=[Forms]![cer]![Text8]));"
-
كنت سابقاً قد اعتمدت في محاولة التفعيل عن بعد لبرنامجي على مثل هذه الفكرة ، لذا جرب هذا الكود عله يفيدك Private Sub CommandButton_Click() Dim filePath As String Dim fileContent As String ' تحديد معرف الملف على Google Drive filePath = "https://drive.google.com/uc?export=download&id=1KMBf9MxyB7gnrjev2TXkPUbZDuwXK12i" ' قراءة محتوى الملف fileContent = GetFileContent(filePath) ' وضع قيمة الملف في مربع النص Me.Textbox.Value = fileContent End Sub Function GetFileContent(filePath As String) As String Dim xmlHTTP As Object Set xmlHTTP = CreateObject("MSXML2.ServerXMLHTTP") ' إرسال طلب HTTP للحصول على الملف xmlHTTP.Open "GET", filePath, False xmlHTTP.send ' إرجاع محتوى الملف كنص GetFileContent = xmlHTTP.responseText End Function وحيث أن CommandButton هو اسم الزر في نموذجك. و Textbox هو اسم مربع النص الذي سيتم جلب القيمة له من الملف.