-
Posts
10148 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
415
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
وعليكم السلام يجب ان يكون برنامجك الحالي مقسم الى قسمين ، قسم للجداول ، وقسم لبقية الكائنات ، وتستطيع ان تعمل برامج خارجية اخرى ، بربطها بالجداول. وانا اقترح عليك ان تضيف خانة نعم/لا ، بإسم "هل تم صرف الدواء" ، حتى يشير عليها الصيدلاني بصرف الدواء ، طبعا اذا اردت هذا جعفر
-
وعليكم السلام انا جربته مرة ثانية الآن ، ولم يعطني اي رفض!! لوسمحت تخبرنا الخطوات التي اتبعتها واعطتك الرفض. جعفر
-
حياك الله أخوي كرار جعفر
-
حياك الله وتكملة لما قلته: في الكود ، فهناك الكثير من المبرمجين يستخدمون On Error Resume Next وهذا معناه ، ان الكود سيواصل العمل عند حصوله على خطأ (وطبعا النتيجة قد تكون خطأ) ، لذا ، وعند عمل الكود ، يجب ان نعرف رقم الخطأ ، ونصطاده ، ونطلب من الكود اعطاء بقية الاخطاء ، إن وُجدت مثل الكود التالي ، يصطاد الخطأ رقم 2501 فنحن لا نستطيع حفظ ملف ، اذا كانت نسخة اخرى منه بنفس الاسم مفتوحة ، فنعطي رسالة للمستخدم بإغلاق الملف ، اما اذا لم توجد سجلات ، ورقم الخطأ هنا 3021 ، فنقول للكود ، لا تبالي ، وانتقل لتنفيذ السطر التالي من الكود ، وذلك بالامر Resume Next : Private Sub cmd_rpt_pdf_close_Click() On Error GoTo err_cmd_rpt_pdf_close_Click DoCmd.Hourglass True ....... DoCmd.Hourglass False Exit Sub err_cmd_rpt_pdf_close_Click: If Err.Number = 2501 Then 'pdf file is open MsgBox "رجاء اغلاق ملف pdf" & vbCrLf & _ "Please close the PDF file" elseif err.number=3021 then 'لا توجد سجلات ، واصل العمل Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub . طيب السؤال هنا ، وكيف اعرف رقم الخطأ ؟ الاكسس يعطيك رسالة خطأ ، وفيها رقم الخطأ ، هكذا: او . ولكن هناك من الاكواد ، نعرف انه سيعطينا خطأ معين ، ولسنا بحاجة الى اصطياده ، ونعرف انه لن يكون هناك اي نوع آخر من الاخطاء ، فنستعمل On Error Resume Next جعفر
-
سؤال بخصوص تغير رساله اكسس والتعديل عليها
jjafferr replied to ندي احمد كمال's topic in قسم الأكسيس Access
شكرا لك أختي ، ولك أفضل مما دعوتي ان شاء الله تعالى -
وعليكم السلام 3. انا درايتي بـ SQL قليلة ، لذا دائما استعين بالاستعلام لعمل SQL لي ، هنا ترى كيف حصلت على الكود الاصل ، وسترى في النهاية كيفية إضافة شرط اخر مثلاً الاسم في الجدول الاول = الاسم في الجدول الثاني بالاضافة الى الشرط السابق: . 2. الطريقة الافضل لعمل الكود ، هو معرفة الخطأ الذي يمكن ان ينتج اذا كان في الكود خطأ ، لذا docmd.runsql سيعطيك رسائل انذار ، ورسائل خطأ اذا وُجدت ، ولما كل شئ يكون تمام ، فانت لا تريد المستخدم ان يرى هذه الرسائل ، لذا تطلب من الاكسس عدم إظهار هذه الرسائل: docmd.setwarnings false docmd.runsql docmd.setwarnings true بينما currentdb.execute تُنفذ الامر ، واذا في اخطاء ، فإنك لا تراها ، لذا يجب ان لا تستخدمها إلا بعد التأكد ان الكود يعمل كما يجب وبدون رسائل خطأ 1. الظاهر ان اخي سعيد بارع في SQL ، فاعطاك الحل باستعلام فرعي ، وإضافة شرط جديد معناه إضافة استعلام فرعي آخر ، يعني عندك استعلامك الرئيسي واستعلامين: . جعفر
-
سؤال بخصوص تغير رساله اكسس والتعديل عليها
jjafferr replied to ندي احمد كمال's topic in قسم الأكسيس Access
السلام عليكم الظاهر ان أخي كرار كان مستعجل لما كتب الكود ، وترك فيه شوية علامات زائدة الكود بعد التصحيح ، طبعا على اعتبار ان حقل الاسم في النموذج هو نص1: "تم حفظ بيانات الطالبة " & [نص1] & " بنجاح" جعفر -
السلام عليكم 0- لوسمحت تشرح بالتفصيل ، فما واضح الطلب 1- لماذا لا تطبع الوصفة مباشرة من التقرير على اوراق بيضاء ، الكثير يعمل هذا 2- نعم رأيت الكثير من المستشفيات يطبعون بهذه الطريقة ، ولكن الطباعة تكون لكل دواء على ليبل مستقل 3- ايميل لمن؟ اذا كان قصدك للصيدلية ، فلست بحاجة الى هذا ، وانما انت بحاجة الى عمل نموذج آخر في برنامجك للصيدلية ، بحيث الصيدلاني سيرى الوصفة امامه جعفر
-
انا لم اعمل هذا النموذج ، وانما عمله صاحب الموضوع اجعل النموذج frm_Medication في وضع التصميم ، ثم انظر الى مسمى حقل الادوية على اليسار ListDrugs ، وحقل الجرعات على اليمين ListDosing ، فعند اختيار اي دواء ، فإن انواع الجرعات تتغير (Requery) حسب اختيار الدواء: . . والبرنامج عندك ، فانظر في تصميمه جعفر
-
وجرب هذا الكود ايضا CurrentDb.Execute ("DELETE DISTINCTROW leave.* FROM leave INNER JOIN record ON leave.d = record.Date") كلام صحيح ، وهذا ينطبق على الحقل name كذلك ولكن للتخلص من هذه المشكلة ، ضع الحقل بين قوسين مربعين ، بهذه الطريقة يعرف الاكسس انه حقل docmd.runsql "DELETE leave.* FROM leave WHERE d IN (SELECT [date] FROM record)" جعفر
-
مشكلة في تحويل الماكرو الى كود فجول بيسك ...
jjafferr replied to كرار صبري _ أبو جنى's topic in قسم الأكسيس Access
يُفضل تنصيب الاوفيس الانجليزي كما اشار اخي الاستاذ رمهان ثم تستطيع ان تنصب Arabic Language Pack ، حتى يكون عندك عربي في الاكسس ولا تنسى ان تنصب حزم الاوفيس Sp1 و Sp2 جعفر -
تفضل وهذا هو كود التأكد: 'check if this medicine is already in the prescription for this patient myCriteria = "[File_No] = '" & Forms!frm_Patient_Drugs!cmb_Patient_Name & "'" myCriteria = myCriteria & " And [Visit_Date] = #" & Forms!frm_Patient_Drugs!iDate & "#" myCriteria = myCriteria & " And [DoseID] = " & Me.ListDosing.Column(7) Is_It_Used = DCount("*", "tbl_Prescription", myCriteria) If Is_It_Used > 0 Then MsgBox "This medicine is already in the Prescription" Exit Sub End If جعفر 298.3.Medication.accdb.zip
-
بعد الاعتذار من اخي عبدالرحمن ، الكود يتطلب فحص التاريخ ورقم الملف ورقم الدواء ، وانا اشتغل عليه الان جعفر
-
مشكلة في تحويل الماكرو الى كود فجول بيسك ...
jjafferr replied to كرار صبري _ أبو جنى's topic in قسم الأكسيس Access
السلام عليكم لما تعمل تنصيب للاوفيس ، يعطيك اختيارين ، اختار اللى عليه السهم (طبعا الصور للتوضيح فقط): . ثم اختار: . بس قبل ان تعمل هذا ، رجاء انزال المرفق ، وتجربة تحويل الماكرو للنموذجين ، واخبرنا النتيجة لوسمحت جعفر 327.New.accdb.zip -
حياك الله
-
وعليكم السلام وكيف نعرف في اي اسبوع نحن الان؟ جعفر
-
وعليكم السلام اخي نبيل ارفق البرنامج اللي عملته ، وخلينا نتواصل من هناك خطوة بخطوة واذا لم تبدا ، فالرجاء تبدا جعفر
-
مشكلة في تحويل الماكرو الى كود فجول بيسك ...
jjafferr replied to كرار صبري _ أبو جنى's topic in قسم الأكسيس Access
السلام عليكم انا كنت متابع وبصمت لأن اخي الاستاذ رمهان متخصص في التحليل ، فالافضل كان ان نرى النتائج وقبل ان تقوم بتنصيب اوفيس 2010 32بت (ويجب ان تختار "تخصيص" وتختار وتنصب جميع الخيارات) ، غيّر اسماء الحقول في النموذج الى انجليزي ، وجرب تحويل الماكرو الى كود جعفر -
وعليكم السلام الافتراض انك تريد ملاحظة واحدة فقط في النموذج Form1 ، تفضل 1. في الحدث "عند تحميل" النموذج Form1 ، نعمل الكود التالي ، والذي يجعل النموذج Form1 يفتح على يمين النموذج frm_Patient_Drugs : Private Sub Form_Load() r = Forms!frm_Patient_Drugs.Width + 0.6 * 576 D = 0 'Forms!frm_Patient_Drugs.Section(acDetail).Height + 1.2 * 576 '0.6 * 576 'w = Forms!frm_Patient_Drugs.Width 'H = Forms!frm_Patient_Drugs.WindowHeight - Forms!frm_Patient_Drugs.Section(acDetail).Height - 1.5 * 576 'docmd.MoveSize Right, Down, Width, Height DoCmd.MoveSize r, D ', w , H ' Me.Text0 = Forms.frm_Medication.ListDosing.Column(6) End Sub 2. النموذج Form1 يأخذ بياناته من حقل Comments من السجل الحالي للنموذج الفرعي sfrm_Patient_Drugs ، لذا نضيف الكود التالي على حدث "الحالي" ، وقبل ارسال المعلومة للنموذج Form1 ، الكود يتأكد ان النموذج Form1 مفتوح ، وإلا فإنه يفتحه: Private Sub Form_Current() If CurrentProject.AllForms("Form1").IsLoaded = False Then DoCmd.OpenForm "Form1" End If Forms!Form1!Text0 = Me.Comment End Sub 3. طيب ، واذا اضفنا دواء جديد ، فاننا نريد ان نرى الملاحظة في النموذج Form1 كذلك ، لذلك ، وعلى حدث Private Sub ListDosing_DblClick للنموذج frm_Medication ، نضيف الكود التالي: وقبل ارسال المعلومة للنموذج Form1 ، الكود يتأكد ان النموذج Form1 مفتوح ، وإلا فإنه يفتحه: 'now lets pass the comments to Form1 'if Form1 is not open, then open it If CurrentProject.AllForms("Form1").IsLoaded = False Then DoCmd.OpenForm "Form1" End If Forms!Form1!Text0 = Me.ListDosing.Column(6) جعفر 298.2.Medication.accdb.zip
-
هل يمكن عمل باسورد لملف pdf عن طريق النموذج
jjafferr replied to محمد سلامة's topic in قسم الأكسيس Access
في هذه الحالة ، استخدم هذا السطر: Path1 = me.parent.pate & "\" بدلا عن Path1 = Application.CurrentProject.Path & "\" جعفر -
استاذ عبدالفتاح احنا الاثنين نعمل بطرق مختلفة وقد واجهت الكثير من الصعوبات في هذه المسألة بالذات ، لهذا السبب قدمت هذا الاقتراح جعفر
- 47 replies
-
- 2
-
-
- حضور وانصراف
- احتساب الاجازات
-
(و2 أكثر)
موسوم بكلمه :
-
نعم هذا صحيح ، عندما نريد ان نرى اسم الدرجة وليس كود الدرجة ، وربط الجداول في الاستعلام سهل ولن تُخطئ او تحتار فيه ، ولكن ، خلينا نعمل مثال اشرح فيه السبب في طلبي ، وعلشان المسألة تكون واضحة: اسم الحقل: Level_ID ، نوع الحقل: رقم ، القيمة الحقيقة للحقل: 3 ، القيمة الظاهرة: الثانية-واحد (حيث اننا عن طريق Dlookup جعلناها القيمة الظاهرة في مربع التحرير والسرد ComboBox) : . والنتيجة التى سيراها المستخدم/المبرمج: . ولأنه لا يرى إلا هذا المسمى ، فالكود التالي سيكون خطأ (لأننا اعتبرنا ان الحقل نص وليس رقم): A = DCount("[Level_ID]", "tbl_Levels", "[Level_ID]='الثانية-واحد'") . والادهى من هذا ، انه لا توجد طريقة لدينا لمعرفة رقم هذه الدرجة ، إلا اذا جئنا الى الجدول ، ووضعناه بوضع التصميم ، ثم تعال واحسب الفوارز لمعرفة رقم الدرجة (والله يكون في عونك اذا المسميات فيها عربي وانجليزي مثل اللي في مثالي) جعفر
- 47 replies
-
- 1
-
-
- حضور وانصراف
- احتساب الاجازات
-
(و2 أكثر)
موسوم بكلمه :
-
السلام عليكم انا سوف انظر الى ملاحظاتكم ، واعلّق عليها ، اما البرنامج فاترك لكم النظر فيه 1. ياريت يُكتب هذا الكلام بحروف من ذهب ، ويُعلق في منتدى الاكسس تسلم ايدك أخوي ابو خليل على التبسيط وللأسف ، هناك من المبرمجين من يبدأ بالعلاقات ، و وايلاه ، يتعقد الموضوع عنده وووو ، وهو في الاصل ليس بحاجة الى علاقة بين الجداول اصلا 2. طبعا هذا من الشروط الاساسية لعمل قاعدة البيانات ، فعن طريق النموذج ، تسيطر على بيانات الادخال ، ورجاء ، رجاء ، لا تعمل Dlookup في الجدول لأي من الحقول ، وانما اعملها في النموذج ، بحيث تكون البيانات في الجدول واضحة ، دون اللجوء الى جدول آخر 3. وهذه هي الطريقة الصحيحة وأخي كرار له وجهة نظر صحيحة في بعض البرامج ، إلا انه لا يُفضل عمله لمثل هذا البرنامج واعطيك سببين لأهمية هذه الجداول من تجربتي: أ. وبعد استعمال احد البرامج في احد المؤسسات بفترة ، اخبرني المستخدم بأن احد المسميات تم تغييرها رسميا !! فاذا كانت الجداول مثل ما اقترح اخوي ابو خليل ، فما كان عليّ إلا ان اغير المسمى في سجل واحد في جدول الخدمية فقط ، وإلا ، فيجب تغيير المسميات في جميع السجلات في الجدول ، واذا كانت هذه المسميات في جداول اخرى فنعمل نفس الشئ ، والمشكلة الكبرى تكون في الكود ، بحيث يجب ان يتم تغييرها هناك ايضا ، وفي الاستعلامات والتقارير وووو ، إن وُجدت ب. من السهل عمل اكثر من لغة للمسمى ، كذلك في جدول الخدمية ، وبدون تغيير اي شئ في الجدول الاصل جعفر
- 47 replies
-
- 2
-
-
- حضور وانصراف
- احتساب الاجازات
-
(و2 أكثر)
موسوم بكلمه :
-
حياك الله