-
Posts
9980 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
406
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
هدية: البحث عن اي جزء من الكلمة ، في اي عدد من الحقول
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
شكرا لك أخي محمد أخي بسام نعم ممكن ، ولكن في الخلفية ، سيكون الحقلين يستخدمون نفس استعلام البحث!! وبالطريقة التي عملتها انا ، يمكنك ان تبحث اولا عن الكلمات التي في "موضوع الخطاب" ثم تترك مسافة ، ثم تبحث في كلمات الحقل "كلمات ارشادية" جعفر -
هدية: البحث عن اي جزء من الكلمة ، في اي عدد من الحقول
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
حياك الله أخي أبا عمر -
طرح أرقام ليكون الناتج (يوم) ، (شهر) ، (سنة)
jjafferr replied to Omar_Kreem's topic in قسم الأكسيس Access
حياك الله -
السلام عليكم ورحمة الله وبركاته قمت بالعمل لإثبات انه ممكن ، ولكن الشئ المهم ما قاله أخي أبو خليل: . لهذا ، هذه النتيجة: . وهذا الكود الذي يقوم بالعمل كاملا: 1. استعلام الحاق للجدول table1 ، 2. استعلام تحديث للجدول table2 ، 3. استعلام تحديث للجدول table3 ، Private Sub cmd_append_update_Click() Dim rstFrom As DAO.Recordset Dim rstTo As DAO.Recordset Set rstTo = CurrentDb.OpenRecordset("Select * From table4") 'table1, Append Set rstFrom = CurrentDb.OpenRecordset("Select * From table1") rstFrom.MoveLast: rstFrom.MoveFirst RC = rstFrom.RecordCount For i = 1 To RC rstTo.AddNew rstTo!a = rstFrom!a rstTo.Update rstFrom.MoveNext Next i 'table2, Update rstTo.MoveFirst Set rstFrom = CurrentDb.OpenRecordset("Select * From table2") rstFrom.MoveLast: rstFrom.MoveFirst RC = rstFrom.RecordCount For i = 1 To RC rstTo.Edit rstTo!b = rstFrom!b rstTo.Update rstFrom.MoveNext rstTo.MoveNext Next i 'table3, Update rstTo.MoveFirst Set rstFrom = CurrentDb.OpenRecordset("Select * From table3") rstFrom.MoveLast: rstFrom.MoveFirst RC = rstFrom.RecordCount For i = 1 To RC rstTo.Edit rstTo!c = rstFrom!c rstTo.Update rstFrom.MoveNext rstTo.MoveNext Next i MsgBox "Done" End Sub جعفر mo_esam_sample.zip
-
طرح أرقام ليكون الناتج (يوم) ، (شهر) ، (سنة)
jjafferr replied to Omar_Kreem's topic in قسم الأكسيس Access
-
طرح أرقام ليكون الناتج (يوم) ، (شهر) ، (سنة)
jjafferr replied to Omar_Kreem's topic in قسم الأكسيس Access
السلام عليكم شكرا لك على هذه الملاحظة ، واللي كان لها الفضل في ايجاد حل سهل: . عليه تم اضافة 2000 الى السنوات ، وكان الله رؤوف رحيم . جعفر 310.N2.mdb.zip -
لا يمكن حذف البيانات من جميع الجداول باستعمال استعلام واحد ، لذا يجب عمل استعلام حذف مستقل بكل جدول ، وفي الكود تقوم بتشغيل الاستعلامات واحدة خلف الاخرى ، هكذا: لا تعرض رسالة حذف البيانات التحذيرية docmd.setwarnings false الآن نشغل جميع استعلامات الحذف docmd.openquery "qry_1" docmd.openquery "qry_2" docmd.openquery "qry_3" الآن اعرض جميع الرسائل التحذيرية docmd.setwarnings true . . انا اعطيتك الطريقة لعمل هذا الاستعلام للحقل تاريخ الميلاد ، فكل اللي عليك عمله هو تغيير الحقل الى "تاريخ تقديم المادة" مع الحفاظ على المعيار بين التاريخين. جعفر
-
مربع تحرير وسرد لتحديد لغه الادخال فى الفورم
jjafferr replied to محمد سعيد رشاد's topic in قسم الأكسيس Access
. لما قلت لي: . فهمت منها انك فهمتها وطبقتها!! وإلا ، كان بإمكانك ان تستوضح أكثر!! على العموم ، مثل ما قلت سابقا ، استعمل طريقة أخي محمود ، وياريت انك تسجل اعجابك بمشاركته . لا الفكرة جدا بسيطة ، فبدل ان تعمل alt+shift يدويا ، يقوم الكود بعمله جعفر -
البحث عن اي جزء من الكلمة (عنوان معدل)
jjafferr replied to بسام محمد صالح شعلان's topic in قسم الأكسيس Access
السلام عليكم أخي بسام لأن سؤالك توسع ، فرأيت ان اعمل موضوع منفصل لتعم الفائدة رجاء مراجعة الرابط التالي: http://www.officena.net/ib/topic/65856-هدية-البحث-عن-اي-جزء-من-الكلمة-،-في-اي-عدد-من-الحقول/ جعفر -
السلام عليكم ورحمة الله وبركاته الموضوع هذا بدأ بسؤال الرابط التالي: http://www.officena.net/ib/topic/65783-البحث-عن-اي-جزء-من-الكلمة-عنوان-معدل/ ولكن لأني غيرت الكود وجعلته يبحث في اي عدد من الحقول في السجل ، لذا رأيت ان اجعل له موضوعا مستقلا يمكنك البحث عن اي جزء من الكلمة ، واذا اردت البحث عن كلمة اخرى في السجل او جزء منها ، فما عليك الا ان تضع (مسافة او / او *) بين الكلمات ، فسيعتبرها البرنامج على انها كلمة اخرى يجب البحث عنها. الشئ المهم في الكود هو طريقة إضافة حقول جديدة للبحث فيها: هذا اول حقل يتم البحث فيه fld = "[كلمات ارشادية]" لما نريد ان نضيف حقول إضافية للبحث فيها ، يجب ان يكون الكود كالتالي fld = fld & " & ' ' & " & "[موضوع الخطاب]" fld = fld & " & ' ' & " & "[my other field]" وكل ما عليك الآن هو ان تطبع وترى نتيجة بحثك: . ملاحظة مهمة: اذا كان برنامجك على الشبكة ، فلا تضع الكود على "حدث التغيير" (معناه ، كلما اضفت/حذفت حرف ، فارجع الى الجدول وخذ البيانات منه) ، لأنه سيجعل البرنامج جدا بطئ ، وانما استخدم زر البحث. جعفر 309.Search_as_you_Type_Multiple_Fields_jj.mdb.zip
- 20 replies
-
- 11
-
-
حياك الله
-
مربع تحرير وسرد لتحديد لغه الادخال فى الفورم
jjafferr replied to محمد سعيد رشاد's topic in قسم الأكسيس Access
وعليكم السلام أخي محمود في الواقع اذا كان قصد الاخ محمد سعيد ان يغير لغة الكمبيوتر ، ويحتفظ بهذا التغيير لكل البرنامج (وليس للنموذج الذي هو عليه الان فقط) ،فطريقتك هي الاسهل والافضل ، (مع مراعاة إضافة كود محاذاة الحقل لليمين او اليسار عند الكتابة) اما اذا كان القصد للنموذج الحالي فقط ، فكذلك طريقة الاخ محمود الافضل ، مع مراعاة تغيير اللغة عند الخروج من النموذج الحالي ، (مع مراعاة إضافة كود محاذاة الحقل لليمين او اليسار عند الكتابة) طريقتي لا تلعب/تغير إعدادات الكمبيوتر ، وانما تستغل الاعدادات الموجودة في نماذج/حقول الاكسس جعفر -
وعليكم السلام الظاهر ان الكود اللي عملته الان صحيح ولكنك لم ترسل اي قيمة بالحقل EmpID ، اي ان الحقل EmpID فارغ ، لها السبب لا يوجد لديك سجل حيث قيمة EmpID تساوي لا شئ!! ولأني لا ارى برنامجك ، ومن خلال الصورة السابقة اللي ارفقتها انت ، ارى انك عملت الكود على حدث زر ، ولم تعمله كما قلت لك: . عندما تنقر على EmpID ، فقيمة EmpID ممكن اخذها من السجل الذي تم النقر عليه ، واما عندما تنقر في اي مكان آخر (زر الامر مثلا) ، فقيمة EmpID غير متوفرة!! جعفر
-
ممكن تشوف الرابط التالي ، كيف اني جعلت التقرير (وهو عبارة عن رسالة رسمية) بدون مربعات النص والمسافات اللي بينها ، فالبيانات اصبحت جزء من التقرير: http://www.officena.net/ib/topic/63872-مساعدة-بمعاينة-وطباعة-التقرير/?do=findComment&comment=416983 جعفر رجاء فتح سؤال خاص لهذا الموضوع ، والشباب ما بيقصروا معاك ان شاء الله جعفر
-
تفضل تم تغيير اعدادات النموذج "عقد ايجار" ، حتى يُظهر جميع السجلات (بدل ان يكون لإدخال البيانات فقط) ، تم عمل الاستعلام الالحاقي qry_Contracts_Append ، والذي يعمل نسخة من السجل الحالي في النموذج ، ويغير تاريخ الدخول الى تاريخ اليوم ، الاستعلام الالحاقي يعمل على الزر "عقد جديد" ، والذي يستنسخ العقد الحالي في النموذج ، ويعمل نسخة جديدة منه دون تغيير اي من البيانات ، سوى تاريخ الدخول ، عندك مشكلة اذا اردت تكرار رقم العقد ، فهو "رقم تلقائي" في الجدول ولا يمكن تكراره. جعفر 312.Rent_Renew.accdb.zip
-
طرح أرقام ليكون الناتج (يوم) ، (شهر) ، (سنة)
jjafferr replied to Omar_Kreem's topic in قسم الأكسيس Access
السلام عليكم أخي عمر في الواقع اخي شوقي قد اعطاك الجواب ، وانا جمعته مع بعض هذه النتيجة: . هنا انا استعملت استعلام لأقوم بالحسابات المطلوبة ، واستخدمت هذا الاستعلام كمصدر للتقرير. وستلاحظ اني حولت السنة/الشهر/اليوم الى تاريخ من (1) ، وتاريخ الى (2) ، ثم ارسلت هذين التاريخين الى الوحدة النمطية التي تخص المطلوب (يعني وحدة نمطية للسنين ، واخرى للاشهر وثالثة للايام ، والتي ارفقها الاخي شوقي في مشاركته في الموضوع). وهذا هو الكود: Option Compare Database Function CalcAge(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcAge = vYears & " ÓäÉ, " & vMonths & " ÔåÑ, " & vDays & " íæã" End Function Function CalcYears(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcYears = vYears End Function Function CalcMonths(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcMonths = vMonths End Function Function CalcDays(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcDays = vDays End Function جعفر 310.N1.mdb.zip -
أخي الفاضل لو تكرمت تخبرنا اسم النموذج الذي تريد ان تكرر سجله ، وتعطينا اي معلومات اخرى تفيدنا لهذه العملية
-
اولا العفو ثانيا انا اعتذر ثالثا لو وضعت انا المثال ، فستسألني ان اضعه في برنامجك ، ثم يا أخي انت صاحب السؤال ، تجمّل علينا بالجزئية من برنامجك اللي تريد العمل فيها ، لوسمحت
-
نعم اختي قومي بعمل استعلام الحاقي ، يأخذ بياناته من النموذج ، على اساس ID الموجود في النموذج مثلا ، يعني الحقي هذا السجل بنفس الجدول (وهنا يفضل ان يكون عندك حقل للترقيم التلقائي ، والذي يجب ان لا يكون في الاستعام الالحاقي). جعفر
-
الظاهر انك اخطأت في نسخ الكود الى برنامجك!! قارن بين كودك والكود اللي انا وضعته ، وستلاحظ انك التهمت الفواصل الاربعة ، ماشاء الله عليك ، اربعتهم وما لاحظت!! جعفر
-
وعليكم السلام نفترض ان النموذج الرئيسي اسمه frm_1 ، والنموذج الفرعي فيه اسمه sfrm_1 ، بينما النموذج القاني اسمه frm_2 ، ضع الكود التالي (يجب ان تختار اخد السطربن) على خدث النقر المزدوج على للحقل id في النموذج frm_1 او sfrm_1 : اذا كان id رقم DoCmd.OpenForm "frm_2", , , "[id]= " & Me.id واذا كان id نص DoCmd.OpenForm "frm_2", , , "[id]= '" & Me.id & "'" جعفر
-
وعليكم السلام اخي شوقي شوف الرابط ، المثال سيفيدك: http://www.officena.net/ib/topic/65783-توضيح-في-الاستعلام/ جعفر
-
مربع تحرير وسرد لتحديد لغه الادخال فى الفورم
jjafferr replied to محمد سعيد رشاد's topic in قسم الأكسيس Access
وعليكم السلام نعم تستطيع بكود مشابه: Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then 'English ctl.ReadingOrder = 1 ctl.KeyboardLanguage = 11 'Arabic ctl.ReadingOrder = 2 ctl.KeyboardLanguage = 3 ElseIf ctl.ControlType = acComboBox Then 'English ctl.KeyboardLanguage = 11 'Arabic ctl.KeyboardLanguage = 3 End If Next جعفر -
اعمل استعلام ، واربط الجدولين برقم الموظف ، انزل الحقول اللي تريدها ، واحفظ الاستعلام. الان انظر الى الرابط التالي ، وغير في الكود ، بدل اسم الجدول استعمل الاستعلام ، وغير اسم حقل البحث: http://www.officena.net/ib/topic/65783-توضيح-في-الاستعلام/ جعفر
-
طرح أرقام ليكون الناتج (يوم) ، (شهر) ، (سنة)
jjafferr replied to Omar_Kreem's topic in قسم الأكسيس Access
أخي عمر هل تريد: 1. طرح 11 شهر من 8 اشهر ، 2. ام تريد طرح الشهر 11 من الشهر 8؟ طبعا مافي فرق بينهم بالطريقة الاعتيادية ، ولكن الفرق يكون لما تريد تخصم الايام/الاشهر ، الاصغر من الاكبر ، يعني شوف المثال هذا: 5 يوم ، 8 شهر ، 13 سنة - 18 يوم ، 11 شهر ، 5 سنة = 5 +31 (لأننا اخذنا الشهر 8 وحولناه الى ايام ، والشهر 8 فيه 31 يوم) ، 7 + 12 (لأننا اخذنا سنه وحولناها الى 12 شهر) ، 12 سنة - 18 يوم ، 11 شهر ، 5 سنة وتصبح النتيجة (5+31) - 18 ، (7+12) - 11 ، 12 - 5 = 18 يوم ، 8 شهر ، 7 سنة جعفر