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

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

مغلق
بدأه Dove في 30 أكتوبر 2007 · 12 رد · 2,144 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

ولكن

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

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

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

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

ولكني للاسف بعد محاولات عديدة فشلت

فقررت ان اشارككم لتفيدوني

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

وبارك الله فيكم

هناك شي اخر

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

فكيف لي بان يكون عند الانتقال بان يذهب تلقائيا الى الطالب التالي

وبارك الله فيكم

UseArrow.rar

#2

السلام عليكم

حل بدائي شوية لكنه فعال باستخدام ASCI Code مع KeyDown

عند ضغط سهم يمين سيتم تنفيذ عكس الTAB

عند ضغط سهم يسار سيتم تنفيذ الTAB

عند الضغط لاسفل يذهب للسجل التالي

عند الضغط لاعلي يذهب للسجل السابق

مع تجاهل الاخطاء

Copy_of_UseArrow.rar

Microsoft Certified DataBase Administrator MCDBA

#3

بارك الله فيك اخي العزيز

تم تنفيذ نصف ما اسعى اليه

عند الضغط لاسفل يذهب للسجل التالي

وعند الضغط لاعلى يذهب للسجل السابق

تمام

لكن

عند الضغط لاعلى يذهب للحقل الموجود بالاعلى .........

وعند الضغط لاسفل يذهب للحقل الموجود بالاسفل

؟؟؟؟

هذا المقصود

#4

أخي ahamied بارك الله فيك على المشاركة في الوصول إلى الحل

بالنسبة لكون الطريقة بدائية لا عليك فمن لم يحاول تأكد كل التأكيد بأنه لن يتعلم أبداً

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

لو استخدمت Select case بدلا من If هي اسرع أنظر الكود بعد التعديل

On Error Resume Next
 Dim R As String
 Select Case KeyCode
 'LEFT Arrow
 Case Is = 37: SendKeys "{Tab}", False
 'Right Arrow
 Case Is = 39: SendKeys "{Tab}", False
 'UP Arrow
 Case Is = 40: DoCmd.GoToRecord acDataForm, "EighthClassFrmMain", acNext
 'Down Arrow
 Case Is = 38: DoCmd.GoToRecord acDataForm, "EighthClassFrmMain", acPrevious
 Case Is = 113 And Shift = 0

	 Dim stDocName As String
	 Dim stLinkCriteria As String

	 stDocName = "EighthClassFrmSub"

	 stLinkCriteria = "[name]=" & "'" & Me![name] & "'"
	 DoCmd.OpenForm stDocName, , , stLinkCriteria
	 LastNum = Me.no
 End Select


	 LastNum = Screen.ActiveControl.name

وهذا الكود أغنانا عن بقية الأكواد

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

أخي Dove

لقد قمت ببعض التعديلات على المثال

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

ثانياً: إذا رغبت في اضافة علامات لفصل دراسي للسجل المظلل أي الذي يمتلك التركيز كلما عليك هو ضغط زر F2

ثالثاً : إذا أردت إغلاق شاشة اضافة علامات فصل دراسي أضغط زر F3 وسيعيدك لنفس السجل ونفس الحقل الذي كنت عليه سابقاً

وهذا المثال بعد التعديل إذا لك أي ملاحظات أو استفسارة فأطرحها ولا تتردد

تحياتي للجميع

Copy_of_UseArrow.rar

تم تعديل هذه المشاركة بواسطة مصلح الحريصي في 2 نوفمبر 2007 في 03:03

#5

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

بارك الله فيك اخي الكريم

#6

مرحبا

اخوي الاعزاء

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

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

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

لذا

اخي العزيز مصلح

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

#7

أخي الكريم

أعتذر عن المثال فقد أرفقت مثال الأخت زهرة الذي أقتبست منه كود تلوين السجلات فعذراً فقد قمت بإرفاق المثال الصحيح في ردي السابق

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

