اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر (معدل)

في حالة ادخال عدد كثير من سجلات الى فورم فرعي مستمر ( فورم فرعي مستمر يهتز ) و هذا شيء غير جميل . اريد وقف اهتزاز فورم فرعي مستمر

 

M13.rar

تم تعديل بواسطه Matin_Murad
توضيح اكثر
  • Matin_Murad changed the title to فورم فرعي مستمر يهتز ..
قام بنشر

وعليكم السلام ورحمة الله وبركاته ..

هناك عدة أسباب بعد النظر الى طريقة كتابة الكود .. أذكر منها :-
 

  • عمليات التحديث المتكررة : الكود يقوم بـ 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

 

هذه بعض التغييرات والأسباب التي رأيتها ، ما لم يكن هناك حلول أفضل أخرى :wub: 

قام بنشر

شكر استاذ : هل يوجد حل اخر ( يوجد DLookup بسيط فقط ) ايضا يهتز عند اضافة اكثر من 7 سجلات او اكثر ... 

16.rar

قام بنشر

 من قيمة فقط 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 😇

 

قام بنشر
12 ساعات مضت, Matin_Murad said:

شكر استاذ : هل يوجد حل اخر ( يوجد DLookup بسيط فقط ) ايضا يهتز عند اضافة اكثر من 7 سجلات او اكثر ... 

16.rar 76.37 kB · 4 downloads

حاول التعديل بحيث يكون مربع النص المخصص للإدخال في النموذج الرئيسي بدلاً من الفرعي وإجراء تعديلاتك على هيكلة الكود بحيث يتعامل مع نموذج فرعي :rol:

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information