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

jjafferr

أوفيسنا
  • Posts

    9998
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    406

كل منشورات العضو jjafferr

  1. السلام عليكم كنت محتاج غفوة شكرا اخي شفان ، ولكن اذا كان عندك اكثر من شخص ، فاستعلامك يعطيك اكبر 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
  2. رجاء ترفق الجداول حتى نعمل الاستعلام
  3. يجب عمل استعلام وتربط فيه الجدولين ، ثم تجعل الاسم الحقل الاول والفرز تصاعدي Asc ، ثم تجلب الحقل المطلوب وتجعل الفرز تنازلي Desc جعفر
  4. شكرا اخي رعد ، ولكنك لم توضح ماهو المطلزب جعفر
  5. وعليكم السلام اعمل الفرز للحقل المطلوب من الاكبر الى الاصغر Desc. جعفر
  6. وعليكم السلام اخي كريمو ان شاء الله تكون في صحة وعافية ، صار لي زمان ما شفت لك مشاركة رجاء تخبرني الطريقة اللي اوصل للمكان المطلوب (لأن الظاهر ان المسميات العربية والانجليزية في سؤالك تداخلت ، وجعلت السؤال غير مفهوم) ، جعفر
  7. الظاهر من الكود ان التسلسل تمام!! اعمل التالي: شوف الرابط التالي اللي بتدخل به داخل الكود ، واعمل النقطة رقم 1 على اول سطر عندك في الكود ، وشغل النموذج الى ان يجي التركيز على الزر ، عندها بينقلك البرنامج الى الكود ، والسطر اللي يكون باللون الاصفر ما بيكون البرنامج قد نفّذه ، فكل اللي عليك عمله هو الضغط على الزر F8 من لوحة المفاتيح كيبورد ، واللي بينتقل السطر الاصفر للسطر التالي حسب طلب الكود. المطلوب منك هو: انت تدري اي حقل يجب ان ينتقل اليه الكود ، ثم اي حقل تالي ، فأثناء متابعتك للكود ، لاحظه لما ينتقل الى سطر غلط في تسلسل حقول النموذج ، وعندها خلي مؤشر الفأرة على اسماء الحقول في الكود لتعرف قيمتها ، ومنها نتعرف وين المعادلة الخطأ. بهذه الطريقة تعرف وين المشكلة ، وبعدين تشوف شو طريقة حل المشكلة جعفر
  8. وعليكم السلام 1. بالنسبة للنموذج المستمر ، اي تغيير تعمله في حقل ، فسيغير الحقل في جميع السجلات ، لهذا السبب يجب عليك استعمال التنسيق المشروط Conditional Formating ، فيمكنك ان تغير لون الخط الى ابيض مثلا ، فيكون كأنه مخفي 2. في اعدادات النموذج ، اجعل Allow Additions = No جعفر
  9. وعليكم السلام أخوي كاسر واسعد الله ايامكم بهذا اليوم المبارك انا نظرت الى الكود وليس على طريقة عمله ، وشفت ان المشكلة انك ما رابط 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 جعفر
  10. حياك الله ولكي يكتمل الكود ، يجب ان تفحص الجدول اذا كانت هذه القيمة تم اضافتها سابقا ، وإلا فسيكون عندك تكرار في سجلات الجدول 2 جعفر
  11. تفضل جعفر 49.1.View_Internet.mdb.zip
  12. تفضل هذا الكود يقوم بالعمل: 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
  13. وعليكم السلام انا اعرض عليك طريقة التصفح فقط اذا فهمت سؤالك صح ، فانت تريد مواضيع قسم الاكسس اللي في الموقع ، ابتدأ من الموضوع 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 . ويمكنك استخدام احد برامجي من الروابط التاليه ، وتطويعها لتصفح صفحات الموقع: . . . وشيخ البرامج اعلاه . جعفر
  14. وعليكم السلام انت محتاج هذا الكود ليحسب عدد السجلات في النموذج الفرعي fd If Me.frmsubSearch_sales.Form.Recordset.recordcount = 0 Then MsgBox "عفوا ، لا توجد فواتير بهذا الرقم" End If . ويكون في احد احداث الحقل n3 ، سواء بعد التحديث او قبل التحديث او حتى في نهاية الكود الموجود حاليا جعفر
  15. حياك الله وشكرا على التقرير جعفر
  16. لما عملت الكود اعلاه على زر الحفظ ، هل عندك نموذج بإسم frm_Main وبه حقل بإسم iRjmFatwra ؟ هناك عدة طرق تأتي على بالي لمنع تكرار ادخال البيانات ، منها في الاستعلام ، بحيث نجمع اكثر من حقل مع بعض ، مثلا: chk_Dup: [Rjmfatwra] & [Rajmsanf] & [Alkmiah] & [NoEmp] & [Atarih] ثم نقارن بيانات النموذج الفرعي بهذه البيانات عن طريق Dlookup مثلا ، فاذا موجود سجل واحد منها ، فهذا دليل انه تم حفظ البيانات سابقا ، او بعد الحفظ ، نجعل الزر غير مفعّل: me.أمر16.enabled=false ثم عند فتح فاتورة ثانية (او اي طريقة تعتقد انها مناسبة) ، تعمل تفعيل للزر. جعفر
  17. اعتذر بدل 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; . جعفر
  18. وعليكم السلام 1. رجاء شرح المطلوب بالتفصيل ، وبإستخدام اسماء جداول ونماذج واستعلامات وتقارير وحقول ، من واقع برنامجك المرفق ، 2. اعطائنا مثالين (وليس مثال واحد) من واقع برنامجك المرفق ، وتستطيع عمله بالاكسل او الوورد او بصورة ، 3. اعطاء اي معلومة اضافية اخرى تفيدنا في حل سؤالك جعفر
  19. وعليكم السلام جرب هذا : 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","") جعفر
  20. وعليكم السلام 1. احنا في الاستعلام وضعنا معيار ، والمعيار به اسم النموذج واسم الحقل ، لذلك لا نستطيع استعماله في نموذج آخر!! نعم هناك طريقة انا استخدمها في جميع برامجي تقريبا ، وهي: أ. عندي نموذج واجهة frm_Main دائما مفتوح ، واعمل فيه مجموعة حقول مخفية وغير مضمنه ولا مرتبطة بشيء ، ب. فإذا اردت ان اجعل معيار الاستعلام يعمل لجميع النماذج ، اعمل التالي: اُسمي احد حقول النموذج الرئيسي frm_Main ، اسم iRjmFatwra ، قبل استعمال الاستعلام (سواء استعمال الاستعلام بمفرده او كمصدر بيانت لنموذج او تقرير) ، اعمل التالي: Forms!frm_Main!iRjmFatwra = me.RjmFatwra DoCmd.OpenQuery "QHRR" . وبدل ان يكون المعيار في الاستعلام هكذا: . يصبح هكذا ، وبهذه الطريقة يمكن استعمال هذا الاستعلام لعدة نماذج وتقارير . 2. المعيار الوحيد الذي وضعناه في الاستعلام هو رقم الفاتورة ، فإذا فاتورة الشراء بها رقم ، فالجواب سيكون نعم يمكنك استخدامه هناك ايضا شيء آخر لايزال يقلقني في الاستعلام الذي عملناه في برنامجك!! ماذا لو ضغط المستخدم على زر الحفظ عدة مرات ، فهذا سيُلحق البيانات عدة مرات الى الجدول!! لهذا السبب يجب عليك ان تنظر في هذا الموضوع وتجد له حل جعفر
  21. السلام عليكم أخي الفاضل ، لما لا تجد رد على سؤالك ، فهذا معناه ، يا انه صعب فوق مستوى الاعضاء ، او انه غير مفهوم ، ومن واقع الاسئلة ، فالحمدلله عندنا من الاعضاء من نفتخر بعلمهم عالميا ، فيبقى موضوع ان سؤالك غير مفهوم ، وهذا يتطلب منك: 1. ارفاق برنامجك وفيه بيانات كافية للعمل ، 2. شرح المطلوب بالتفصيل ، وبإستخدام اسماء جداول ونماذج واستعلامات وتقارير وحقول ، من واقع برنامجك المرفق ، 3. اعطائنا مثالين (وليس مثال واحد) من واقع برنامجك المرفق ، وتستطيع عمله بالاكسل او الوورد او بصورة ، 4. اعطاء اي معلومة اضافية اخرى تفيدنا في حل سؤالك نعم ، هذا يتطلب منك اخذ الوقت لتجميع كل هذا ، ولكن تذكر: أ. بأنك افضل شخص/مبرمج يعرف برنامجك ، فنحن لا نعرف عنه شيء ، ب. الافضل ان تتأخر بضع ساعات لتجميع/عمل الشرح بالمعطيات اعلاه ، ولا الانتظار عدة ايام بدون الحصول على رد جعفر
  22. وطريقة اخرى للكود اعلاه 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 . الافضل ان تعرض صورة من شكل النموذج الذي عندك ، والنماذج الفرعيه ، حتى استوعب الموضوع ، وطبعا اذا ارفقت هذه الجزئية من برنامجك ، يكون افضل جعفر
  23. جرب هاي 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 . جعفر
  24. وعليكم السلام ظاهرا الكود تمام ، ولكنه لن يعمل إلا في نموذج فردي. في هذه الحالة استبدل السطر ctrl.Value = "0" بهذا السطر ctrl.Value = 0 جعفر
×
×
  • اضف...

Important Information