اذهب الي المحتوي
أوفيسنا

ادراج البيانات حسب الفورم المفتوح


النجاشي

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

السلام عليكم احبتي

السلام عليكم احبتي عندي ثلاثه نماذج عندما اضغط f3 يفتح لي نموذجfrm_Search_New

فالمطلوب اريد  كود عند الضغط على زر امر  ادارج  او يكون بحدث عند الضغط علي مفتاح لاسفل يكون افضل بنموذجfrm_Search_New يدرج رقم الصنف للنموذج المفتوح 

انا عملت كود يدرج بنموذجfrmEdrajSenf_1 شغال

لكن بقي frmEdrajSenf_2  وfrmEdrajSenf_

لم استطع اضع الشرط 

تحياتي اليكم احبتي

ادراج البياناتات حسب الفورم المفتوح.mdb

رابط هذا التعليق
شارك

استاذي الكريم @jjafferr لقد استخدمت كود لك عملته لي قبل فتره  وعدلت فيه بعض الحاجات قليلا  لكي يتحرك لاعلي واسفل السجل بالسهم  ونجحت العمليه بعد جهد ثلاثه ابام

القي اليه نظره بارك الله فيك

لعلا يكون فيه اخطاء بالكود او يختصر الكود اكثر من هيك 

تحياتي اليك يالغالي

ادراج البياناتات حسب الفورم المفتوح.mdb

رابط هذا التعليق
شارك

هذه ملاحظاتي:

1. مع ان شاشة الكمبيوتر عندي 23 بوصة ، إلا انني لا ارى كامل النموذج ، فيجب ان تصغر الحقول :

911.Clipboard03.jpg.19b012c44530c11448b1c248cd0293e6.jpg

.

2. الانتقال بين السجلات اعلى واسفل عن طريق الاسهم ،

استخدم حدث الزر الاسفل للنموذج وليس للحقل ، والقيمة الاخيرة من اعدادت النموذج يجب ان تكون "نعم" (لاحظ السهمين الحُمر):

911.Clipboard02.jpg.d4fbfc5b22c7d837ee867d17e4a0fcc9.jpg

.

3. عليه يصبح كود الاسهم اعلى واسفل:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
              
    Me.n2.SetFocus
    
    Select Case KeyCode
  
        Case vbKeyDown
            
            DoCmd.GoToRecord , , acNext
            
        Case vbKeyUp
            
            DoCmd.GoToRecord , , acPrevious
            
        Case vbKeyReturn

            DoCmd.OpenForm "frmEdrajSenf"
            Forms![frmEdrajSenf]![Rajmsanf] = Me.Rajmsanf
            Forms![frmEdrajSenf_sra]![Rajmsanf] = Me.Rajmsanf
            DoCmd.Close acForm, "frm_Search_New", acSaveNo
            
        Case Else
    
            DoCmd.OpenForm "frmEdrajSenf_R"
            Forms![frmEdrajSenf_R]![Rajmsanf] = Me.Rajmsanf
            Forms![frmEdrajSenf_sra]![Rajmsanf] = Me.Rajmsanf
            DoCmd.Close acForm, "frm_Search_New", acSaveNo
        
    End Select
    
End Sub

.

وفي الواقع فنحن لسنا بحاجة الى هذا السطر: Me.n2.SetFocus

ولكن لأنك لم تجعل اي من الحقول يقبل ان يكون عليه التركيز ، فإضطررت الى وضع التركيز على هذا الحقل:smile:

 

اما كود فتح الصفحات ، فأخذته من برنامجك ، ولا علاقة لي به:smile:

 

جعفر

911.ادراج البياناتات حسب الفورم المفتوح.mdb.zip

  • Like 1
رابط هذا التعليق
شارك

استاذي الكريم جعفر بارك الله فيك هذا الا عملته حيث ما كنت اسعي اليه شكرا كثير اليك فحاولت جاهدا ولم استطع الف تحيه اليك يابو الجعافر  فهذه خطوه حلوه 

ولكن ظهرت بعض الملاحظات لم  تنتبه لها 

