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

اضافة البيانات على السجل الفرعى فقط


إذهب إلى أفضل إجابة Solved by Shivan Rekany,

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

اريد اضافة بيانات على السجل الفرعى حتى اتجنب اضافة سجل جديد بنفس الاسم على السجل الاصلى 

يعنى مثلا اريد اضافة عدد من 6 الى 10 مثلا و لا يأثر على السجلات القديمة 
 

test4.rar

Capture.JPG

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

14 ساعات مضت, محمد احمد لطفى said:

يعنى مثلا اريد اضافة عدد من 6 الى 10 مثلا و لا يأثر على السجلات القديمة

جرب هل هذا هو المطلوب

test4.rar

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

7 دقائق مضت, محمد احمد لطفى said:

بالتجربة بالضغط على الزر الجديد لم يحدث شىء

هل انت متأكد


شوف هذا الفيديو
كيف يزيد

2017-01-17_17-14-18.rar

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

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

شوف

1.png

والنتيجة

2.png

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

اشتغلت بعد تغير الكود 
For i = Forms![test1]![no1] To Forms![test1]![no]
الى 
For i = 0 To Forms![test1]![no] - 1
و تلاظ انه بيكمل العدد اوتوماتك يعنى 
لو اخر رقم كان 4 و انا قولتله ابدء من 10 بيبدأ من 5

معلش انا لسة بتعلم  اكواد 
ممكن عرف اى ماذا تشير 
On Error GoTo g: 
و 
 Dim N As Integer

جزاك الله خيرا

و هناك مشكلة جديدة 
انه بالضغط على 
Command29
يضيف بيانات من نفسة مرة ثانية لانه ليس مرتبط عدد 
مثلا توقفنا عند رقم 2 
و اضافة سجلين جديدين 
يضيف سجل 3  وسجل 4 
لو ضغطنا مرة اخرى يضيف سجل 5 و سجل 6 
 Command Start هل ممكن رطه بالعدد مثل 

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

السلام عليكم ورحمه‌ الله وبركاته
اولا هذا هو الكود اللي اضفت الى قاعدة بياناتك
 

On Error GoTo g:
Dim i As Integer
Dim x As Date
Dim N As Integer
DoCmd.GoToRecord , , acNewRec
x = Forms![test1]![Date_M]
For i = Forms![test1]![no1] To Forms![test1]![no]
N = DMax("[NO]", "Q1", "[ID]=" & Forms![test1]![id1])
Me.date1 = Forms![test1]![Date_M]
Me.serial = Forms![test1]![serial]
Me.date1 = DateAdd("d", Forms![test1]![no2], x)
x = Me.date1
Me.no = N + 1
DoCmd.GoToRecord , , acNext
Next i
DoCmd.Requery
g: Exit Sub

ثانيا

17 دقائق مضت, محمد احمد لطفى said:

عندى ما شتغلتش الا لما بدلت الكود 
Me.no = N + 1
بالكود 
Me.no = DateAdd("d", i, Forms![test1]![no1])

هذا خطأ لان
ME.NO = N + 1
اي يعني
N = اكبر رقم لحقل اي دي NO في استعلام Q1 بشرط ان يكون رقم اي دي في الاستعلام بيكون يساوي اي دي في نموذج رئيسي


Dim N As Integer ' ئين هو متغير بنوع رقمي
N = DMax("[NO]", "Q1", "[ID]=" & Forms![test1]![id1]) 

والاستعلام Q1 هو مصدر نموژج فرعي
وحين قلنا ME.NO = N + 1 اي يعني
اي رقم في استعلام اي يعني في نموذج الفرعي هو اكبر خلي بيزيد 1
وشوف الترتيب الكود لانه هو مهم

ثالثا

26 دقائق مضت, محمد احمد لطفى said:

ممكن عرف اى ماذا تشير 
On Error GoTo g

اي يعني اذا صار مشكلة شو بيعمل 
بيروح الى g
وما هو g 
g: Exit Sub
اي يعني خروج من العمليه‌
 

 

28 دقائق مضت, محمد احمد لطفى said:

Dim N As Integer

كما قلت مسبقا 
هو متغير رقمي باسم ئين 
 

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

1 hour ago, محمد احمد لطفى said:

