بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
مكتبة الموقع - التحكم بقاعدة بيانات الخلفية على الشبكة
jjafferr replied to ابو جودي's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 🙂 شكرا لك على هذه الكلمات الجميلة ، وانا شخصيا ، ونحن كمنتدى وإدارة المنتدى ، نعتز ونفتخر برؤية مشاركات فيها فائدة للجميع ، وبالذات بافكار جديدة 🙂 نحن محظوظين بوجودنا في قريتنا الصغيرة "منتدى افسينا" ، وبوجود الاعضاء جيران لنا ، وبالاخص جيران امثالكم 🙂 جعفر -
السلام عليكم 🙂 نعم ممكن 🙂 هذا الجدول الجديد، مثلا: تم تعديل الاستعلام والوحدة النمطية لتتضمن جميع الدرجات: والنتيجة: وهذه الوحدة النمطية المعدلة: Public Function Per(Deg As String, Final_Grade As Integer) As String 'Expr1: IIf([Deg1]="غـ","متخلف",IIf(((Val([Deg1])/20)*100)<50,"Less50",IIf(((Val([Deg1])/20)*100) Between 50 And 55,"50-55%",IIf(((Val([Deg1])/20)*100) Between 55.1 And 60,"55-60%",IIf(((Val([Deg1])/20)*100) Between 60.1 And 65,"60-65%",IIf(((Val([Deg1])/20)*100) Between 65.1 And 70,"65-70%",IIf(((Val([Deg1])/20)*100) Between 70.1 And 75,"70-75%",IIf(((Val([Deg1])/20)*100) Between 75.1 And 80,"75-80%",IIf(((Val([Deg1])/20)*100) Between 80.1 And 85,"80-85%",IIf(((Val([Deg1])/20)*100) Between 85.1 And 90,"85-90%",IIf(((Val([Deg1])/20)*100) Between 90.1 And 95,"90-95%",IIf(((Val([Deg1])/20)*100) Between 95.1 And 99.99,"95-99%","100%")))))))))))) Dim Grade As Double Grade = ((Val(Deg) / Final_Grade) * 100) If Deg = "غـ" Then Per = "متخلف" ElseIf Grade < 50 Then Per = "Less50" ElseIf Grade >= 50 And Grade <= 55 Then Per = "50-55%" ElseIf Grade >= 55.1 And Grade <= 60 Then Per = "55-60%" ElseIf Grade >= 60.1 And Grade <= 65 Then Per = "60-65%" ElseIf Grade >= 65.1 And Grade <= 70 Then Per = "65-70%" ElseIf Grade >= 70.1 And Grade <= 75 Then Per = "70-75%" ElseIf Grade >= 75.1 And Grade <= 80 Then Per = "75-80%" ElseIf Grade >= 80.1 And Grade <= 85 Then Per = "80-85%" ElseIf Grade >= 85.1 And Grade <= 90 Then Per = "85-90%" ElseIf Grade >= 90.1 And Grade <= 95 Then Per = "90-95%" ElseIf Grade >= 95.1 And Grade <= 99.99 Then Per = "95-99%" Else Per = "100%" End If 'Debug.Print "Grade of: " & Deg & "/" & Final_Grade & " = " & Per End Function وهذه نتيجة كل درجة على حدة: Grade of: 13/20 = 60-65% Grade of: 11/20 = 50-55% Grade of: 11/20 = 50-55% Grade of: 10/20 = 50-55% Grade of: 0/20 = Less50 Grade of: 0/20 = Less50 Grade of: 9/20 = Less50 Grade of: 8/20 = Less50 Grade of: 7/20 = Less50 Grade of: 6/20 = Less50 Grade of: 5/20 = Less50 Grade of: 12/20 = 55-60% Grade of: 12/20 = 55-60% Grade of: 3/20 = Less50 Grade of: 2/20 = Less50 Grade of: 1/20 = Less50 Grade of: 4/20 = Less50 Grade of: 6/30 = Less50 Grade of: 1/30 = Less50 Grade of: 2/30 = Less50 Grade of: 3/30 = Less50 Grade of: 20/30 = 65-70% Grade of: 20/30 = 65-70% Grade of: 9/30 = Less50 Grade of: 0/30 = Less50 Grade of: 7/30 = Less50 Grade of: 15/30 = 50-55% Grade of: 8/30 = Less50 Grade of: 20/30 = 65-70% Grade of: 19/30 = 60-65% Grade of: 18/30 = 55-60% Grade of: 16/30 = 50-55% Grade of: 14/30 = Less50 Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: 5/30 = Less50 Grade of: 17/30 = 55-60% Grade of: 14/50 = Less50 Grade of: 10/50 = Less50 Grade of: 11/50 = Less50 Grade of: 13/50 = Less50 Grade of: 20/50 = Less50 Grade of: 15/50 = Less50 Grade of: 16/50 = Less50 Grade of: 17/50 = Less50 Grade of: 18/50 = Less50 Grade of: 19/50 = Less50 Grade of: ÛÜ/50 = ãÊÎáÝ Grade of: 19/50 = Less50 Grade of: 12/50 = Less50 Grade of: 75/100 = 70-75% Grade of: 75/100 = 70-75% Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 50/100 = 50-55% Grade of: 60/100 = 55-60% Grade of: 70/100 = 65-70% Grade of: 65/100 = 60-65% Grade of: 40/100 = Less50 Grade of: 85/100 = 80-85% Grade of: 85/100 = 80-85% Grade of: 90/100 = 85-90% Grade of: 90/100 = 85-90% Grade of: 95/100 = 90-95% Grade of: 95/100 = 90-95% Grade of: 100/100 = 100% Grade of: 100/100 = 100% Grade of: 60/100 = 55-60% Grade of: 50/100 = 50-55% Grade of: 40/100 = Less50 Grade of: 0/100 = Less50 Grade of: 15/100 = Less50 Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 55/100 = 50-55% Grade of: 65/100 = 60-65% Grade of: 18/100 = Less50 Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 80/100 = 75-80% Grade of: 80/100 = 75-80% Grade of: 30/100 = Less50 Grade of: 13/20 = 60-65% Grade of: 11/20 = 50-55% Grade of: 11/20 = 50-55% Grade of: 10/20 = 50-55% Grade of: 0/20 = Less50 Grade of: 0/20 = Less50 Grade of: 9/20 = Less50 Grade of: 8/20 = Less50 Grade of: 7/20 = Less50 Grade of: 6/20 = Less50 Grade of: 5/20 = Less50 Grade of: 12/20 = 55-60% Grade of: 12/20 = 55-60% Grade of: 3/20 = Less50 Grade of: 2/20 = Less50 Grade of: 1/20 = Less50 Grade of: 4/20 = Less50 Grade of: 6/30 = Less50 Grade of: 1/30 = Less50 Grade of: 2/30 = Less50 Grade of: 3/30 = Less50 Grade of: 20/30 = 65-70% Grade of: 20/30 = 65-70% Grade of: 9/30 = Less50 Grade of: 0/30 = Less50 Grade of: 7/30 = Less50 Grade of: 15/30 = 50-55% Grade of: 8/30 = Less50 Grade of: 20/30 = 65-70% Grade of: 19/30 = 60-65% Grade of: 18/30 = 55-60% Grade of: 16/30 = 50-55% Grade of: 14/30 = Less50 Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: 5/30 = Less50 Grade of: 17/30 = 55-60% Grade of: 14/50 = Less50 Grade of: 10/50 = Less50 Grade of: 11/50 = Less50 Grade of: 13/50 = Less50 Grade of: 20/50 = Less50 Grade of: 15/50 = Less50 Grade of: 16/50 = Less50 Grade of: 17/50 = Less50 Grade of: 18/50 = Less50 Grade of: 19/50 = Less50 Grade of: ÛÜ/50 = ãÊÎáÝ Grade of: 19/50 = Less50 Grade of: 12/50 = Less50 Grade of: 75/100 = 70-75% Grade of: 75/100 = 70-75% Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 50/100 = 50-55% Grade of: 60/100 = 55-60% Grade of: 70/100 = 65-70% Grade of: 65/100 = 60-65% Grade of: 40/100 = Less50 Grade of: 85/100 = 80-85% Grade of: 85/100 = 80-85% Grade of: 90/100 = 85-90% Grade of: 90/100 = 85-90% Grade of: 95/100 = 90-95% Grade of: 95/100 = 90-95% Grade of: 100/100 = 100% Grade of: 100/100 = 100% Grade of: 60/100 = 55-60% Grade of: 50/100 = 50-55% Grade of: 40/100 = Less50 Grade of: 0/100 = Less50 Grade of: 15/100 = Less50 Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 55/100 = 50-55% Grade of: 65/100 = 60-65% Grade of: 18/100 = Less50 Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 80/100 = 75-80% Grade of: 80/100 = 75-80% Grade of: 30/100 = Less50 جعفر 1022.Problem 55-2003.mdb.zip
-
ظهور الترتيب فى التقرير كما تم ترتيبه فى النموذج
jjafferr replied to محمد احمد لطفى's topic in قسم الأكسيس Access
تفضل 🙂 الطريقة هي: فتح التقرير للمعاينه (بطريقة مخفية) ، في التقرير ، في خانة الفرز ، نرسل اليه فرز النموذج الفرعي ، ثم نعطي التقرير الأمر بالقيام بالفرز ، (وفي سطر آخر كذلك يمكننا ان نرسل اليه تصفية النموذج الفرعي Filter ، ثم يجب ان نعطي التقرير الأمر بالقيام بالتصفية FilterOn) ، ثم نطبع التقرير ، ثم نغلق التقرير . فرز التقرير حسب فرز النموذج الفرعي: DoCmd.OpenReport "Q1", acViewPreview, , , acHidden Reports!Q1.OrderBy = Me.SUB.Form.OrderBy Reports!Q1.OrderByOn = True Dim PauseTime, Start PauseTime = 1 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop DoCmd.OutputTo acOutputReport, "Q1", acFormatPDF, ("RateCard" & Format(Now(), "mmmyyyy hhmmss") & ".pdf"), True DoCmd.Close acReport, "Q1", acSaveNo . وعلى هذا القياس تستطيع عمل تصفية كذلك 🙂 جعفر 1027.test2000.mdb.zip -
تفضل ، والطريقة اللي تريدها هي رقم 2 في الرابط جعفر
-
السلام عليكم ورحمة الله وبركاته الاستعلام يُعتبر العمود الفقري لقواعد البيانات ، وكلما زادت معرفتنا به ، كلما يصبح البرنامج افضل واسرع 🙂 البحث/التصفية في الاستعلام من الطرق المهمة ، ولكن وللأسف الشديد ، ارى الكثير من المبرمجين لا يعرفون الطريقة الصحيحة في عملها ، فالطريقة الغير صحيحة قد تعطيك النتائج ولكن على حساب وقت تنفيذ الاستعلام 😞 الامثله هنا تقوم على انه يوجد لدينا نموذج اسمه frm_Main ، وبه حقل الاسم fName ، وحقل التاريخ:من Date_From ، وحقل التاريخ:الى Date_To ، والحقول في الاستعلام ، حقل الاسم fName ، وحقل التاريخ DateX . 1. اذا اردنا البحث عن اسم كامل (وليس جزء من اسم) ، فيجب ان يكون المعيار في الاستعلام: [forms]![frm_Main]![fName] 2. واذا كان حقل الاسم فارغا في النموذج ، ونريد ان نرى جميع الاسماء ، فالمعيار يصبح: iif(len([forms]![frm_Main]![fName] & '')=0,[fName],[forms]![frm_Main]![fName]) والشرح للتأكد بأن الحقل فارغ في النموذج، بدل ان نكتب IsNull([forms]![frm_Main]![fName]) or [forms]![frm_Main]![fName]=0 فإننا نختصر هذين الشرطين بشرط واحد len([forms]![frm_Main]![fName] & '')=0 iif(كان الحقل فارغ في النموذج,[fName] اعطنا جميع بيانات الحقل,[forms]![frm_Main]![fName]واذا كان الحقل به قيمة فاستعمل هذه القيمة) . 3. اذا اردنا البحث عن جزء من الاسم Like IIf(Len([forms]![frm_Main]![fName] & '')=0,"*","*" & [forms]![frm_Main]![fName] & "*") والشرح IIf(Len([forms]![frm_Main]![fName] & '')=0 نعم Like "*" لا Like "*" & [forms]![frm_Main]![fName] & "*") . 4. اذا اردنا البحث بين تاريخين بدون سجلات التاريخ الفارغة Between (IIf(Len([Forms]![frm_main]![Date_From] & '')=0,#01-Jan-1900#,[Forms]![frm_main]![Date_From])) And (IIf(Len([Forms]![frm_main]![Date_To] & '')=0,#01-Jan-2900#,[Forms]![frm_main]![Date_To])) والشرح Between (IIf(Len([Forms]![frm_main]![Date_From] & '')=0,#01-Jan-1900#,[Forms]![frm_main]![Date_From])) And (IIf(Len([Forms]![frm_main]![Date_To] & '')=0,#01-Jan-2900#,[Forms]![frm_main]![Date_To])) مع سجلات التاريخ الفارغة Between (IIf(Len([Forms]![frm_main]![Date_From] & '')=0,#01-Jan-1900#,[Forms]![frm_main]![Date_From])) And (IIf(Len([Forms]![frm_main]![Date_To] & '')=0,#01-Jan-2900#,[Forms]![frm_main]![Date_To])) Or [DateX] Is Null والشرح Between (IIf(Len([Forms]![frm_main]![Date_From] & '')=0,#01-Jan-1900#,[Forms]![frm_main]![Date_From])) And (IIf(Len([Forms]![frm_main]![Date_To] & '')=0,#01-Jan-2900#,[Forms]![frm_main]![Date_To])) Or [DateX] Is Null او طريقة استاذنا واخونا العود ابو خليل Between nz([forms]![frm_main]![Date_From];"01/01/1900") And nz([forms]![frm_main]![Date_To];"01/01/2100") . جعفر
- 24 replies
-
- 17
-
-
-
وعليكم السلام 🙂 هذا يعتمد على طريقة عملك للبحث ، هل عن طريق الاستعلام ، او بالكود في النموذج مباشرة عن طريق Filter ، او بالكود وتغيير Recordset او تغيير RecordSource ، جعفر
-
ظهور الترتيب فى التقرير كما تم ترتيبه فى النموذج
jjafferr replied to محمد احمد لطفى's topic in قسم الأكسيس Access
وعليكم السلام 🙂 هنا ترى احد الطرق: جعفر -
وعليكم السلام ورحمة الله وبركاته 🙂 واهلا وسهلا بك في المنتدى 🙂 في الواقع السؤال هو ، هل قرأت قوانين المنتدى قبل طرحك للسؤال؟ قسم الأكسيس Access تابع هذا القسم 58 Access هذا المنتدى مخصص لمشاركات الأكسيس قواعد المشاركة فى الموقع و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف رجاء عمل موضوع جديد وفق شروط المنتدى 🙂 يُقفل الموضوع. جعفر
-
تعبئة حقول بناء على اختيار حقل داخل النموذج
jjafferr replied to ASD-pcit's topic in قسم الأكسيس Access
وعليكم السلام ما اعرف شو المطلوب الآن؟ جعفر -
وعليكم السلام ورحمة الله وبركاته حيالله حبيبنا الغالي واخونا العود ابو خليل 🙂 اي والله من سفره طويله الى سفرات قصيرة الى سفره طويله من يوم الاحد الجاي ان شاء الله 🙂 ويا صباح الخيرات اخي jo_2010 وبعد اذن حضرتك ، فأنا لم اعدك لأني كنت اعرف مسبقا اني على سفر ووقتي سيكون جدا ضيق ، لهذا السبب كتبت لك ، ولكن وللأسف ماصار لي وقت ، وسافرت !!
-
فتح تقريرين ببيانات مختلفه علي حسب تصفية الاستعلام الجدولي
jjafferr replied to jo_2010's topic in قسم الأكسيس Access
وعليكم السلام 🙂 اخي jo_2010 1. انت لازلت تقوم بإرفاق برنامجك القديم ، مع اني قمت بالتعديل عليه هنا وقام أخونا الفاضل ابو خليل بعمل تقريبا نفس التعديل هنا (يعني بدأ من الصفر بالتعديل) مما يأخذ الوقت من اللي يريد يساعدك ، فياريت تشتغل على آخر مرفق 🙂 2. اذا لم تحصل على رد لموضوعك ، فهذا قد يكون بسبب ان موضوعك غير واضح ، لذلك اذا ارفقت مثال او مثالين لطريقة الجواب المرجّوه في ملف اكسل او وورد او عمل صورة مثلا ، فهذا سيسهل الموضوع كثيرا علينا. جعفر -
تعبئة حقول بناء على اختيار حقل داخل النموذج
jjafferr replied to ASD-pcit's topic in قسم الأكسيس Access
وعليكم السلام 🙂 شغلك كان تمام ، ولكنه يحتاج لبعض التعديل 🙂 ولا انصحك ابدا بأن تغير فإنك ستدخل في مشاكل وصعوبات جديده انت في غنى عنها ، فلا اعلم احد يستطيع حفظ الاسم الكامل لجميع الاطباء !! المقترحات: تغيير 1 و 2 و 3 الى مربعات نص ، . عمل كود لحدث بعد التحديث لإسم الطبيب ، ويكون فيه الكود التالي: me.t2= me.[الطبيب المعالج].column(1) me.n1= me.[الطبيب المعالج].column(2) me.f1= me.[الطبيب المعالج].column(3) . تغيير مصدر سجلات اسم الطبيب الى . وتعديل اعدادات الحقل الى . والنتيجة: . جعفر 1025.d1.accdb.zip -
وعليكم السلام 🙂 هذه طريقة ادخال البيانات في الاكسل ، وهي ليست صحيحة لقاعدة بيانات !! الطريقة الصحيحة هي شيء من هذا القبيل: وحينها تقدر عمل اي شيء تريد 🙂 جعفر 1024.barna.accdb.zip
-
حيالله اخوي ابو الآء 🙂 هممم ، اذا قصدك تعمل جدول خاص للارقام ، وتكتب فيه الارقام 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 ... 100 وفي حقل آخر في الجدول تكتب النسبة لكل رقم ، ثم في استعلام تربط حقل رقم هذا الجدول بمعدل الطالب في الجدول الآخر ، ثم تعطيه على هذا الاساس النسبة ، فنعم ممكن 🙂 جعفر
-
انا لا اعرف شيء عن الكود ، ولم اجربه ولن استطيع مساعدتك اذا كان فيه مشكله ، وانما فقط لهذه الجزئية "اعتقد" بانه يجب عليك القيام بهذه التغييرات: بدل هذا السطر اكتب والغي هذه السطور 'Prompt user if there are additional pages to scan ContScan = MsgBox("Scan another page?", vbQuestion + vbYesNo, "Continue...?") If ContScan = vbNo Then blnContScan = False End If جعفر
-
وعليكم السلام 🙂 اذا كان في حقل الاستعلام شروط كثيرة ، فأنا الجأ الى الوحدة النمطية لتسهيل الامر ، وهذا ما فعلته هنا 🙂 . والنتيجة . والوحدة النمطية: Option Compare Database Option Explicit Public Function Per(Deg As String) As String 'Expr1: IIf([Deg1]="غـ","متخلف",IIf(((Val([Deg1])/20)*100)<50,"Less50",IIf(((Val([Deg1])/20)*100) Between 50 And 55,"50-55%",IIf(((Val([Deg1])/20)*100) Between 55.1 And 60,"55-60%",IIf(((Val([Deg1])/20)*100) Between 60.1 And 65,"60-65%",IIf(((Val([Deg1])/20)*100) Between 65.1 And 70,"65-70%",IIf(((Val([Deg1])/20)*100) Between 70.1 And 75,"70-75%",IIf(((Val([Deg1])/20)*100) Between 75.1 And 80,"75-80%",IIf(((Val([Deg1])/20)*100) Between 80.1 And 85,"80-85%",IIf(((Val([Deg1])/20)*100) Between 85.1 And 90,"85-90%",IIf(((Val([Deg1])/20)*100) Between 90.1 And 95,"90-95%",IIf(((Val([Deg1])/20)*100) Between 95.1 And 99.99,"95-99%","100%")))))))))))) Dim Grade As Double Grade = ((Val(Deg) / 20) * 100) If Deg = "غـ" Then Per = "متخلف" ElseIf Grade < 50 Then Per = "Less50" ElseIf Grade >= 50 And Grade <= 55 Then Per = "50-55%" ElseIf Grade >= 55.1 And Grade <= 60 Then Per = "55-60%" ElseIf Grade >= 60.1 And Grade <= 65 Then Per = "60-65%" ElseIf Grade >= 65.1 And Grade <= 70 Then Per = "65-70%" ElseIf Grade >= 70.1 And Grade <= 75 Then Per = "70-75%" ElseIf Grade >= 75.1 And Grade <= 80 Then Per = "75-80%" ElseIf Grade >= 80.1 And Grade <= 85 Then Per = "80-85%" ElseIf Grade >= 85.1 And Grade <= 90 Then Per = "85-90%" ElseIf Grade >= 90.1 And Grade <= 95 Then Per = "90-95%" ElseIf Grade >= 95.1 And Grade <= 99.99 Then Per = "95-99%" Else Per = "100%" End If End Function جعفر 1022.Problem 55-2003.mdb.zip
-
جرب هذا الاقتراح جعفر
-
قواعد المشاركة فى الموقع و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. اخي الفاضل ، رجاء الالتزام بقوانين المنتدى ، المنتدى مليء بالخبراء ، ولكن كلً حسب وقته ، ولو انك عملت بحث في المنتدى لوجدت ان مثل هذا الموضوع قد تم مناقشته وبأمثله كثيرة. جعفر
-
ارفاق صورة من نفس مجلد قاعدة البيانات
jjafferr replied to tiger wanted's topic in قسم الأكسيس Access
وعليكم السلام 🙂 وهنا شرحت طريقة عملي لمثل هذه الامور: جعفر -
وعليكم السلام 🙂 اخي الفاضل ، الآن فقط انتهيت من عمل مهم ، وغدا على سفر ، ولكن اذا الله سبحانه وتعالى كتب لي ، فإن شاء الله بكرة الصبح القي نظرة على المرفق 🙂 جعفر
-
تفضل 🙂 وغير MMMM الى اسم حقل الشهر DLookup("[Months_Number]", "tbl_Months", "[Months_Iraqi]='" & [MMMM] & "'") جعفر
-
التحقق من المدخلات ومنع التكرار بشرط تكرار 3 حقول معا
jjafferr replied to midomashakel's topic in قسم الأكسيس Access
وعليكم السلام 🙂 تفضل: Dim strSQL As String Dim intHow_Many As Integer مشكلة اكثر من معيار ، هي الطريقة الصحيحة في كتابة الصيغة لذلك، خلينا نتعامل مع حقل واحد كل مرة، لنتفادى الخطأ strSQL = "[KararNom]='" & Me.KararNom & "'" 'نعمل اول معيار في المتغير strSQL strSQL = strSQL & " And [KararYear]='" & Me.KararYear & "'" 'نضيف معيار الحقل الثاني strSQL = strSQL & " And [CompID]=" & Me.CompId 'نضيف معيار الحقل الثالث الآن اصبح المتغير strSQL يحتوي على جميع المعايير، وبالصيغه الصحيحة، اذن فالنستعمله في الامر التالي كم عدد السجلات التي يوجد بها هذه المعايير intHow_Many = DCount("*", "TblKararat", strSQL) If intHow_Many > 0 Then اذا كان عدد السجلات اكثر من صفر، فمعناه ان اسم الموظف موجود مسبقا لذا، اوقف العملية واخبر المستخدم، ولا تحفظ السجل MsgBox "لقد تم تسجيل هذا الموظف مسبقا" Exit Sub End If جعفر -
وعليكم السلام 🙂 لا يوجد نموذج فرعي في مرفقك!! على العموم ، هذا تصحيح للكود الموجود في نموذجك: Private Sub Worker_BeforeUpdate(Cancel As Integer) Dim strSQL As String Dim intHow_Many As Integer strSQL = "[Worker]='" & Me.Worker & "'" intHow_Many = DCount("*", "Workermain", strSQL) If intHow_Many > 0 Then MsgBox "لقد تم تسجيل هذا الموظف مسبقا" cancel=true me.Undo Exit Sub End If End Sub جعفر