-
Posts
9998 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
406
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
السلام عليكم كنت محتاج غفوة شكرا اخي شفان ، ولكن اذا كان عندك اكثر من شخص ، فاستعلامك يعطيك اكبر 3 قيم لشخص واحد فقط هذه بيانات الجدولين: . استعملت الاستعلام التالي لنحصل على اكبر 3 نتائج لكل شخص: SELECT insert.idd, sub.reading FROM [insert] INNER JOIN sub ON insert.idd = sub.id WHERE (((sub.reading) In (SELECT TOP 3 sub.reading FROM sub WHERE sub.id=[insert].[idd] ORDER BY sub.reading DESC))); . وهذا شكله في التصميم . والنتيجة . ثم عملت استعلام تجميعي لنحصل على المتوسط . والنتيجة . جعفر 768.Database1.accdb.zip
-
رجاء ترفق الجداول حتى نعمل الاستعلام
-
يجب عمل استعلام وتربط فيه الجدولين ، ثم تجعل الاسم الحقل الاول والفرز تصاعدي Asc ، ثم تجلب الحقل المطلوب وتجعل الفرز تنازلي Desc جعفر
-
اخفاء حقل واحد بشرط فورم Continuous Forms
jjafferr replied to Ahmed.IQ's topic in قسم الأكسيس Access
-
شكرا اخي رعد ، ولكنك لم توضح ماهو المطلزب جعفر
-
وعليكم السلام اعمل الفرز للحقل المطلوب من الاكبر الى الاصغر Desc. جعفر
-
وعليكم السلام اخي كريمو ان شاء الله تكون في صحة وعافية ، صار لي زمان ما شفت لك مشاركة رجاء تخبرني الطريقة اللي اوصل للمكان المطلوب (لأن الظاهر ان المسميات العربية والانجليزية في سؤالك تداخلت ، وجعلت السؤال غير مفهوم) ، جعفر
-
الظاهر من الكود ان التسلسل تمام!! اعمل التالي: شوف الرابط التالي اللي بتدخل به داخل الكود ، واعمل النقطة رقم 1 على اول سطر عندك في الكود ، وشغل النموذج الى ان يجي التركيز على الزر ، عندها بينقلك البرنامج الى الكود ، والسطر اللي يكون باللون الاصفر ما بيكون البرنامج قد نفّذه ، فكل اللي عليك عمله هو الضغط على الزر F8 من لوحة المفاتيح كيبورد ، واللي بينتقل السطر الاصفر للسطر التالي حسب طلب الكود. المطلوب منك هو: انت تدري اي حقل يجب ان ينتقل اليه الكود ، ثم اي حقل تالي ، فأثناء متابعتك للكود ، لاحظه لما ينتقل الى سطر غلط في تسلسل حقول النموذج ، وعندها خلي مؤشر الفأرة على اسماء الحقول في الكود لتعرف قيمتها ، ومنها نتعرف وين المعادلة الخطأ. بهذه الطريقة تعرف وين المشكلة ، وبعدين تشوف شو طريقة حل المشكلة جعفر
-
اخفاء حقل واحد بشرط فورم Continuous Forms
jjafferr replied to Ahmed.IQ's topic in قسم الأكسيس Access
وعليكم السلام 1. بالنسبة للنموذج المستمر ، اي تغيير تعمله في حقل ، فسيغير الحقل في جميع السجلات ، لهذا السبب يجب عليك استعمال التنسيق المشروط Conditional Formating ، فيمكنك ان تغير لون الخط الى ابيض مثلا ، فيكون كأنه مخفي 2. في اعدادات النموذج ، اجعل Allow Additions = No جعفر -
وعليكم السلام أخوي كاسر واسعد الله ايامكم بهذا اليوم المبارك انا نظرت الى الكود وليس على طريقة عمله ، وشفت ان المشكلة انك ما رابط Else مع IF اللي خلفها ، فالمفروض ان الجمله تكون ElseIf مثل بقية الكود اللي فوق واللي بدون مشاكل ، وهذا مثال: فانت هنا ضيعت الكود ، وما اعطيته الطريقة الصحيحة لفحص الشرط If IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Kinship]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Kinship].SetFocus Else If IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![service]) Then Forms![Forme_Fatora]![Forme_Visitors2]![service].SetFocus Else If IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Travel]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Travel].SetFocus Else If IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary].SetFocus End If وهذا تعديل الكود من طرفي ، مع تعديل التنسيق ، حتى كل شيء يكون واضح ومرتب: Private Sub sav_GotFocus() If (IsNull(Me![Num_brnamge])) Then MsgBox "أدخل رقم الرحلة ", 48, "تـنـبـيـه !" Me.Num_brnamge.SetFocus ElseIf (IsNull(Me![PcDigtf])) Then MsgBox "أدخل رقم الزائر ", 48, "تـنـبـيـه !" Me.PcDigtf.SetFocus ElseIf (IsNull(Me![Fdate])) Then MsgBox "أدخل تاريخ الفاتورة ", 48, "تـنـبـيـه !" Me.Fdate.SetFocus ElseIf (IsNull(Forms![Forme_Fatora]![Forme_Visitors]![Independent_Facilities])) _ Or (Forms![Forme_Fatora]![Forme_Visitors]![Independent_Facilities] = "") Then MsgBox "أدخل الوضع !!!", 48, "تـنـبـيـه !" Forms![Forme_Fatora]![Forme_Visitors].SetFocus Forms![Forme_Fatora]![Forme_Visitors]![Independent_Facilities].SetFocus ElseIf (IsNull(Forms![Forme_Fatora]![Forme_Visitors]![service])) _ Or (Forms![Forme_Fatora]![Forme_Visitors]![service] = "") Then MsgBox "أدخل الخدمة المطلوبة !!!", 48, "تـنـبـيـه !" Forms![Forme_Fatora]![Forme_Visitors].SetFocus Forms![Forme_Fatora]![Forme_Visitors]![service].SetFocus ElseIf (Forms![Forme_Fatora]![Forme_Visitors]![service] <= 5 _ And (IsNull(Forms![Forme_Fatora]![Forme_Visitors]![Travel])) _ Or (Forms![Forme_Fatora]![Forme_Visitors]![Travel] = "")) Then MsgBox "أدخل طريقة السفر !!!", 48, "تـنـبـيـه !" Forms![Forme_Fatora]![Forme_Visitors].SetFocus Forms![Forme_Fatora]![Forme_Visitors]![Travel].SetFocus ElseIf (Forms![Forme_Fatora]![Forme_Visitors]![service] <= 5 _ And (IsNull(Forms![Forme_Fatora]![Forme_Visitors]![Itinerary])) _ Or (Forms![Forme_Fatora]![Forme_Visitors]![Itinerary] = "")) Then MsgBox "أدخل خط سير الرحلة !!!", 48, "تـنـبـيـه !" Forms![Forme_Fatora]![Forme_Visitors].SetFocus Forms![Forme_Fatora]![Forme_Visitors]![Itinerary].SetFocus End If 'IsNull(Me![Num_brnamge] '"===== If DCount("[id_visitors2]", "Tabil_Visitors2", "[Id_fatora]=id") < 1 And _ ((Forms![Forme_Fatora]![Forme_Visitors]![Independent_Facilities])) = 2 Then MsgBox "أدخل المرافقين !!!", 48, "تـنـبـيـه !" Forms![Forme_Fatora]![Forme_Visitors2].SetFocus Forms![Forme_Fatora]![Forme_Visitors2]![PcDigtv2].SetFocus '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 'ملاحظة 'من هنا تبدأ مشكلة تداخل الكود '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ElseIf Not (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![PcDigtv2]) _ Or (Forms![Forme_Fatora]![Forme_Visitors2]![PcDigtv2] = "")) Then On Error Resume Next Me.Forme_Visitors2.SetFocus On Error GoTo 0 DoCmd.GoToRecord , , acFirst For i = 0 To Me.Forme_Visitors2.Form.Recordset.RecordCount - 1 If Not (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![PcDigtv2])) _ And (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Kinship])) _ Or (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![service])) _ Or (Forms![Forme_Fatora]![Forme_Visitors2]![service] <= 5) _ And (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Travel])) _ Or (Forms![Forme_Fatora]![Forme_Visitors2]![service] <= 5) _ And (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary])) Then MsgBox "أدخل هذا الحقل !!!", 48, "تـنـبـيـه !" If IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Kinship]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Kinship].SetFocus ElseIf IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![service]) Then Forms![Forme_Fatora]![Forme_Visitors2]![service].SetFocus ElseIf IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Travel]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Travel].SetFocus ElseIf IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary].SetFocus End If 'IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Kinship]) Exit Sub End If 'Not DoCmd.GoToRecord , , acNext Next i End If 'DCount جعفر
-
حياك الله ولكي يكتمل الكود ، يجب ان تفحص الجدول اذا كانت هذه القيمة تم اضافتها سابقا ، وإلا فسيكون عندك تكرار في سجلات الجدول 2 جعفر
-
-
تفضل هذا الكود يقوم بالعمل: Private Sub cmd_Do_Records_Click() Dim i As Integer Dim rst As dao.Recordset Set rst = CurrentDb.OpenRecordset("Select * From [2]") For i = Me.NumFrom To Me.NumTo rst.AddNew rst!ID = Me.ID rst![name] = Me!name rst!Numall = i rst![date] = Me.[date] rst.Update Next i rst.Close: Set rst = Nothing MsgBox "Done" End Sub جعفر 759.Database22.accdb.zip
-
وعليكم السلام انا اعرض عليك طريقة التصفح فقط اذا فهمت سؤالك صح ، فانت تريد مواضيع قسم الاكسس اللي في الموقع ، ابتدأ من الموضوع 1 الى 774 ، كل اللي عليك تعمله هو عمل سجلات من 1 الى 774 بهذه الطريقة (فقط تغير الرقم 20 بالرقم المطلوب) ، https://www.officena.net/ib/topic/20-؟ . وكود عمل هذه السجلات ممكن يكون هكذا: dim rst as dao.recordset set rst=currentdb.openrecordset("Select * From [اسم الجدول]") for i = 1 to 774 rst.addnew rst![اسم الحقل]="https://www.officena.net/ib/topic/" & i & "-?" rst.update next i rst.close:set rst=nothing . ويمكنك استخدام احد برامجي من الروابط التاليه ، وتطويعها لتصفح صفحات الموقع: . . . وشيخ البرامج اعلاه . جعفر
-
وعليكم السلام انت محتاج هذا الكود ليحسب عدد السجلات في النموذج الفرعي fd If Me.frmsubSearch_sales.Form.Recordset.recordcount = 0 Then MsgBox "عفوا ، لا توجد فواتير بهذا الرقم" End If . ويكون في احد احداث الحقل n3 ، سواء بعد التحديث او قبل التحديث او حتى في نهاية الكود الموجود حاليا جعفر
-
برنامج مبيعات ومشتريات جاهز ( اهداء لكم )
jjafferr replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
حياك الله وشكرا على التقرير جعفر -
لما عملت الكود اعلاه على زر الحفظ ، هل عندك نموذج بإسم frm_Main وبه حقل بإسم iRjmFatwra ؟ هناك عدة طرق تأتي على بالي لمنع تكرار ادخال البيانات ، منها في الاستعلام ، بحيث نجمع اكثر من حقل مع بعض ، مثلا: chk_Dup: [Rjmfatwra] & [Rajmsanf] & [Alkmiah] & [NoEmp] & [Atarih] ثم نقارن بيانات النموذج الفرعي بهذه البيانات عن طريق Dlookup مثلا ، فاذا موجود سجل واحد منها ، فهذا دليل انه تم حفظ البيانات سابقا ، او بعد الحفظ ، نجعل الزر غير مفعّل: me.أمر16.enabled=false ثم عند فتح فاتورة ثانية (او اي طريقة تعتقد انها مناسبة) ، تعمل تفعيل للزر. جعفر
-
استعلام ضمن نطاق استخراج كلمة من مسار ملف ضمن نطاق معين
jjafferr replied to AboSaad17's topic in قسم الأكسيس Access
اعتذر بدل instrev اكتب instrrev . اما الطريقة الثانية فتعمل تمام وبدون تعديل وتفضل ، كل الطرق الاربعة في استعلام: SELECT Mid([PicFile],InStrRev([PicFile],"\")+1) AS City, Replace(Replace(Mid([PicFile],InStrRev([PicFile],"\")+1),".png",""),".jpg","") AS City2, Replace([PicFile],"C:\Teed\","") AS city3, Replace(Replace(Replace([PicFile],"C:\Teed\",""),".png",""),".jpg","") AS city4 FROM tbl_pic; . جعفر -
وعليكم السلام 1. رجاء شرح المطلوب بالتفصيل ، وبإستخدام اسماء جداول ونماذج واستعلامات وتقارير وحقول ، من واقع برنامجك المرفق ، 2. اعطائنا مثالين (وليس مثال واحد) من واقع برنامجك المرفق ، وتستطيع عمله بالاكسل او الوورد او بصورة ، 3. اعطاء اي معلومة اضافية اخرى تفيدنا في حل سؤالك جعفر
-
استعلام ضمن نطاق استخراج كلمة من مسار ملف ضمن نطاق معين
jjafferr replied to AboSaad17's topic in قسم الأكسيس Access
وعليكم السلام جرب هذا : City: mid([PicFile],instrev([PicFile],"\")+1) واما اذا اردت الاسم فقط City: replace(replace(mid([PicFile],instrev([PicFile],"\")+1),".png",""),".jpg","") . او city: replace([PicFile],"C:\Teed\","") والاسم فقط city: replace(replace(replace([PicFile],"C:\Teed\",""),".png",""),".jpg","") جعفر -
وعليكم السلام 1. احنا في الاستعلام وضعنا معيار ، والمعيار به اسم النموذج واسم الحقل ، لذلك لا نستطيع استعماله في نموذج آخر!! نعم هناك طريقة انا استخدمها في جميع برامجي تقريبا ، وهي: أ. عندي نموذج واجهة frm_Main دائما مفتوح ، واعمل فيه مجموعة حقول مخفية وغير مضمنه ولا مرتبطة بشيء ، ب. فإذا اردت ان اجعل معيار الاستعلام يعمل لجميع النماذج ، اعمل التالي: اُسمي احد حقول النموذج الرئيسي frm_Main ، اسم iRjmFatwra ، قبل استعمال الاستعلام (سواء استعمال الاستعلام بمفرده او كمصدر بيانت لنموذج او تقرير) ، اعمل التالي: Forms!frm_Main!iRjmFatwra = me.RjmFatwra DoCmd.OpenQuery "QHRR" . وبدل ان يكون المعيار في الاستعلام هكذا: . يصبح هكذا ، وبهذه الطريقة يمكن استعمال هذا الاستعلام لعدة نماذج وتقارير . 2. المعيار الوحيد الذي وضعناه في الاستعلام هو رقم الفاتورة ، فإذا فاتورة الشراء بها رقم ، فالجواب سيكون نعم يمكنك استخدامه هناك ايضا شيء آخر لايزال يقلقني في الاستعلام الذي عملناه في برنامجك!! ماذا لو ضغط المستخدم على زر الحفظ عدة مرات ، فهذا سيُلحق البيانات عدة مرات الى الجدول!! لهذا السبب يجب عليك ان تنظر في هذا الموضوع وتجد له حل جعفر
-
السلام عليكم أخي الفاضل ، لما لا تجد رد على سؤالك ، فهذا معناه ، يا انه صعب فوق مستوى الاعضاء ، او انه غير مفهوم ، ومن واقع الاسئلة ، فالحمدلله عندنا من الاعضاء من نفتخر بعلمهم عالميا ، فيبقى موضوع ان سؤالك غير مفهوم ، وهذا يتطلب منك: 1. ارفاق برنامجك وفيه بيانات كافية للعمل ، 2. شرح المطلوب بالتفصيل ، وبإستخدام اسماء جداول ونماذج واستعلامات وتقارير وحقول ، من واقع برنامجك المرفق ، 3. اعطائنا مثالين (وليس مثال واحد) من واقع برنامجك المرفق ، وتستطيع عمله بالاكسل او الوورد او بصورة ، 4. اعطاء اي معلومة اضافية اخرى تفيدنا في حل سؤالك نعم ، هذا يتطلب منك اخذ الوقت لتجميع كل هذا ، ولكن تذكر: أ. بأنك افضل شخص/مبرمج يعرف برنامجك ، فنحن لا نعرف عنه شيء ، ب. الافضل ان تتأخر بضع ساعات لتجميع/عمل الشرح بالمعطيات اعلاه ، ولا الانتظار عدة ايام بدون الحصول على رد جعفر
-
وطريقة اخرى للكود اعلاه Private Sub DocHid() Dim ctrl As Control For Each ctrl In Me.Controls If ctrl.Tag = "DocHidTg" And ctrl.Value = val("0") Then ctrl.Visible = False End If Next End Sub . اما بالنسبة الى سؤالك الثاني: هذا الكود يقرا كائنات النموذج الذي يفتح منه فقط ، يعني اذا فتحت الكود في النموذج الرئيسي (بغض النظر عن اي حدث) ، فسيقرأ كائناته فقط ، واذا فتحت الكود في النموذج الفرعي (بغض النظر عن اي حدث) ، فسيقرأ كائناته فقط ، If ctrl.Tag = "Admin2Tg" Then ctrl.Enabled = True End If . الافضل ان تعرض صورة من شكل النموذج الذي عندك ، والنماذج الفرعيه ، حتى استوعب الموضوع ، وطبعا اذا ارفقت هذه الجزئية من برنامجك ، يكون افضل جعفر
-
جرب هاي Private Sub DocHid() Dim ctrl As Control For Each ctrl In Me.Controls If ctrl.Tag = "DocHidTg" then if ctrl.Value = 0 Then ctrl.Visible = False else ctrl.Visible = true End If End If Next End Sub . جعفر
-
وعليكم السلام ظاهرا الكود تمام ، ولكنه لن يعمل إلا في نموذج فردي. في هذه الحالة استبدل السطر ctrl.Value = "0" بهذا السطر ctrl.Value = 0 جعفر