اشتغلت بعد تغير الكود 
For i = Forms![test1]![no1] To Forms![test1]![no]
الى 
For i = 0 To Forms![test1]![no] - 1
و تلاظ انه بيكمل العدد اوتوماتك يعنى 
لو اخر رقم كان 4 و انا قولتله ابدء من 10 بيبدأ من 5

معلش انا لسة بتعلم  اكواد 
ممكن عرف اى ماذا تشير 
On Error GoTo g: 
و 
 Dim N As Integer

جزاك الله خيرا

و هناك مشكلة جديدة 
انه بالضغط على 
Command29
يضيف بيانات من نفسة مرة ثانية لانه ليس مرتبط عدد 
مثلا توقفنا عند رقم 2 
و اضافة سجلين جديدين 
يضيف سجل 3  وسجل 4 
لو ضغطنا مرة اخرى يضيف سجل 5 و سجل 6 
 Command Start هل ممكن رطه بالعدد مثل 

أسف اشتغلت لما غيرت 
For i = Forms![test1]![no1] To Forms![test1]![no]
الى 
For i = 0 To Forms![test1]![no] - 1
و تلاظ انه بيكمل العدد اوتوماتك يعنى 
لو اخر رقم كان 4 و انا قولتله ابدء من 10 بيبدأ من 5


و هناك مشكلة جديدة 
انه بالضغط على 
Command29
يضيف بيانات من نفسة مرة ثانية لانه ليس مرتبط عدد 
مثلا توقفنا عند رقم 2 
و اضافة سجلين جديدين 
يضيف سجل 3  وسجل 4 
لو ضغطنا مرة اخرى يضيف سجل 5 و سجل 6 
 Command Start هل ممكن ربطه بالعدد مثل 

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

4 hours ago, محمد احمد لطفى said:

المشكلة هنا انه اذا كان اخر سجل  مثلا 3 و اذا بدأت اضافة سجل مثلا رقم 10 الى 15 البرنامج يضيف من رقم  4 الى 15 
بعد اذن حضرتك هل يمكن تكررار نفس الكود 
Command Start
واضافة السجلات فى الاستعلام 

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

17 ساعات مضت, محمد احمد لطفى said:
21 ساعات مضت, محمد احمد لطفى said:

المشكلة هنا انه اذا كان اخر سجل  مثلا 3 و اذا بدأت اضافة سجل مثلا رقم 10 الى 15 البرنامج يضيف من رقم  4 الى 15 
بعد اذن حضرتك هل يمكن تكررار نفس الكود 
Command Start
واضافة السجلات فى الاستعلام 

اتفضل حسب طلبك
 

test4 (2).rar

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

1 hour ago, Shivan Rekany said:

اتفضل حسب طلبك
 

test4 (2).rar

لا توجد الكلمات التى توفيك حقك 

   الخلية عدد 
no
عند كتابة الرقم 10 هوه الوصول الى رقم 10 

يعنى لو كتابنا بداية العد 6 و عدد 10
النتيجة سجلات ستضاف 6 و 7 و8 و 9 . 10

4 سجلات فقط 


الامر
start 
الخلية عدد 
no 
هى عدد السجلات المطلوب اضاتها 
يعنى لو كتابنا بداية العد 6 و عدد 10
النتيجة ستكون 6 و 7 و 8 و 9 و 10و 11 و 12و13و14و15و16 

هنا 10 سجلات 

اعتذر انى قد اكون مش قادر اوصل الفكرة 
وجزاك الله خيرا

Capture.JPG

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

31 دقائق مضت, محمد احمد لطفى said:

لا توجد الكلمات التى توفيك حقك 

   الخلية عدد 
no
عند كتابة الرقم 10 هوه الوصول الى رقم 10 

يعنى لو كتابنا بداية العد 6 و عدد 10
النتيجة سجلات ستضاف 6 و 7 و8 و 9 . 10

4 سجلات فقط 


الامر
start 
الخلية عدد 
no 
هى عدد السجلات المطلوب اضاتها 
يعنى لو كتابنا بداية العد 6 و عدد 10
النتيجة ستكون 6 و 7 و 8 و 9 و 10و 11 و 12و13و14و15و16 

هنا 10 سجلات 

اعتذر انى قد اكون مش قادر اوصل الفكرة 
وجزاك الله خيرا

Capture.JPG

اتفضل هذا هو الكود

