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

كيف احفظ بيانات نموذج ورقة بيانات لشهر السابق وفي نفس الوقت احتفظ بالبيانات لشهر التالي


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

اخواني الاعزاء سالت سابقا هذا السؤال في ملحق سؤال اخر

 

عندي نموذج من نوع  ورقة بيانات اريد احفظ بيانات الشهر السابق واعدل على نفس البيانات لشهر التالي من معاه الحل

222.png

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

11 ساعات مضت, jjafferr said:

1. اعمل حقل من الشهر/السنة ،

2. وحقل الى الشهر/السنة ،

3. وزر يعمل لك نسخ لهذه السجلات.

البيانات التي تم ادخالها لجميع الاشهر ، موجودة في قاعدة البيانات ،

ولما تريد عمل نسخة من شهر معين ، فالبرنامج لا يعرف اي شهر تريد ان تنسخ بياناته ، والى اي شهر ، لذلك

1. يجب ان نخبر البرنامج اننا نريد ان ننسخ بيانات شهر معين ، مثلا شهر 8 لسنة 2017 (والذي هو موجود اصلا في البرنامج) ،

لهذا يجب عمل حقل (Date_From مثلا) "من شهر/سنة" ، من 8/2017 (كذلك قد تريد نسخ بيانات شهر 6 او 7 بدلا من شهر 8 مثلا ، لذا يجب وضع التاريخ في هذا الحقل) ،

2. تريد نسخ بيانات الحقل Date_From الى اي شهر ؟

يجب ان نعمل حقل (Date_To مثلا) "الى شهر/سنة’ ، الى شهر 9/2017 مثلا ،

3. وللقيام بعملية النسخ اعلاها ، نضع كود النسخ والإضافة على زر امر ،

طبعا يجب ان تعمل استعلام الحاقي (Append Query) ، ويكون معيار التاريخ 8/2017 ، وعلى ان تقوم بتحديث التاريخ الى 9/2017 .

 

طبعا هذه التفاصيل تعتمد على تصميم جدولك:smile:

 

جعفر

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

عملتها ولكنها حتذفت جميع البيانات ولم تضهر لي نسخه نفسها او لم افهم فكرتك بضبط للاسف فهمي فيه نظر المسامحة استاذي العزيز ممكن تطبقه على المرفق

تجريبي.rar

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

تفضل

 

استعلام الالحاق

847.Clipboard02.jpg.d4649ee4249eebd10ac294c0ca92aabd.jpg

.

والنموذج

847.Clipboard01.jpg.f1ad7e5e5a73e8a067735a145d10b6c6.jpg

.

وهذا هو الكود الزر


Private Sub cmd_Copy_From_Click()

    If Len(Me.Date_From & "") = 0 Then
        MsgBox "رجاء تعبئة التاريخ - من"
        Me.Date_From.SetFocus
        Exit Sub
    
    ElseIf Len(Me.Date_From & "") = 0 Then
        MsgBox "رجاء تعبئة التاريخ - من"
        Me.Date_From.SetFocus
        
    End If
    
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "qry_Copy_From"
    DoCmd.SetWarnings True
    
    MsgBox "تم نسخ سجلات الشهر " & Me.Date_From & vbCrLf & _
           "الى شهر " & Me.Date_To
           
End Sub

 

جعفر

847.تجريبي.accdb.zip

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

استاذي العزيز شكرا جزيلا على تفاعلك معي الموضوع دئما تقصيري في ايصال الفكرة 

الفكرة هو ان النموذج ورقة البيانات المرفقة كل ماريده هو ان احفظ  منها نسخة حق شهر مثلا 8 في نفس الجدول مع بقى البيانات نفسها لشهر التالي لتعديل عليها لشهر 9 لان الاسماء نفس الاسماء كل شهر فقط يعدل عددايام الحضور والتاريخ الذي كان لكم الفظل في انه يكتب مباشرتا

ففي شهر 8     مثلا اسم سالم محمد عدد ايام حضوره 20 يوم ولكن في شهر 9 حضوره 15 يوم وشهر 10 عدد ايام حضور 19 يوم اريد ارجوع للبيانات كل شهر 

وفي نفس الوقت تظل البيانات معروضه في نفس النموذج 

الموضوع الاخر

