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

تثبيت محتويات الخلايا عند عند الإدخال

بدأه khyrabak في 26 مارس 2009 · 5 رد · 630 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم

لدى طلب للأخوة

المطلوب تثبيت محتويات الخلايا التى يظلل أمامها مربع الإختيار بأخر قيمة مكتوبة فيها عند الضغط على جديد

كما بالصورة فى الفورم

الموضوع عاجل

ولكم جزيل الشكر

db1.rar

#2

وعليكم السلام ورحمة الله...

أخي لعل هذا ينفع... عند إضافة سجل جديد ابدأ بالكتابة والمفروض أن تظهر قيم السجل السابق للحقول المختارة...

الكود المضاف محدد بالتسطير...

والله أعلم.

db1_4.rar

تم تعديل هذه المشاركة بواسطة أحمد مبارك الحيقي في 27 مارس 2009 في 14:17

#3

السلام عليكم

الأخ الكريم شكرا لمرورك ومجهودك

ولكن هناك مشاكل فى الفورم

عند التعليم على مربع الإختيار على سجل فارغ يعطى " invalid use of null "

وعند الضغط على زرار جديد يعطى الخطأ

"العثور على الحقل المشار الية فى microsoft office access تعذر على التعبير الذى استخدمتة "

ومن فضلك شرح الأكواد المذكورة و معناها وطريقة عملها أو المنطق منها

Dim arrKeep(19, 1) As String


Private Sub keep(strChk As String)
	Dim i As Integer

	For i = 0 To UBound(arrKeep, 1) - 1
		If arrKeep(i, 0) = Me.Controls(strChk).Tag Then
			If Me.Controls(strChk).Value Then
				arrKeep(i, 1) = Me.Controls(Me.Controls(strChk).Tag)
			Else
				arrKeep(i, 1) = vbNullString
			End If
		End If
	Next i
End Sub

Private Sub Form_BeforeInsert(Cancel As Integer)
	Dim i As Integer

	For i = 0 To UBound(arrKeep, 1)
		Me.Controls(arrKeep(i, 0)) = arrKeep(i, 1)
	Next i
End Sub


Private Sub chk1_AfterUpdate()
	keep ("chk1")
End Sub





Private Sub Form_Load()
	Dim i As Integer, j As Integer

	For i = 0 To Me.Controls.Count - 1
		If Me.Controls(i).Tag = "keep" Then
			arrKeep(j, 0) = Me.Controls(i).Name
			j = j + 1
		End If
	Next i
End Sub

وشكرا جزيلا

#4

وعليكــم السـلام ورحمة الله وبركاتـه..

أخي تجد شرحاً مختصراً للكود مع تصحيح الخطأ في الملف المرفق...

الفكرة هي حفظ قيم مربعات النص المختارة في مصفوفة ثنائية... فكر بالمصفوفة الثنائية كجدول يحوي في حالتنا 20 سطراً (على عدد مربعات النص) وعمودين؛ العمود الأول لحفظ اسم مربع النص، والعمود الثاني لحفظ قيمة مربع النص... عند الانتقال إلى سجل جديد من الممكن -إذا كان مربع الاختيار محدداً- أن نكتب قيمة مربع نص محفوظة في المصفوفة داخل مربع النص في السجل الجديد... نعرف أي قيمة نضع في أي مربع نص لأننا نحتفظ في المصفوفة بأسماء وقيم مربعات النص في نفس السطر. مثلاً

arrKeep(1, 0)

تحوي اسم مربع النص الثاني (الترقيم يبدأ من صفر)، و

arrKeep(1, 1)

تحوي قيمته...

نستخدم هنا خاصية tag لمربعات النص ومربعات الاختيار للمناسبة بين مربع النص ومربع الاختيار... وباقي التفاصيل تجدها في البرنامج...

بالتوفيق...

db1.rar

#5

السلام عليكم

الأخ الكريم ..... شكرا جزيلا لمجهودك ولسعة صدرك

ولكن هناك ملاحظات ...

1- لابد أن أكتب القيمة فى البداية ثم أعلم على مربع الإختيار لتأتى بأخر قيمة ولو علمت على مربع الإختيار ثم كتبة القيمة لا يكتبها

وهذا غير مطلوب .... اريد أن يكتب أولا أو يختار مربع الإختيار أولا سيان

2- عند تعديل القيمة فى مربع النص وضغطت على جديد تأتى بالقيمة الأولى وليست الأخيرة المعدلة وهذا غير صحيح المفروض يأتى بأخر قيمة أمامى فى مربع النص

لكى يحدث القيمة لابد أن أشيل الإختيار من مربع الإختيار ثم أضعة تانى

فبرجاء التكرم بمتابعة هذة الملاحظات

ولك جزيل الشكر على مجهودك وسعة صدرك

#6

وعليكم السلام ورحمة الله...

أخي للتغلب على النقطتين المذكورتين جعلت وضع القيم في المصفوفة يتم عند تعديل النموذج (AfterUpdate)... لعل هذا يكون أفضل والله أعلم...

أرجو الاطلاع على الملف المرفق...

db1.rar

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