On Error GoTo g:
Dim i As Integer
Dim x As Date
Dim N As Integer
DoCmd.GoToRecord , , acNewRec
x = Forms![test1]![Date_M]
Me.no = Forms![test1]![no1] - 1
Me.Refresh
For i = Forms![test1]![no1] To Forms![test1]![no] + Forms![test1]![no1] - 1
N = DMax("[NO]", "Q1", "[ID]=" & Forms![test1]![id1])
Me.date1 = Forms![test1]![Date_M]
Me.serial = Forms![test1]![serial]
Me.date1 = DateAdd("d", Forms![test1]![no2], x)
x = Me.date1
Me.no = N + 1
DoCmd.GoToRecord , , acNext
Next i
DoCmd.Requery
g: Exit Sub

اي بدل هذا السطر قديم
 

For i = Forms![test1]![no1] To Forms![test1]![no]

بهذا الجديد

For i = Forms![test1]![no1] To Forms![test1]![no] + Forms![test1]![no1] - 1

 

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

جزاك الله خير 

عند الضغط على 
Command29
مرات اخرى يضيف يتم التكرار 
مثلا اضفنا الى الرقم 10
بالضغط يزيد من عند 
11

12

13

مع العلم لم يتغير النموذج  الرئيسى 
هل يمكن ان يتوق على الرقم 10

يعنى بالضغط على 
Command29

اكثر من مرة لنفس الاضافة لا يضيف جديد و يتوقف على الرقم 10

مثلا الضغط على 
start 
يتوقف على الرقم 10 ولا يزيد مها تم الضغط على استارت

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

منذ ساعه, محمد احمد لطفى said:

جزاك الله خير 

عند الضغط على 
Command29
مرات اخرى يضيف يتم التكرار 
مثلا اضفنا الى الرقم 10
بالضغط يزيد من عند 
11

12

13

مع العلم لم يتغير النموذج  الرئيسى 
هل يمكن ان يتوق على الرقم 10

يعنى بالضغط على 
Command29

اكثر من مرة لنفس الاضافة لا يضيف جديد و يتوقف على الرقم 10

مثلا الضغط على 
start 
يتوقف على الرقم 10 ولا يزيد مها تم الضغط على استارت

فهمني ما تريد بالظبط
1 / يعني ما تريد ان يظيف اي سجل بعد اذا بيكون سجل موجود في نموذج فرعي في حقل NO برقم 10
2 / او تريد ان لا يتجاوز عدد السجلات من 10 سجلات

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

  • أفضل إجابة

استخدم هذه الكود للتنبيه و التأكيد اولا قبل اضافة

Private Sub Command29_Click()
On Error GoTo g:
If MsgBox(" هل انت متأكد من اضافة سجلات", _
    vbCritical + vbYesNo, _
    "تنبيه") = vbNo Then
Exit Sub
Else

Dim i As Integer
Dim x As Date
Dim N As Integer
DoCmd.GoToRecord , , acNewRec
x = Forms![test1]![Date_M]
Me.no = Forms![test1]![no1] - 1
Me.Refresh
For i = Forms![test1]![no1] To Forms![test1]![no] + Forms![test1]![no1] - 1
N = DMax("[NO]", "Q1", "[ID]=" & Forms![test1]![id1])
Me.date1 = Forms![test1]![Date_M]
Me.serial = Forms![test1]![serial]
Me.date1 = DateAdd("d", Forms![test1]![no2], x)
x = Me.date1
Me.no = N + 1
DoCmd.GoToRecord , , acNext
Next i
DoCmd.Requery
End If
g: Exit Sub

End Sub

 

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

على العموم شكرا كثيرا لك اعطيتنى طريقتين للاضافة 
1 - الاضافة من 6 الى 10 

بداية الاضافة 6 الى نهايتها 10
2- اضافة عدد معين للسجلات

بداية الاضافة 6 مع العدد 10 النتيجة 10 سجلات 

هل هناك كتاب عن التنسيق المشروط فى اكسيس 

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

4 دقائق مضت, محمد احمد لطفى said:

هل هناك كتاب عن التنسيق المشروط فى اكسيس

لكل سؤال جديد موضوع جديد بعد البحث في المنتدى
والجواب انا لا اعرف :imsorry:

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

16 ساعات مضت, محمد احمد لطفى said:

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

Snagit 12 Editor
اعمل بها بتسجيل الفيديو والتقاط الصور وبها نكتب على الصور ونشرح الموضوع عليه

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

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