تحياتي للجميع

#8

اخي العزيز مصلح

لا عليك من الاعتذار فاي شي هنا الواحد يتعلم منه

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

فارجو توضيح ذلك وان بالامكان عمل الفنكشن لذلك

كما انني ارجو توضيح هذه الفكرة لي ايضا

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

فكيف لي بان يكون عند الانتقال بان يذهب تلقائيا الى الطالب التالي

وبارك الله فيكم جميعا

#9
اقتباس
الكود الموجود سهل وواضح

الحمد لله

اقتباس
وقد استخدمت مثلة في الفيجوال بيسك

هذا يعني أنك مبرمج ولديك خبرة الله يوفقك وفرت علي ولست في حاجة لشرح الدوال والسوائط " البارامتر "

اقتباس
ولكني هنا عذرا لا اعرف اين اضع هذا الكود بالضبط هل اضعه في كل حقل

لا لا ... بل أنه يوجد حدث على مستوى النموذج يسمى باللغة العربية " عند مفتاح لأسفل " وباللغة الإنجليزية يسمى "On Key Down" هذا الحدث يتعرف على أي مفتاح يضغط على النموذج أو مربع نص أو زر أو أي كائن متى ما أشير في الكود إلى رقم ذلك المفتاح وهذا يغتيك عن كتابة الكود لكل كائن

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

بما أنه سبق لك البرمجة في VB فلس الأمر عسير عليك ولا تحتاج إلى شرح تفصيلي عن كتابة Function والبارامتر الخاص بالكائنات المتغيرة فلديك الخبرة في ذلك

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

فكيف لي بان يكون عند الانتقال بان يذهب تلقائيا الى الطالب التالي

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

   stLinkCriteria = "[name]=" & "'" & [name] & "'"

أكتب التالي

 DoCmd.GoToRecord , , acNext

إذا هناك أي استفسار فلا مشكلة تفضل

تم تعديل هذه المشاركة بواسطة مصلح الحريصي في 2 نوفمبر 2007 في 21:29

#10

بارك الله فيك وجزاك الله كل خير

كما تعلك فقد قمت بوضع الكود في الحدث On Key Down وعلى مستور الفورم

الا ان لم الاحظ عمل الاسهم بالشكل الصحيح وبمراجعة الكود وارقام الاسهم لم اجد ما ينبغي عمله

فرجاء افادتي عن عدم عمل الاسهم بالشكل الصحيح

وبارك الله فيك

#11

طيب

هل يعمل الكود في المثال الذي أرفقته لك أم لا

#12

بارك الله فيكم جميعا اخواني الكرام

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

طبعا استخدمت هذا الكود حتى تعم الفائدة للجميع

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
	On Error GoTo HandleErrors
Me.KeyPreview = True
	Select Case KeyCode
		Case vbKeyLeft
			SendKeys "^{TAB}", True
		Case vbKeyRight
			SendKeys "+{TAB}", True
		Case vbKeyDown
			SendKeys "^{PGDN}", True
		Case vbKeyUp
			SendKeys "^{PGUP}", True

	End Select
	Exit Sub

HandleErrors:
	Select Case Err.Number
		Case 2105
			KeyCode = 0
		Case Else
			MsgBox "Error: " & Err.Number & " " & Err.Description
	End Select
End Sub

وهذا المثال بعد التعديل

za_UseArrow_UP.rar

#13

السلام عليكم

اخي العزيز مصلح لقد قمت مشكورا بعمل اللازم

ولكن

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

وعند الضغط على السهم الايسر فلا ينتقل الى اي مكان ... !! ؟

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

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

الاخت العزيزة زهرة

بارك الله فيكي عل المجهود الذي قمتي به

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

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

ولا يسعدني الا تقديم باقة ورد لكل من ساهم وسعى جاهدا للمساعدة

وبارك الله فيكم جميعا

هذا الموضوع مغلق.

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