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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

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

Important Information