الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كتابة المبلغ في تاريخ معين

بدأه orphan94 في 10 أكتوبر 2010 · 25 رد · 1,197 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني الكيرام يعجز لساني عن شكركم فكم استفدت منكم

اريد كتابة التاريخ في خانه ( تاريخ التوزيع ) وحينما ياتي هذا التاريخ يقوم البرنامج با كتابة المبلغ الموجود في خانه ( المبلغ ) في خانة (الايداع) مع ادراج التاريخ الايداع في خانة ( التاريخ )

اريد مساعدتي في البرنامج المرفق

Database1.rar

تم تعديل هذه المشاركة بواسطة orphan94 في 10 أكتوبر 2010 في 00:31

#2

المطلوب غير واضح

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#3

يعجز لساني عن شكرك

تم رفع الملف بعد تعديل المسميات

78d85df67200a4d408aa587ebabc1fde.jpg

يتم كتابة المبلغ في خانة الملغ وهي محاطه في المستطيل الاخضر قبل فترة

مثال يتم كتابm المبلغ في تاريخ 2010/8/10

ويتم كتابة التاريخ في لمستطيل الاحمر في خانة تاريخ التوزيع

مثال كتابة التاريخ

10/10/2010

وحينما ياتي تاريخ

10/10/2010

يتم ادراج المبلغ الموجود في المستطيل الاخضر ( الموجود في خانة المبلغ )

الى انموذج الفرعي في المستطيل الاخضر ( خانة الايداع )

حيث يتم تطبيق مع جميع الاسماء ( a1 )

Database1.rar

تم تعديل هذه المشاركة بواسطة orphan94 في 10 أكتوبر 2010 في 23:52

#4

ضع هذا الكود فى حدث عند الفتح للنموذج الرئيسى

CurrentDb.Execute "UPDATE 1 INNER JOIN b ON [1].a = b.b1 SET [1].a3 = b.b2, b.b3 = [1].a2 WHERE (((b.b2)=Date()));"

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#5
Abo_Yossof كتب:

ضع هذا الكود فى حدث عند الفتح للنموذج الرئيسى

CurrentDb.Execute "UPDATE 1 INNER JOIN b ON [1].a = b.b1 SET [1].a3 = b.b2, b.b3 = [1].a2 WHERE (((b.b2)=Date()));"

اشكرك من اعماق قلبي

لكن الطريقه لم تنجح معي

#6

لماذا لم تنجح

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#7

لا اعلم

هذا الملف بعد التطبيق

حيث تم تقديم تاريخ الجهاز لكي اتاكد من نجاح العمليه

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

Database1.rar

#8

اخى الكود يعمل كما تريد على ما اعتقد

الان غير التاريخ فى النموذج الفرعى الى 11/10/2010

و غير المبلغ فى النموذج الرئيسى

و اغلق النموذج و افتح النموذج مره اخرى

و لاحظ التغيير الذى يحدث

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#9
Abo_Yossof كتب:

اخى الكود يعمل كما تريد على ما اعتقد

الان غير التاريخ فى النموذج الفرعى الى 11/10/2010

و غير المبلغ فى النموذج الرئيسى

و اغلق النموذج و افتح النموذج مره اخرى

و لاحظ التغيير الذى يحدث

اشكرك اخي العزيز

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

وانا اريد ان يقوم باظافه المبلغ الى الجميع في ان واحد

هل من الممكن اظافه زر لتنفيذ العمليه

بحيث يدرج المبلغ لجميع الاسماء

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

اي هل من الممكن دراج المبلغ في نفس الوقت

تم تعديل هذه المشاركة بواسطة orphan94 في 11 أكتوبر 2010 في 01:36

#10

اخى الكريم

ياريت شرح لم تريد بشىء من التفصيل

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#11
Abo_Yossof كتب:

اخى الكريم

ياريت شرح لم تريد بشىء من التفصيل

ربي يعطيك العافيه

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

523415153.jpg

اريد تغير الفكره

وهي

حينما نقوم بظغط على زر ( تنفيذ )

يقوم بادراج المبلغ الموجود في خانه ( المبلغ )

الى النموذج الفرع ي في خانه ( الايداع ) و كتابة كلمة ( نزول المبلغ ) في خانه B4

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

وهذا مثال لتطبيق

وشكرا

تم تعديل هذه المشاركة بواسطة orphan94 في 12 أكتوبر 2010 في 21:05

#12

اعتذر ولكن هل من الممكن مساعدتي

#13

تفضل

تحياتي

Database1.rar

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#14
omani كتب:

تفضل

تحياتي

اخي العزيز اشكرك على هذا الابداع

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

هل من الممكن تعديل على هذا المثال

523415153.jpg

حينما نقوم بظغط على زر ( تنفيذ )

يقوم بادراج المبلغ الموجود في خانه ( المبلغ )

الى النموذج الفرع ي في خانه ( الايداع ) و كتابة كلمة ( نزول المبلغ ) في خانه B4

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

Database1.rar

تم تعديل هذه المشاركة بواسطة orphan94 في 12 أكتوبر 2010 في 21:05

#15

اعتذر على الرد الغير مبرر

ولكن خوفي من ان يختفي الموضوع

#17
Abo_Yossof كتب:

هل يفى هذا بالغرض

اشكرك واشكر الجميع على مساعدتي

ولكن يوجد خلل وهو يقوم

يقوم بالاعتماد على المبلغ الموجود في اسجل الاول ومن ثم يقوم بكتابة المبلغ و الكملة في جميع الخانات الجدول الفرعي

