palesten قام بنشر يناير 24, 2022 قام بنشر يناير 24, 2022 حقل رقم الهوية فى النموذج المفروض اذا ادخلت رقم هوية موجود مسبقا يخبرنى برسالة انه موجود ويجلب لى بيانات صاحبها فى النموذج ولكن الكثير من الاحيان عند ادخال رقم هوية موجود مسبقا والانتقال الى حقل اخر تظهر رسالة انه مسجل باسم .... وعند الضغط على موافق تظهر الرسالة المرفقة بالصور القاعدة مرفقة system.rar
Eng.Qassim قام بنشر يناير 24, 2022 قام بنشر يناير 24, 2022 السلام عليكم. بصراحة لم تظهر المشكلة عندي..لكن طالما انك تظهر اسم صاحب الهوية المسجلة مسبقا فلاتحتاج ان تظهر بياناته ي النموذج وانما الانتقال لادخال رقم هوية اخرى استبدل جملة الكود السابقة بالتالي Undo 'DoCmd.FindRecord X Me.card.Value = "" Me.card.SetFocus Else: Exit Sub: End If DoCmd.RefreshRecord
palesten قام بنشر يناير 24, 2022 الكاتب قام بنشر يناير 24, 2022 منذ ساعه, Eng.Qassim said: السلام عليكم. بصراحة لم تظهر المشكلة عندي..لكن طالما انك تظهر اسم صاحب الهوية المسجلة مسبقا فلاتحتاج ان تظهر بياناته ي النموذج وانما الانتقال لادخال رقم هوية اخرى استبدل جملة الكود السابقة بالتالي Undo 'DoCmd.FindRecord X Me.card.Value = "" Me.card.SetFocus Else: Exit Sub: End If DoCmd.RefreshRecord اخى المهندس قاسم العزيز بالفعل الخطا لا يظهر كل مرة ولكنه يظهر احيانا وخاصة فى اول مرة ادخل فيه رقم الهوية والهدف من وضع رقم الهوية هو اظهار بيانات صاحبها فى النموذج وهذا يفدنى وياريت تعدل لى الكود فى نفس القاعدة بما قلت انه استبدال فضلا لا امرا
أفضل إجابة jjafferr قام بنشر يناير 24, 2022 أفضل إجابة قام بنشر يناير 24, 2022 وعليكم السلام 🙂 الخطأ الابسط: عندكم خطأ في اسم الحقل في المعادلة ، يجب ان تكون بالمقلوب: واردت اتاكد ان الكلمات العربية ما قلبت الكود : والخطأ الاكبر: النموذج مرتبط بجدول ، فأي تغيير في بياناته يجعلك تغير بيانات الجدول ، فلما تدخل رقم الهوية (لسبب مؤقت وهو البحث) في حقل مرتبط في الجدول ، فانت تُخبر نظام قاعدة البيانات بأنك في وضع تعديل: . . فالطريقة الصحيحة ان يكون عندك حقل غير مضمن للبحث ، هكذا مثلا: . ثم تستعمل هذا الكود على حدث "بعد التحديث" Private Sub srch_Card_AfterUpdate() Dim X As Long Dim i As String Dim xSplit() As String X = Me.srch_Card.Text 'i = DLookup("[aa] & '|' & [bb] & '|' & [cc]", "BeneficiaryT", "[رقم الهوية]=" & X) i = Nz(DLookup("[الاسم] & '|' & [اسم الاب] & '|' & [العائلة]", "BeneficiaryT", "[رقم الهوية]=" & X), "There_Are_No_Records_Here") If i <> "There_Are_No_Records_Here" Then xSplit = Split(i, "|") i = xSplit(0) & " " & xSplit(1) & " " & xSplit(2) MsgBox "رقم الهوية" & " ( " & X & " ) " & " تم تسجيله مسبقاُ" & "بأسم" & " " & i, vbCritical, " تنبيه" Me.card.SetFocus DoCmd.FindRecord X, , , , , , True DoCmd.GoToControl "srch_Card" Me.srch_Card.SetFocus Else MsgBox "لا يوجد سجل لهذه الهوية", vbCritical, " تنبيه" Exit Sub End If End Sub . وتلاحظ اني لم استدعي البيانات من الجدول 3 مرات باستعمال 3 اوامر Dlookup ، وانما استدعيتها مرة واحدة (هذا جدا مهم خصوصا لما تكون قاعدة بياناتك مقسمة وعلى السرفر ويستعملها اكثر من مستخدم ، فيجب ان تقلل من زياراتك للجدول ، حتى تخفف العبء عليها وعلى الشبكة) 🙂 جعفر 2
طلب اكسس قام بنشر يناير 24, 2022 قام بنشر يناير 24, 2022 13 دقائق مضت, jjafferr said: وعليكم السلام 🙂 الخطأ الابسط: عندكم خطأ في اسم الحقل في المعادلة ، يجب ان تكون بالمقلوب: واردت اتاكد ان الكلمات العربية ما قلبت الكود : والخطأ الاكبر: النموذج مرتبط بجدول ، فأي تغيير في بياناته يجعلك تغير بيانات الجدول ، فلما تدخل رقم الهوية (لسبب مؤقت وهو البحث) في حقل مرتبط في الجدول ، فانت تُخبر نظام قاعدة البيانات بأنك في وضع تعديل: . . فالطريقة الصحيحة ان يكون عندك حقل غير مضمن للبحث ، هكذا مثلا: . ثم تستعمل هذا الكود على حدث "بعد التحديث" Private Sub srch_Card_AfterUpdate() Dim X As Long Dim i As String Dim xSplit() As String X = Me.srch_Card.Text 'i = DLookup("[aa] & '|' & [bb] & '|' & [cc]", "BeneficiaryT", "[رقم الهوية]=" & X) i = Nz(DLookup("[الاسم] & '|' & [اسم الاب] & '|' & [العائلة]", "BeneficiaryT", "[رقم الهوية]=" & X), "There_Are_No_Records_Here") If i <> "There_Are_No_Records_Here" Then xSplit = Split(i, "|") i = xSplit(0) & " " & xSplit(1) & " " & xSplit(2) MsgBox "رقم الهوية" & " ( " & X & " ) " & " تم تسجيله مسبقاُ" & "بأسم" & " " & i, vbCritical, " تنبيه" Me.card.SetFocus DoCmd.FindRecord X, , , , , , True DoCmd.GoToControl "srch_Card" Me.srch_Card.SetFocus Else MsgBox "لا يوجد سجل لهذه الهوية", vbCritical, " تنبيه" Exit Sub End If End Sub . وتلاحظ اني لم استدعي البيانات من الجدول 3 مرات باستعمال 3 اوامر Dlookup ، وانما استدعيتها مرة واحدة (هذا جدا مهم خصوصا لما تكون قاعدة بياناتك مقسمة وعلى السرفر ويستعملها اكثر من مستخدم ، فيجب ان تقلل من زياراتك للجدول ، حتى تخفف العبء عليها وعلى الشبكة) 🙂 جعفر كم انت رائع يادكتور جعفر
Eng.Qassim قام بنشر يناير 24, 2022 قام بنشر يناير 24, 2022 48 دقائق مضت, jjafferr said: النموذج مرتبط بجدول ، فأي تغيير في بياناته يجعلك تغير بيانات الجدول فعلا اخي استاذ @jjafferr..كلامك صحيح كنت اظن ان النموذج لادخال البيانات الجديدة فقط... واظهار رقم الهوية المسجل تعديلك في محله زاك الله خيرا.. وتستحق افضل اجابة وليس انا الطالب المبتدئ
palesten قام بنشر يناير 24, 2022 الكاتب قام بنشر يناير 24, 2022 (معدل) منذ ساعه, jjafferr said: وعليكم السلام 🙂 الخطأ الابسط: عندكم خطأ في اسم الحقل في المعادلة ، يجب ان تكون بالمقلوب: واردت اتاكد ان الكلمات العربية ما قلبت الكود : والخطأ الاكبر: النموذج مرتبط بجدول ، فأي تغيير في بياناته يجعلك تغير بيانات الجدول ، فلما تدخل رقم الهوية (لسبب مؤقت وهو البحث) في حقل مرتبط في الجدول ، فانت تُخبر نظام قاعدة البيانات بأنك في وضع تعديل: . . فالطريقة الصحيحة ان يكون عندك حقل غير مضمن للبحث ، هكذا مثلا: . ثم تستعمل هذا الكود على حدث "بعد التحديث" Private Sub srch_Card_AfterUpdate() Dim X As Long Dim i As String Dim xSplit() As String X = Me.srch_Card.Text 'i = DLookup("[aa] & '|' & [bb] & '|' & [cc]", "BeneficiaryT", "[رقم الهوية]=" & X) i = Nz(DLookup("[الاسم] & '|' & [اسم الاب] & '|' & [العائلة]", "BeneficiaryT", "[رقم الهوية]=" & X), "There_Are_No_Records_Here") If i <> "There_Are_No_Records_Here" Then xSplit = Split(i, "|") i = xSplit(0) & " " & xSplit(1) & " " & xSplit(2) MsgBox "رقم الهوية" & " ( " & X & " ) " & " تم تسجيله مسبقاُ" & "بأسم" & " " & i, vbCritical, " تنبيه" Me.card.SetFocus DoCmd.FindRecord X, , , , , , True DoCmd.GoToControl "srch_Card" Me.srch_Card.SetFocus Else MsgBox "لا يوجد سجل لهذه الهوية", vbCritical, " تنبيه" Exit Sub End If End Sub . وتلاحظ اني لم استدعي البيانات من الجدول 3 مرات باستعمال 3 اوامر Dlookup ، وانما استدعيتها مرة واحدة (هذا جدا مهم خصوصا لما تكون قاعدة بياناتك مقسمة وعلى السرفر ويستعملها اكثر من مستخدم ، فيجب ان تقلل من زياراتك للجدول ، حتى تخفف العبء عليها وعلى الشبكة) 🙂 جعفر الاخوة الاعزاء @Eng.Qassim @jjafferr انتم خبراء وشكرا لكم وفعلا كلام الاخ جعفر صحيح ان النموذج مرتبط بجدول اخوتى الاساتذة اتمنى عليكم تصحيح القاعدة المرفقة اعلاه بما قلتم وارفاقها بالرد بعد التصحيح لانى ليس بخبرتكم وخبرتى متواضعة تم تعديل يناير 24, 2022 بواسطه palesten
Eng.Qassim قام بنشر يناير 24, 2022 قام بنشر يناير 24, 2022 تفضل اخي بتصحيح استاذ @jjafferr systemJJ.accdb
palesten قام بنشر يناير 24, 2022 الكاتب قام بنشر يناير 24, 2022 26 دقائق مضت, Eng.Qassim said: تفضل اخي بتصحيح استاذ @jjafferr systemJJ.accdb 864 kB · 1 download اولا ربى يسعدك ويجلب لك السرور من حيث لا تحتسب هناك اخى مشكلة بسيطة وهى عند كتابة رقم الهوية فى الخانة الجديدة (ادخل رقم الهوية) يظهر لى بيانات صاحبها وهنا جيد ولكن لو ضغطت على زر اضافة سجل حتى اضيف بيانات شخص جديد .. يبقى رقم الهوية الذى ادخلته سابقا فى الحقل اياه اريد عند اذافة سجل جديد ان يصبح ايضا حقل (ادخل رقم الهوية) فارغا
Eng.Qassim قام بنشر يناير 24, 2022 قام بنشر يناير 24, 2022 اضف هذا الكود عند الضغط على اضافة سجل DoCmd.GoToRecord , "", acNewRec Me.srch_card.Value = ""
palesten قام بنشر يناير 25, 2022 الكاتب قام بنشر يناير 25, 2022 (معدل) @Eng.Qassim @jjafferr اشكركم اخوانى تم تعديل يناير 25, 2022 بواسطه palesten
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.