بخصوص استعلام الحاق تبعي هو يحلق البيانات الى جدول بيانات المصروفات الاساسي بس المطلوب هو الحقها مرة واحدة فقط بسبب خطاء النقر على زر الحاق البيانات عدة مرات في الشهر الواحد وكذلك تكرر الحاق الشهر الثاني ولا يوجد معيار يقف التكرار في جميع الحقول 

لان الرقم يتكرر شهريا والتاريخ والاسم الى اخرها 

حاولت عن طريق رقم المعرف 

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

اخي طاهر

 

تم عمل بعض التعديلات على البرنامج:

بالاضافة الى الصور اعلاه ،

الجدول قبل الاضافة

847.Clipboard03.jpg.59402aa4193eb5de765d7f7cee53b55b.jpg

.

وبعد الاضافة

847.Clipboard04.jpg.5b685211f8e822ba92edb02d5f073243.jpg

.

والكود لا يسمح بنسخ البيانات ، اذا كان هناك سجل واحد من البيانات موجود في الجدول مسبقا


Private Sub cmd_Copy_From_Click()

    A = "Format([Forms]![الموظفين]![Date_From],'mmyyyy')"
    A = DCount("*", "sarfyomi1", "Format([التاريخ],'mmyyyy')=" & A)
    
    B = "Format([Forms]![الموظفين]![Date_To],'mmyyyy')"
    B = DCount("*", "sarfyomi1", "Format([التاريخ],'mmyyyy')=" & B)
    
    If Len(Me.Date_From & "") = 0 Then
        MsgBox "رجاء تعبئة التاريخ - من"
        Me.Date_From.SetFocus
        Exit Sub
    
    ElseIf Len(Me.Date_From & "") = 0 Then
        MsgBox "رجاء تعبئة التاريخ - من"
        Me.Date_From.SetFocus
        Exit Sub
        
    ElseIf A = 0 Then
        MsgBox "لا توجد بيانات لنسخها من الشهر" & vbCrLf & Me.Date_From
        Exit Sub
        
    ElseIf B > 0 Then
        MsgBox "بيانات الشهر " & vbCrLf & Me.Date_To & vbCrLf & "موجودة في الجدول"
        Exit Sub
        
    End If
    
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "qry_Copy_From"
    DoCmd.SetWarnings True
    
    MsgBox "تم نسخ سجلات الشهر " & vbCrLf & Me.Date_From & vbCrLf & vbCrLf & _
           "الى شهر " & vbCrLf & Me.Date_To
           
End Sub

 

جعفر

847.تجريبي.accdb.zip

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

اخي الفاظل جزاك الله الف خير انت قربت لي حل الجزئية الثانية بحوال طبقها 

ولكن المطلوب الاصلي هو حفظ ورقة البيانات الفرعية في نفس جدولها من الجدول الاصل الموظفين ولكن مع بقاء جميع البيانات معروضة كماهي لتعديل عليها في الشهر التالي دون ادخالها مرة ثانية لانها تحتوي على اسماء كثيرة (محدد دائرة في الصورة على بعض من البيانات دون تكرار) 

3333.JPG

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

حاولت استاذي العزيز في نموذج منفصل وجديد وجرب بنفسك سوي جدول بنوعية ورقة بيانات مش مفرد وقوم بالحفظ ستحفظ البيانات لكن تحتاج انك تقوم باعادة ادخلها في الشهر التالي من جديد  ولكن في اكسل تسوي نسخ لصفحة حق شهر 8  وتسميها لشهر 9 وتعدل عليها فقط ايام الحضور مع التاريخ وهذا ماريده واقصده هنا بضبط

 

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

هو اهم شي اني اريد عرض البيانات في الجدول نفسها وعند الرجوع لتاريخ في النموذج الاصلي (فترة التاريخ لشهر 8) المكتوبه فوق على يسارك جنب الزرار التفريع يرجع بنفس البيانات الشهر وعنما اعود الى شهر 9 تكون نفس شهر 9 وعندما اقلب الشهر 10 عدل عليها واحفظها  نفس نظام الصفحات في اكسل وحاولت طبقها على ادات الصفحات في اكسس يظل الجدول والبيانات نفسها نفسها 

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

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

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



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

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

Important Information