مما يودي الى ظياع ومسح البيانات

وانا اريدها فقط في اخر خانه في انموذج الفرعي

ويكون المبلغ معتمد على كل سجل لوحده

مثال اخي العزيز ( omani ) جميل جدا وهذا ما اريد

ولكن اريده من غير الاعتماد على التاريخ و كتابة كلمة ( نزول المبلغ ) في خالية b4

523415153.jpg

#19

اخي الكريم يعجز السان عن شكرك

ربي يرعاك ويوفقك

#20

اخي العزيز

حين تجربته على قاعده بينات تحتوي على القليل من البينات العمليه تنجح

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

494049079.jpg

وحين الضغط على

Debug

تخرج لي

671162910.jpg

فما الحل

#21
orphan94 كتب:

اخي العزيز

حين تجربته على قاعده بينات تحتوي على القليل من البينات العمليه تنجح

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

494049079.jpg

وحين الضغط على

Debug

تخرج لي

671162910.jpg

فما الحل

هل في الجدول تجد نفس اسماء الحقول ؟؟

وأيضا هل القيم المدخلة جميعها موجودة في الجدول الاساسي ؟

ويفضل أن ترسل السطر باللون الاصفر كاملا لنرى المشكلة .

تحياتي

تم تعديل هذه المشاركة بواسطة omani في 14 أكتوبر 2010 في 10:10

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#22

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

هذا هو الكود

 Dim Rs As Recordset

  Set Rs = Me.RecordsetClone
  DoCmd.SetWarnings 0
  If Rs.BOF = False Then Rs.MoveFirst

  Do Until Rs.EOF
    ' If (Format(Rs!a3, "dd/mm/yyyy")) = (Format(Date, "dd/mm/yyyy")) Then
         DoCmd.RunSQL "Insert into data (no,ed,not) values (" & Rs!no & "," & Rs!monhan & ",'نزول المبلغ')"
    ' End If

    Rs.MoveNext
  Loop
  DoCmd.SetWarnings 1
  Set Rs = Nothing
 Me.data.Requery

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

1- مسح شرط التاريخ ( حيث اني لا اريد هذا اشرط ) واخشا ان يتسبب لي في مشكلة في المستقبل

2- اريد اذا كان المبلغ ( صفر ) لا يقوم بادراج القيمه اصفريه و كتابة كلمة ( نزول المبلغ)

ارجو مساعدتي

#23
orphan94 كتب:

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

هذا هو الكود

 Dim Rs As Recordset

  Set Rs = Me.RecordsetClone
  DoCmd.SetWarnings 0
  If Rs.BOF = False Then Rs.MoveFirst

  Do Until Rs.EOF
    ' If (Format(Rs!a3, "dd/mm/yyyy")) = (Format(Date, "dd/mm/yyyy")) Then
 		DoCmd.RunSQL "Insert into data (no,ed,not) values (" & Rs!no & "," & Rs!monhan & ",'نزول المبلغ')"
    ' End If

    Rs.MoveNext
  Loop
  DoCmd.SetWarnings 1
  Set Rs = Nothing
Me.data.Requery

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

1- مسح شرط التاريخ ( حيث اني لا اريد هذا اشرط ) واخشا ان يتسبب لي في مشكلة في المستقبل

2- اريد اذا كان المبلغ ( صفر ) لا يقوم بادراج القيمه اصفريه و كتابة كلمة ( نزول المبلغ)

ارجو مساعدتي

غير فقط السطور هذه لتصبح هكذا

 
If Not (Rs!monhan = 0) And (Not IsNull(Rs!monhan)) Then
 		DoCmd.RunSQL "Insert into data (no,ed,not) values (" & Rs!no & "," & Rs!monhan & ",'نزول المبلغ')"
	End If

هذا الكود سوف يتجاهل القيم الفارغة أو القيم التي تساوي صفر

تحياتي

تم تعديل هذه المشاركة بواسطة omani في 14 أكتوبر 2010 في 15:40

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#24

ربي يعطيك العافيه

نعم الطريقه نجحة

طلب اذا ممكن

هل من الممكن اضافة رقم سري في حالة الرغبه لتنفيذ الامر

اي اذا اريد تنفيذ الامر يطلب رقم سري كي يتم تنفيذ الطلب

#25
orphan94 كتب:

ربي يعطيك العافيه

نعم الطريقه نجحة

طلب اذا ممكن

هل من الممكن اضافة رقم سري في حالة الرغبه لتنفيذ الامر

اي اذا اريد تنفيذ الامر يطلب رقم سري كي يتم تنفيذ الطلب

استخدم هذا

  If (InputBox("Enter Password")) = "123" Then

        	Dim Rs As Recordset

      	Set Rs = Me.RecordsetClone
      	DoCmd.SetWarnings 0
      	If Rs.BOF = False Then Rs.MoveFirst

      	Do Until Rs.EOF
        	' If (Format(Rs!a3, "dd/mm/yyyy")) = (Format(Date, "dd/mm/yyyy")) Then
                    	DoCmd.RunSQL "Insert into data (no,ed,not) values (" & Rs!no & "," & Rs!monhan & ",'äÒæá ÇáãÈáÛ')"
        	' End If

        	Rs.MoveNext
      	Loop
      	DoCmd.SetWarnings 1
      	Set Rs = Nothing
   	Me.Data.Requery
Else
   MsgBox "كلمة المرور خاطئة"

End If

تحياتي

تم تعديل هذه المشاركة بواسطة omani في 14 أكتوبر 2010 في 17:43

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

مواضيع مشابهة