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

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


safaa salem5
إذهب إلى أفضل إجابة Solved by ابو جودي,

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

عندى فورم مصدره جدول يشمل بيانات المريض وبيانات الزياره

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

 

طبعا مع الاحتفاظ بكود الزياره الجديد والترتيب اليومى الجديد

مع العلم عدم وجود مفتاح اساسى فى الجدول

lab2.rar

تم تعديل بواسطه safaa salem5
رابط هذا التعليق
شارك

  • safaa salem5 changed the title to طريقة استرجاع بيانات المريض بمجرد اختيار اسمه داخل فورم مصدره جدول واحد يحتوى تفاصيل الزياره وتفاصيل المريض

طيب مبدئيا عندى اعتراضين

1- الافضل وضع بيانات المريض فى جدول منفضل بحيث لا تتكرر مع كل تحليل ومع كل زيارة :eek2: اومااااااااااال
2- بسبب امكانية تكرار الاسم مع المرضى لا احبذ استخدام الاسم لجلب البيانات :wink2:

ولكن سوف اضع الاجابة على كل حال

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

Private Sub pname_BeforeUpdate(Cancel As Integer)
  If Not NewRecord Then Me.Undo: Cancel = True: Exit Sub
End Sub

 

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

Private Sub pname_AfterUpdate()
  
  If Not NewRecord Then Exit Sub
  
  Dim strDLookupFlds  As String
  Dim stLinkCriteria  As String
  Dim MyVariable      As String
  Dim Arry()          As String
  
  MyVariable = Me.pname
  stLinkCriteria = "[pname] ='" & MyVariable & "'"         '|String
  
  strDLookupFlds = DLookup("[pname] & '|' & [code] & '|' & [ptitle] & '|' & [bdate] & '|' & [gender] & '|' & [phone] & '|' & [mobile] & '|' & [adress] & '|' & [email] & '|' & [wt] & '|' & [ht]", "[reservation_tbl]", stLinkCriteria)
  Arry = Split(strDLookupFlds, "|")
  
  Me.code = Arry(1)
  Me.ptitle = Arry(2)
  Me.bdate = Arry(3)
  Me.gender = Arry(4)
  Me.phone = Arry(5)
  Me.mobile = Arry(6)
  Me.adress = Arry(7)
  Me.email = Arry(8)
  Me.wt = Arry(9)
  Me.ht = Arry(10)
End Sub

 

بالنسبة للعمر يفضل استخدام دالة حساب العمر بناء على تاريخ الميلاد نظرا لزيادة العمر بعد ذلك 

 

واخيرا المرفق

lab3.zip

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

59 minutes ago, Foksh said:

تجربة بسيطة باستخدام استعلام 

 

lab2.accdb 1.11 MB · 3 downloads

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

35 minutes ago, ابو جودي said:

طيب مبدئيا عندى اعتراضين

1- الافضل وضع بيانات المريض فى جدول منفضل بحيث لا تتكرر مع كل تحليل ومع كل زيارة :eek2: اومااااااااااال
2- بسبب امكانية تكرار الاسم مع المرضى لا احبذ استخدام الاسم لجلب البيانات :wink2:

ولكن سوف اضع الاجابة على كل حال

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

Private Sub pname_BeforeUpdate(Cancel As Integer)
  If Not NewRecord Then Me.Undo: Cancel = True: Exit Sub
End Sub

 

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

Private Sub pname_AfterUpdate()
  
  If Not NewRecord Then Exit Sub
  
  Dim strDLookupFlds  As String
  Dim stLinkCriteria  As String
  Dim MyVariable      As String
  Dim Arry()          As String
  
  MyVariable = Me.pname
  stLinkCriteria = "[pname] ='" & MyVariable & "'"         '|String
  
  strDLookupFlds = DLookup("[pname] & '|' & [code] & '|' & [ptitle] & '|' & [bdate] & '|' & [gender] & '|' & [phone] & '|' & [mobile] & '|' & [adress] & '|' & [email] & '|' & [wt] & '|' & [ht]", "[reservation_tbl]", stLinkCriteria)
  Arry = Split(strDLookupFlds, "|")
  
  Me.code = Arry(1)
  Me.ptitle = Arry(2)
  Me.bdate = Arry(3)
  Me.gender = Arry(4)
  Me.phone = Arry(5)
  Me.mobile = Arry(6)
  Me.adress = Arry(7)
  Me.email = Arry(8)
  Me.wt = Arry(9)
  Me.ht = Arry(10)
End Sub

 

بالنسبة للعمر يفضل استخدام دالة حساب العمر بناء على تاريخ الميلاد نظرا لزيادة العمر بعد ذلك 

 

واخيرا المرفق

lab3.zip 88.46 kB · 2 downloads

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

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

4 دقائق مضت, safaa salem5 said:

بجد مش عارفه من غيرك كنت هعمل ايه

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

فقط انا طويلب علم هاو 

5 دقائق مضت, safaa salem5 said:

متشكره جدا   تسلم لذوقك

الله يسلم حضرتك لا شكر على واجب 

اهلا بيكى فى اى وقت

ولكن ارجوكى اقبلى نصيحتى بفصل بيانات المريض فى جدول منفصل بعيدا عن جدول التحاليل ونتائجها

واخيــرا شرفتى المنتدى يا بنت بلادى 

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

8 دقائق مضت, safaa salem5 said:

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

كان من الأفضل اختي الكريمة توضيح مطلبك أكثر حتى لا تتشعب الأفكار في ذهن القارئ , كل الإحترام لك :blink:

 

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

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

