safaa salem5 قام بنشر سبتمبر 1 قام بنشر سبتمبر 1 (معدل) عند الضغط على close تخرج رساله كالاتى حدث خطأ اثناء حفظ البيانات the microsoft access database engine does not recognise 'main' as a vaild name or expression انا اكتشفت ان الرساله بتخرج فقط فى حاله وجود سجل فى الجدول اما فى حالة عدم وجود سجل(اضافة السجل لاول مره ) لاتخرج رساله ويعمل بشكل طبيعى مع العلم ان المفروض الجدول دا عباره عن سجل واحد فقط لاغير لانه جدول اعدادات ممكن تحديث حقوله فقط Private Sub SaveColorToTable() Dim db As DAO.Database Dim rs As DAO.Recordset Dim activeField As String Dim fieldNamePrefix As String Dim criteria As String On Error GoTo ErrorHandler ' الحصول على الحقل النشط من النموذج activeField = Forms!settings_font_color_frm.activeField ' التحقق مما إذا كان النموذج محملاً If CurrentProject.AllForms("settings_font_color_frm").IsLoaded Then ' تعيين قاعدة البيانات وفتح سجل Set db = CurrentDb Set rs = db.OpenRecordset("settings_Report_tbl", dbOpenDynaset) ' التحقق مما إذا كان الحقل النشط غير فارغ If Not IsNull(activeField) Then ' تحديد البادئة لاسم الحقل fieldNamePrefix = activeField ' إعداد معايير البحث بناءً على الحقل النشط criteria = fieldNamePrefix & " IS NOT NULL" rs.FindFirst criteria If Not rs.NoMatch Then ' تحديث السجل إذا كان موجودًا rs.Edit rs.fields(fieldNamePrefix & "color").Value = Me.Text.ForeColor rs.fields(fieldNamePrefix & "size").Value = Me.Text.FontSize rs.fields(fieldNamePrefix & "font").Value = Me.Text.FontName rs.fields(fieldNamePrefix & "bold").Value = Me.Text.FontBold rs.fields(fieldNamePrefix & "slope").Value = Me.Text.FontItalic rs.fields(fieldNamePrefix & "underline").Value = Me.Text.FontUnderline rs.Update MsgBox "تم تحديث السجل بنجاح.", vbInformation Else ' إضافة سجل جديد إذا لم يكن هناك سجل موجود rs.AddNew rs.fields(fieldNamePrefix & "color").Value = Me.Text.ForeColor rs.fields(fieldNamePrefix & "size").Value = Me.Text.FontSize rs.fields(fieldNamePrefix & "font").Value = Me.Text.FontName rs.fields(fieldNamePrefix & "bold").Value = Me.Text.FontBold rs.fields(fieldNamePrefix & "slope").Value = Me.Text.FontItalic rs.fields(fieldNamePrefix & "underline").Value = Me.Text.FontUnderline rs.Update MsgBox "تم إضافة سجل جديد بنجاح.", vbInformation End If Else MsgBox "الحقل النشط غير محدد.", vbExclamation End If ' إغلاق السجل وتحرير الموارد rs.Close Set rs = Nothing Set db = Nothing Else MsgBox "النموذج غير محمل.", vbExclamation End If Exit Sub ErrorHandler: MsgBox "حدث خطأ أثناء حفظ البيانات: " & Err.Description, vbExclamation If Not rs Is Nothing Then rs.Close Set rs = Nothing End If If Not db Is Nothing Then Set db = Nothing End If End Sub تم تعديل سبتمبر 3 بواسطه ابوخليل تنسيق الكود ... نرجو الاهتمام بتنسيق الكود
ابوخليل قام بنشر سبتمبر 3 قام بنشر سبتمبر 3 5 ساعات مضت, safaa salem5 said: مش متعوده ما الاقيش اجابه لسؤالى فى المنتدى تنسيق الكود مهم جدا لتتبع قراءة الكود والبحث عن المشكلة الحل : عطلي هذا السطر rs.FindFirst criteria
safaa salem5 قام بنشر سبتمبر 3 الكاتب قام بنشر سبتمبر 3 (معدل) 10 hours ago, ابوخليل said: تنسيق الكود مهم جدا لتتبع قراءة الكود والبحث عن المشكلة الحل : عطلي هذا السطر rs.FindFirst criteria تمام متشكره جدا لحضرتك هل ممكن اضيف للكود لبعض الحقول انه يتم تخزين قيمة حقل اللون فقط كدا يعنى rs.fields(fieldNamePrefix & "color").Value = Me.Text.ForeColor تم تعديل سبتمبر 3 بواسطه safaa salem5
ابوخليل قام بنشر سبتمبر 3 قام بنشر سبتمبر 3 لم افهم الطلب بالضبط لأن السطر موجود فعلا ضمن الكود اذا القصد الاكتفاء بلون الخط فقط .. نعم ليه لا .. يتم فقط تعطيل بقية الاسطر الخاصة بالصفات الأخرى
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.