1-عندما اريد ادرج بنموذج frmEdrajSenf_R  او frmEdrajSenf_sra لا يقوم بالعمل المطلوب

المطلوب يدرج حسب النموذج المفتوح 

2-تعطلت عمليه البحث بنموذجfrm_Search_New بحقل n2 البحث بالرقم او الاسم صار  يغلق الفورم ويدرج بالنموذج الاخري 

اليك القاعده بعد تصغير الحقول

تحياتي اليك يالغالي

 

911.ادراج البياناتات حسب الفورم المفتوح.mdb

تم تعديل بواسطه jjafferr
رابط هذا التعليق
شارك

السلام عليكم اخوي ابو زاهر

 

2. وتم حله:smile:

1. يعني اذا frmEdrajSenf_R  او frmEdrajSenf_sra مفتوح ، لما تضغط على الزر Enter ، تريد بيانات السجل تروح الى النموذج المفتوح؟

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

سيدي الفاضل

 

بدل ان تعرف اي نموذج مفتوح ، بهذا الكود:

Dim n As String: Dim i As Integer: Dim isopen As Boolean
n = "frmEdrajSenf"
isopen = False
For i = 0 To Forms.Count - 1
If Forms(i).FormName = n Then
   isopen = True
End If
Next i
If isopen Then

.

الافضل ان تعرف اي نموذج فتح صفحة البحث ، وعليه ترجع له البيانات ، هكذا:

بدل
Private Sub Rajmsanf_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF3 Then
DoCmd.OpenForm "frm_Search_New", acNormal
End If
End Sub

هكذا نفتح نموذج البحث ، ونرسل له اسم النموذج الذي طلب البحث
Private Sub Rajmsanf_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF3 Then
   '  هنا نرسل اسم النموذج، في آخر امر في السطر، هكذا    
    DoCmd.OpenForm "frm_Search_New", acNormal, , , , , Me.Name
End If
End Sub

.

وعليه يصبح كود ارجاع البيانات الى النموذج المفتوح هكذا:


            Forms(Me.OpenArgs)![Rajmsanf] = Me.Rajmsanf
            DoCmd.Close acForm, Me.Name, acSaveNo

.

جعفر

911.1.ادراج البياناتات حسب الفورم المفتوح.mdb.zip

  • Like 1
رابط هذا التعليق
شارك

17 دقائق مضت, jjafferr said:

سيدي الفاضل

 

بدل ان تعرف اي نموذج مفتوح ، بهذا الكود:


Dim n As String: Dim i As Integer: Dim isopen As Boolean
n = "frmEdrajSenf"
isopen = False
For i = 0 To Forms.Count - 1
If Forms(i).FormName = n Then
   isopen = True
End If
Next i
If isopen Then

.

الافضل ان تعرف اي نموذج فتح صفحة البحث ، وعليه ترجع له البيانات ، هكذا:


بدل
Private Sub Rajmsanf_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF3 Then
DoCmd.OpenForm "frm_Search_New", acNormal
End If
End Sub

هكذا نفتح نموذج البحث ، ونرسل له اسم النموذج الذي طلب البحث
Private Sub Rajmsanf_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF3 Then
   '  هنا نرسل اسم النموذج، في آخر امر في السطر، هكذا    
    DoCmd.OpenForm "frm_Search_New", acNormal, , , , , Me.Name
End If
End Sub

.

وعليه يصبح كود ارجاع البيانات الى النموذج المفتوح هكذا:



            Forms(Me.OpenArgs)![Rajmsanf] = Me.Rajmsanf
            DoCmd.Close acForm, Me.Name, acSaveNo

.

جعفر

911.1.ادراج البياناتات حسب الفورم المفتوح.mdb.zip

استاذي الكريم  ابو الجعافر:fff::fff::fff:

نور الله دربك واعطاك الصحه والعافيه والعمر المديد 

الف الف شكر لانكفي بحقك  وما علينا الا الدعاء لك بظهر الغيب

هذا هو المطلوب واصبح الكود اكثر من روعه مختصر وهذا ما كنت احلم به

تحياتي يالغالي:clapping:

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information