12 minutes ago, ابو جودي said:

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

فقط انا طويلب علم هاو 

الله يسلم حضرتك لا شكر على واجب 

اهلا بيكى فى اى وقت

ولكن ارجوكى اقبلى نصيحتى بفصل بيانات المريض فى جدول منفصل بعيدا عن جدول التحاليل ونتائجها

واخيــرا شرفتى المنتدى يا بنت بلادى 

 هو شغال تمام فى حالة استرجاع  داتا قديمه متسجله

بس لما بسجل جديد فى رسالة بتطلع

Screenshot_1.png

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

5 دقائق مضت, safaa salem5 said:

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

 هو شغال تمام فى حالة استرجاع  داتا قديمه متسجله

بس لما بسجل جديد فى رسالة بتطلع

Screenshot_1.png

اكيد كود المريض الذي تريدين جلب بياناته غير موجود 🫣

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

5 minutes ago, ابو جودي said:

اكيد كود المريض الذي تريدين جلب بياناته غير موجود 🫣

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

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

تم تعديل بواسطه safaa salem5
  • Haha 1
رابط هذا التعليق
شارك

  • أفضل إجابة
14 دقائق مضت, safaa salem5 said:

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

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

Private Sub pname_AfterUpdate()
  
  
  If Not NewRecord Then Exit Sub
  
  Dim strDLookupFlds  As String
  Dim stLinkCriteria  As String
  Dim MyVariable      As String
  Dim Arry()          As String
  
  MyVariable = Me.pname
  stLinkCriteria = "[pname] ='" & MyVariable & "'"         '|String
  
  On Error GoTo ErrorHandler
  strDLookupFlds = DLookup("[pname] & '|' & [code] & '|' & [ptitle] & '|' & [bdate] & '|' & [gender] & '|' & [phone] & '|' & [mobile] & '|' & [adress] & '|' & [email] & '|' & [wt] & '|' & [ht]", "[reservation_tbl]", stLinkCriteria)
  
  Arry = Split(strDLookupFlds, "|")
  
  Me.code = Arry(1)
  Me.ptitle = Arry(2)
  Me.bdate = Arry(3)
  Me.gender = Arry(4)
  Me.phone = Arry(5)
  Me.mobile = Arry(6)
  Me.adress = Arry(7)
  Me.email = Arry(8)
  Me.wt = Arry(9)
  Me.ht = Arry(10)
  
  
ExitHandler:
  Exit Sub
ErrorHandler:
  
  Select Case Err.Number
  Case Is = 94: pname.Requery: Resume ExitHandler
  Case Else
    MsgBox "Error Number : " & Err.Number & vbNewLine & "Error Description : " & Err.Description
    Resume ExitHandler
  End Select
  
End Sub

 

وغيرى الكود الخاص بزر امر الاضافة الى الكود الاتى 

Private Sub Add_cmd_Click()

    On Error GoTo Err_NewRec
    DoCmd.Requery
    DoCmd.GoToRecord , , acNewRec
    
    
Exit_Err_NewRec:
    Exit Sub
Err_NewRec:
    
    MsgBox Err.Description
    Resume Exit_Err_NewRec
    
    
End Sub

 

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

 

lab3(2).zip

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

2 hours ago, ابو جودي said:

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

Private Sub pname_AfterUpdate()
  
  
  If Not NewRecord Then Exit Sub
  
  Dim strDLookupFlds  As String
  Dim stLinkCriteria  As String
  Dim MyVariable      As String
  Dim Arry()          As String
  
  MyVariable = Me.pname
  stLinkCriteria = "[pname] ='" & MyVariable & "'"         '|String
  
  On Error GoTo ErrorHandler
  strDLookupFlds = DLookup("[pname] & '|' & [code] & '|' & [ptitle] & '|' & [bdate] & '|' & [gender] & '|' & [phone] & '|' & [mobile] & '|' & [adress] & '|' & [email] & '|' & [wt] & '|' & [ht]", "[reservation_tbl]", stLinkCriteria)
  
  Arry = Split(strDLookupFlds, "|")
  
  Me.code = Arry(1)
  Me.ptitle = Arry(2)
  Me.bdate = Arry(3)
  Me.gender = Arry(4)
  Me.phone = Arry(5)
  Me.mobile = Arry(6)
  Me.adress = Arry(7)
  Me.email = Arry(8)
  Me.wt = Arry(9)
  Me.ht = Arry(10)
  
  
ExitHandler:
  Exit Sub
ErrorHandler:
  
  Select Case Err.Number
  Case Is = 94: pname.Requery: Resume ExitHandler
  Case Else
    MsgBox "Error Number : " & Err.Number & vbNewLine & "Error Description : " & Err.Description
    Resume ExitHandler
  End Select
  
End Sub

 

وغيرى الكود الخاص بزر امر الاضافة الى الكود الاتى 

Private Sub Add_cmd_Click()

    On Error GoTo Err_NewRec
    DoCmd.Requery
    DoCmd.GoToRecord , , acNewRec
    
    
Exit_Err_NewRec:
    Exit Sub
Err_NewRec:
    
    MsgBox Err.Description
    Resume Exit_Err_NewRec
    
    
End Sub

 

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

 

lab3(2).zip 127.41 kB · 3 downloads

لو يسمح وقت حضرتك 

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

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

  لكن لو اختار لا  فى الحاله دى كود المريض يعد تلقائى

Screenshot_2.png

تم تعديل بواسطه safaa salem5
رابط هذا التعليق
شارك

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