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

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

قام بنشر

وعليكم السلام:smile:

 

انت عملت علاقة بين الجداول ، مما يعني ان السجل في الجدول Sand_T يجب ان يحتوي على قيم جميع الحقول المرتبطة في الجداول الاخرى.

 

1. انت عملت علاقة بين جدولي Sand_T و ExpenseName ،

2. مما يعني ان قيمة الحقل ExpeneseID يجب ان تُدخلها في النموذج "سند صرف" ، بغض النظر عن نوع السند ،

3. وهذه الرسالة تُخبرنا عن سبب عدم الحفظ ، بسبب 1 و 2 اعلاه

958.Clipboard01.jpg.d1fd9cfb080b2d9e6ddee893ed9cf085.jpg

.

جعفر

  • Like 1
قام بنشر

أستاذنا الكبير @jjafferr جعفر  شكرا على ردك ومرورك الكريم

هل ممكن أن تقوم بتعديل الملف حتى تكتمل الرؤية

لأني حاولت وقمت بألغاء العلاقة ونفس المشكلة ... وكذلك لا أريد أن يتم أدخال رقم المصروف في النموذج لأني أعتمد على عدة جداول وأنما يدخل رقم الحركة  SnID من جدول Sand_T

مع العلم أستاذنا أنا أحترمك على كل أبدعاتك وحلولك للمشكلات في المنتدى .. أنت قدوتنا .. فجزاك الله عنا كل خير

قام بنشر

أكرر شكري لك أستاذنا الكبير .. @jjafferr جعفر على جهدك وسرعة ردك

لكن هناك مشكلة في ظهور الاسم للمورد والعميل .. الخ ما الحل لعمل ذلك؟

 

قام بنشر (معدل)
16 ساعات مضت, ابو ياسين المشولي said:

[جرب


DoCmd.OpenForm "frm2 ", acNormal
Me.tr.SetFocus

 

انا اعتذر كان قصدي الرد بهذا الموضع ولا اعرف كيف تلخبطت

 

تم تعديل بواسطه ابو ياسين المشولي
  • Like 2
قام بنشر (معدل)

أستاذ @jjafferr واخي @ابو ياسين المشولي  

عند التجريب لاحظت أمرين هامين وهما:

1- عند الانتقال للتالي والسابق لا يتم ظهور الاسم فكيف يتم اظهاره
2- كيف يمكن أضهار الاسم (المستفيد) في حقل [ExpenseName] في التقرير

بارك الله فيكما .. وزادكم الله علماً ونفعاً للجميع

مرفق الملف مع التقرير

958.سند قبض.rar

تم تعديل بواسطه qathi
قام بنشر (معدل)

أستاذنا @jjafferr هذا هو المطلوب أشكرك على جهدك الرائع .. أستاذنا ورزقك الله رضاه والجنة  

أستاذنا حتى تعم الفائدة أكثر ونستفيد من علمكم ، ممكن شرح الكود المضاف في الطلب رقم (1- عند الانتقال للتالي والسابق لا يتم ظهور الاسم فكيف يتم اظهاره)  حتى نفهم ألية عمله

وكذلك الكود المضافة .Column(1) الخاص بأظهار الاسم عند تحديد المستفيد في النموذج ، لماذا تم تحديد رقم 1 رغم أن الاسم في الجدول هو في الحقل الثاني من ترتيب الجدول 

واعذرني أن أشغلتك أستاذنا

 

تم تعديل بواسطه qathi
قام بنشر (معدل)

بعد اذن اخي جعفر 

سوف اشرح ماتم عمله من قبل الاخ جعفر

تم عمل داله وهي كالاتي

Function make_visible()
On Error GoTo err_make_visible

    [EmployeeID].Visible = False
    [SuppliersID].Visible = False
    [CustomersID].Visible = False
    [ExpenseID].Visible = False

    If [Stype] = "سند صرف موظف" Then
        [EmployeeID].Visible = True
        Me![الاسم] = Me![EmployeeID].Column(1)

    ElseIf [Stype] = "سند صرف مورد" Then
        [SuppliersID].Visible = True
        Me![الاسم] = Me![SuppliersID].Column(1)

    ElseIf [Stype] = "سند صرف المصروفات" Then
        [ExpenseID].Visible = True
        Me![الاسم] = Me![ExpenseID].Column(1)

    ElseIf [Stype] = "سند صرف عميل" Then
        [CustomersID].Visible = True
        Me![الاسم] = Me![CustomersID].Column(1)

    End If

Exit_Function:

Exit Function
err_make_visible:

    If err.Number = 2165 Then
        'cannot hide a control which has focus
        'ignore it
        Resume Next
    Else
        MsgBox err.Number & vbCrLf & err.Description
    End If
    
End Function
    
ثم تم استدعها عند التالي والسابق والاو والاخير
هكذا
Call make_visible

 

شرح.jpg

تم تعديل بواسطه ابو ياسين المشولي
  • Thanks 2
قام بنشر (معدل)

أستاذ @jjafferr واخي @ابو ياسين المشولي  

كلمات الشكر والتقدير لن تفي حقكما علينا .. بارك الله فيكما .. ونفع الله المسلمين بكما .. وجعل الله علمكما منازل عليا ترتقوا بها في الجنة

تم مراجعة الكود وفهم الية عملة

تم تعديل بواسطه qathi
  • Like 1
قام بنشر

شكرا اخوي ابو ياسين على الشرح:smile:

 

لما نعمل الكود ، نقوم بوضعه في الاحداث الصحيحة (مثل ما قمت انت بعمله) ،
ولكن بعد اكتمال الكود ، نلقي نظرة على الكود ، ونحاول ان لا نجعل فيه تكرار لأسطر معينه (خصوصا بعدد الاسطر في كودك) ، وانما نحاول ان نضع هذه الاسطر المتكررة في دالة منفصله ونناديها من كل حدث ، وسبب قيامنا بهذه العملية هي في الواقع ليس لتفادي التكرار ، وانما اذا اردنا تعديل هذه الجزئية ، فلا نضطر الى تعديلها في كل الاحداث ، وانما هي دالة واحدة نعدلها والحمدلله:smile:

 

14 ساعات مضت, ابو ياسين المشولي said:

ثم تم استدعها عند التالي والسابق والاو والاخير هكذا

لا وانت الصادق ابو ياسين ، انا لم المس كود هذه الاحداث ،

ولكن في حقيقة الامر ، ان هذه الاحداث تغير السجل الحالي ، لهذا السبب فقد تم مناداة دالة الكود في حدث "الحالي" في النموذج ، فيقوم بهذه الطريقة التعامل مع كل سجل حالي عليه التركيز في النموذج:smile:

 

جعفر

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

اخي جعفر

نعم هي كما قلت في حدث الحالي

انا حاولت اوصله المعلومه

ومنتظر ردك كي نستفيد اكثر واكثر

دائما اقولها 

نحن تلميذكم

منكم نستفيد

ونحاول نتعلم ونفهم

ولهذا المنتدى والمشرفين والاعضاء الخير الكثير من ماتعلمناه

تحياتي لك اخي جعفر

تم تعديل بواسطه ابو ياسين المشولي
  • Like 1

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