Matin_Murad قام بنشر April 11 قام بنشر April 11 (معدل) في حالة ادخال عدد كثير من سجلات الى فورم فرعي مستمر ( فورم فرعي مستمر يهتز ) و هذا شيء غير جميل . اريد وقف اهتزاز فورم فرعي مستمر M13.rar تم تعديل April 11 بواسطه Matin_Murad توضيح اكثر
Foksh قام بنشر April 11 قام بنشر April 11 وعليكم السلام ورحمة الله وبركاته .. هناك عدة أسباب بعد النظر الى طريقة كتابة الكود .. أذكر منها :- عمليات التحديث المتكررة : الكود يقوم بـ Me.Refresh عدة مرات مما يجبر النموذج على إعادة رسم نفسه . الانتقال بين السجلات : استخدامك لـ DoCmd.GoToRecord و Me.Recordset.FindFirst يتسبب في إعادة تحميل البيانات . أيضاً إيقاف تحذيرات النظام : DoCmd.SetWarnings False/True المتكرر قد يؤثر على أداء النموذج . التحديث المستمر للعناصر : إعادة تعيين Me.txtsave إلى Null مرتين متتاليتين . جرب التعديل التالي للكود على جهازك .. Private Sub txtsave_AfterUpdate() On Error GoTo ErrorHandler DoCmd.SetWarnings False Application.Echo False Dim x1, x2, x3, barw, n, x Dim barcodeValue As String barcodeValue = Me.txtsave.Value x1 = Nz(DLookup("barcode", "tabl1", "[barcode]='" & barcodeValue & "'"), 0) x2 = Nz(DLookup("barcode", "tabl1", "[barcodeset]='" & barcodeValue & "'"), 0) x3 = Nz(DLookup("barcode", "tabl1", "[barcodecarton]='" & barcodeValue & "'"), 0) If x1 = 0 And x2 = 0 And x3 = 0 Then Me.txtsave = Null DoCmd.Beep Me.txtsave.SetFocus GoTo CleanUp End If barw = Nz(DLookup("barcode", "tabl1", "[barcode]='" & barcodeValue & "'"), 0) If barw > 0 Then If Nz(DCount("barcode", "tabl2", "[barcode]='" & barcodeValue & "'"), 0) > 0 Then Me.Recordset.FindFirst "barcode='" & barcodeValue & "'" Me.Qtyplas = Me.Qtyplas + 1 Else DoCmd.GoToRecord , , acNewRec n = DLookup("[barcode]&'|'&[INAME]&'|'&[sal_price]&'|'&[Qtyplas]", "tabl1", "[barcode]='" & barcodeValue & "'") x = Split(n, "|") Me.barcode = x(0) Me.INAME = x(1) Me.sal_price = x(2) Me.Qtyplas = x(3) End If End If Me.txtsave = Null Me.txtsave.SetFocus CleanUp: Application.Echo True DoCmd.SetWarnings True Exit Sub ErrorHandler: MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical Resume CleanUp End Sub هذه بعض التغييرات والأسباب التي رأيتها ، ما لم يكن هناك حلول أفضل أخرى
Matin_Murad قام بنشر April 11 الكاتب قام بنشر April 11 شكر استاذ : هل يوجد حل اخر ( يوجد DLookup بسيط فقط ) ايضا يهتز عند اضافة اكثر من 7 سجلات او اكثر ... 16.rar
hanan_ms قام بنشر April 12 قام بنشر April 12 من قيمة فقط DlookUp اذاهاب الى سجل جديده جرب اضافة زر في النموذج الرئيسي خارج فرعي DOA اضافة سجل مع الفحص لتكوين Dim Ttb3 As Recordset Dim Key1,key2,key3 Set Ttb3 = CurrentDb.OpenRecordset("اسم_جدولك") Ttb3.AddNew Ttb3![اسم_الحقل] = Key1 'Ttb3![اسم _الحقل] = Key2 Ttb3![اسم _الحقل] = Key3 Ttb3.Update DoEvents الفرعي استخدم تحديد Forms.(اسم_النموذج).form(اسم_النموذج_الفرعي).Requery او استخدم Form_اسم_النموذج_الفرعي.Requery نفترض انشاء مفتاح تسلسل يوجد موضوع لاستاذي @ابو جودي ☕☕❤️🌹 في طريقة اضافة اداة Tools من ActiveX 😇
Foksh قام بنشر April 12 قام بنشر April 12 12 ساعات مضت, Matin_Murad said: شكر استاذ : هل يوجد حل اخر ( يوجد DLookup بسيط فقط ) ايضا يهتز عند اضافة اكثر من 7 سجلات او اكثر ... 16.rar 76.37 kB · 4 downloads حاول التعديل بحيث يكون مربع النص المخصص للإدخال في النموذج الرئيسي بدلاً من الفرعي وإجراء تعديلاتك على هيكلة الكود بحيث يتعامل مع نموذج فرعي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.