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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. تفضل : . انا شرحت لك هنا: الآن وقد تم عمل جميع المتطلبات ، فإذا عندك سؤال جديد ، رجاء عمل موضوع جديد لسؤالك 🙂 جعفر 1311.3.Data.accdb.zip
  2. حياك الله 🙂 في تعديل بسيط ، حيث تم اضافة مربع النص NoFocus في النموذج الفرعي ، ويجب ان لا تجعله مخفي ، ويمكنك ان تجعله تحت اول زر امر اذا اردت ، السبب في احتياجه هو ، عندما نختار مادة وتظهر لنا رسالة بياناتها (طبعا انت لن تستعمل الرسالة ، وانما ستستخدم بياناتها 🙂) ، فلا تستطيع ان تختار من القائمة الرئيسية مرة اخرى : . واما في الكود ، فقد تم اضافته في كود النموذج الفرعي ، هكذا: . جعفر 1321.1.RestTest111.accdb.zip
  3. السلام عليكم 🙂 انا عملت تغيير في النموذج ، واصبح بسيط : . بس هذه طريقة المجلدات . كود النموذج الرئيسي: Option Compare Database Option Explicit Private Sub cmd_quit_Click() DoCmd.Close acForm, Me.Name End Sub Private Sub Form_Load() Dim rst As DAO.Recordset Dim Pics_Path As String Dim RC As Long, i As Long 'the main buttons Set rst = CurrentDb.OpenRecordset("Select [FN],[Resturant] From Query_S_S Where S_S is not null Order By S_S") rst.MoveLast: rst.MoveFirst: RC = rst.RecordCount For i = 1 To 6 'path to the pitures folder Pics_Path = Mid(Application.CurrentProject.Path, 1, InStrRev(Application.CurrentProject.Path, "\") - 1) Me("cmd" & i).Caption = rst!Resturant Me("cmd" & i).Picture = Pics_Path & "\my foto333\" & rst!FN rst.MoveNext Next i rst.Close: Set rst = Nothing 'show if 1st button clicked Me.WhichCMD = 1 Call sfrm_Controls End Sub Function cmd_Click() Me.WhichCMD = Right(Screen.ActiveControl.Name, 1) Call sfrm_Controls End Function Function sfrm_Controls() On Error GoTo err_sfrm_Controls Dim rst As DAO.Recordset Dim Pics_Path As String Dim RC As Long, i As Long, iStart As Long Dim ctl As Control 'the main buttons Set rst = CurrentDb.OpenRecordset("Select [FN],[ID], [iName] From qry_Table1 Where S_S=" & Me.WhichCMD & " Order By ID") rst.MoveLast: rst.MoveFirst: RC = rst.RecordCount For i = 1 To RC 'path to the pitures folder, then path with file name Pics_Path = Mid(Application.CurrentProject.Path, 1, InStrRev(Application.CurrentProject.Path, "\") - 1) Pics_Path = Pics_Path & "\my foto333\" & rst!FN Me("sfrm_items")("c" & i).BackColor = Me("cmd" & WhichCMD).BackColor 'Back Color Me("sfrm_items")("c" & i).ForeColor = Me("cmd" & WhichCMD).ForeColor 'Fore Color Me("sfrm_items")("c" & i).Caption = rst!INAME 'Caption 'picture If Dir(Pics_Path) <> "" Then Me("sfrm_items")("c" & i).Picture = Pics_Path Else 'file type was not found, trye jpg Me("sfrm_items")("c" & i).Picture = Mid(Pics_Path, 1, Len(Pics_Path) - 3) & "jpg" End If Me("sfrm_items")("c" & i).Tag = rst!ID 'ID in Tag , so when clicking on the button we know which one Me("sfrm_items")("c" & i).Visible = True 'show the control rst.MoveNext Next i 'hide all subform controls For Each ctl In Me("sfrm_items").Controls Me("sfrm_items")("c" & i).Visible = False i = i + 1 Next Exit_sfrm_Controls: rst.Close: Set rst = Nothing Exit Function err_sfrm_Controls: If Err.Number = 2220 Then 'No picture Me("sfrm_items")("c" & i).Picture = "" Resume Next ElseIf Err.Number = 2465 Then 'we passed the number of controls Resume Exit_sfrm_Controls Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function . ولما تنقر على اي من ازرار النموذج الفرعي ، تحصل على . وكود النموذج الفرعي: Option Compare Database Option Explicit Function myItems() 'get the items detail Dim A As String Dim x() As String Dim Resturant As String, S_S As Double, INAME As String, sal_price As Double, Qty1 As Integer, ID As Long A = DLookup("Resturant & '|' & S_S & '|' & INAME & '|' & sal_price & '|' & Qty1", "TABL1", "[ID]=" & Screen.ActiveControl.Tag) x = Split(A, "|") Resturant = x(0) S_S = x(1) INAME = x(2) sal_price = x(3) Qty1 = x(4) ID = Screen.ActiveControl.Tag MsgBox "Resturant =" & x(0) & vbCrLf & _ "S_S =" & x(1) & vbCrLf & _ "INAME =" & x(2) & vbCrLf & _ "sal_price =" & x(3) & vbCrLf & _ "Qty1 =" & x(4) & vbCrLf & _ "[ID]=" & Screen.ActiveControl.Tag End Function جعفر 1321.1.RestTest111.accdb.zip
  4. اخي الشامل 🙂 اذا كانت البيانات ذو اهمية ، فيمكنك الاتصال مع احد الشركات المتخصصه في استرجاع بيانات الاكسس ، وسيخبروك عن التكلفة وعن مايمكنهم استرداده ، ومنها هذه الشركة : EverythingAccess.com File Upload Form جعفر
  5. هذه يمكن ان تعمل لها وحدات نمطية ، بدل كتابتها في الاستعلام مباشرة 🙂 جعفر
  6. وعليكم السلام اخوي ابو الكرم 🙂 الآن تذكرت موضوع سابق مع اخونا السهران ، وصادفت نفس مشكلة التاريخ ، فقمت بعلاجها بطريقة تشبه طريقتك ، عن طريق الدالة DateFormat : هدية: استخدام التاريخ بطريقة تعمل مع مجموعة السجلات - قسم الأكسيس Access - أوفيسنا (officena.net) وعليه ، يصبح الكود : Dim myWhere As String myWhere = "[pc]='" & [Text0] & "'" myWhere = myWhere & " And [StartDate]=" & DateFormat([StartDate]) myWhere = myWhere & " And [txt]='" & [Text2] & "'" DoCmd.OpenForm "Table1", acNormal, , myWhere, acReadOnly, acNormal . اخوي السهران : رجاء ، دائما استخدم الدالة في برامجك (او طريقة اخرى مثل ما وضع اخوي ابو الكرم) ، لأنه دائما تصير لك مشكلة مع التاريخ في برامجك🙂 جعفر __nbm2.zip
  7. اخي هاني الافضل هو العمل على الاستعلام بدل الكود ، لذا ، رجاء اعطنا الاستعلام او الكود او صورة من الخطأ ، او اي معلومة ممكن تساعدنا علشان نساعدك 🙂 جعفر
  8. فيه فاصلة ناقصة في الكود اعلاه: dim myWhere as string myWhere="[pc]='" & [Text0] & "'" myWhere=myWhere & " And [StartDate]=#" & [StartDate] & "#" myWhere=myWhere & " And [txt]='" & [Text2] & "'" DoCmd.OpenForm "Table1", acNormal,, myWhere , acReadOnly, acNormal ولكني لاحظت ان تنسيق التاريخ عندك مختلف من الجدول الى النموذج الاول الى النموذج الثاني ، فعملت تنسيق واحد للجميع في المرفق 🙂 جعفر __nbm2.zip
  9. وعليكم السلام 🙂 وبدون الرجوع الى المرفق : dim myWhere as string myWhere="[pc]='" & [Text0] & "'" myWhere=myWhere & " And [StartDate]=#" & [StartDate] & "#" myWhere=myWhere & " And [txt]='" & [Text2] & "'" DoCmd.OpenForm "Table1", acNormal, myWhere , acReadOnly, acNormal البساطة مافي احسن منها ، كل جملة بنفسها وبدون اخطاء 🙂 جعفر
  10. هذا صحيح ، لهذا السبب فأنا لا اضع الجداول على القرص (لاحظ اني لم اقل البارتيشن) الذي عليه الوندوز ، حيث سيكون هذا القرص مشغول بإتمام مهام الوندوز وإعطائها الاولوية ، وبعدها يأتي دور قاعدة البيانات والبرامج الاخرى ، وهذا عن تجربة 🙂 🙂 جعفر
  11. هممم ولكن سرعة الاقراص SSD تصل الى 500 ميجا/ثانية ، بينما كمية البيانات التي يتم ارسالها من برنامج الواجهة الى الجداول لا يتعدي بضع كيلوبايت ، فنقطة الضعف والبطئ هي الجداول 😁 جعفر
  12. كنا نستخدم Samsung SSD 960 EVO 4TB ، والسبب في اختياره هو IOPS له عالي (وهو الحال بوجه عام لأقراص SSD) ، القراءة = 3.2 GB/s ، والكتابة = 1.9 GB/s ، فكنت اعتقد بأن هذا سيشفع في تسريع تسجيل البيانات كونها تأتي بسرعة ويتمكن الجدول من تسجيلها بسرعة ، مما سيجعل الجداول دائما مستعدة لتسجيل البيانات التاليه !! الملخص هنا: كل جزئية في تصميم البرنامج له اهميته ، واهمها فهرست الحقول التي يكون لها معايير في الاستعلام او الكود ، في الاستعلام او الكود ، نستخدم فقط الحقول التي نحتاج اليها ، ولا نستخدم النجمة * لجلب جميع الحقول ، ننادي فقط السجلات التي نريدها ، ولا نناديها من الجدول مباشرة حيث لا نستطيع التحكم في مناداة عدد السجلات ، سرعة الكيبل والراوتر وكارت الشبكة والهارددسك ، كلها يجب ان تكون في قمتها ، وبعد هذ نقول ، يافتاح ياعليم ، يارزاق ياكريم ، عملنا اللي علينا ، والباقي عليك 🙂 اخوي خالد ، شكرا على حُسن توضيحك للمعلومة 🙂 جعفر
  13. اعرف الموضوع من السنة الماضية 😁 هذا الموضوع هو احد نقاط الضعف للأكسس ، وماله علاقة بعدد المستخدمين اللي الوندوز يسمح لهم بمجلد المشاركة !! يعني ، لو وضعنا ملف جداول قاعدة البيانات في مجلد مشاركة على الوندوز سيرفر ويسمح لـ 16777 مستخدم ، فنقطة ضعف الاكسس لاتزال تكون موجودة !! فنقطة ضعف الاكسس هو الجداول ، حيث لا يستطيع استيعاب وخدمة عدد كبير (ومعظم قراءتي تقول انهم بين 15-25 شخصا) في آن واحد اذا كان "المستخدمين المتزامنين" يدخلون بيانات !! ومثالي هنا عن برنامج يستخدمه بين 10-15 مستخد متزامنين ، لإدخال البيانات ، في الجداول ، عمل لي الاكسس جدول بإسم USysApplicationLog ، حيث يكتب فيه الاخطاء التي صادفته ولم يتمكن من التغلب عليها ، ومعظم هذه الاخطاء هي: Could not update; currently locked. تعذر التحديث؛ مؤمن حالياً. تعذرت قراءة السجل؛ لتأمينه حالياً من قبل مستخدم آخر. تعذر التحديث؛ مؤمن حالياً من قبل المستخدم 'Admin' على الجهاز 'PC_1'. حوالي 20 خطأ خلال ساعة ونصف !! فالمفروض ان يكون سؤالي في هذا الاتجاه 🙂 وكانت الجداول على كمبيوتر عادي ، وعلى قرص SSD. جعفر
  14. السلام عليكم 🙂 رجاء مراجعة هذا الرابط ، فهو بديل عن Echo : تجديد / تحديث النموذج Me.Painting - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
  15. وعليكم السلام 🙂 هناك الكثير من المواضيع المرتبطة بطلبك : https://www.officena.net/ib/topic/43119-ادارة-المقرات-والمراكز-الامتحانية/ https://www.officena.net/ib/topic/84391-التوزيع-الآلى-للجدول-المدرسى/ https://www.officena.net/ib/topic/12488-طلب-مساعدة-في-عملية-توزيع-معقدة-نوعاً-ما/ https://www.officena.net/ib/topic/77918-مكتبة-الموقع-كود-توزيع-الفصول-أوتوماتيكيا/ https://www.officena.net/ib/topic/70736-التوزيع-الألي-لا-يعمل-كما-يجب/ https://www.officena.net/ib/topic/88422-توزيع-الملاحظين/ https://www.officena.net/ib/topic/99299-مطلوب-توزيع-ركاب-على-الحافلات https://www.officena.net/ib/topic/87955-توزيع-عشوائي-_-توزيع-المدرسين-في-قاعات-الامتحان/ https://www.officena.net/ib/topic/103059-توزيع-طلاب/ ومن هنا ، سترى جميع المواضيع التي تبدأ بكلمة توزيع ، من صفحة 474 الى صفحة 486 قسم الأكسيس Access - صفحه 474 - أوفيسنا (officena.net) ورجاء لا تقول ماحصلت اللي اريده ، وانما حاول وسنساعدك ان شاء الله 🙂 جعفر
  16. وعليكم السلام 🙂 لأسف جميع محاولاتي فشلت ، فأنصحك الرجوع الى النسخ الاحتياطية واستيراد هذ الوحدات النمطية منها. جعفر
  17. وعليكم السلام 🙂 . . Like "*" & [Forms]![الاستعلام]![inspictor] & "*" . . جعفر
  18. اختي الفاضلة اهلا وسهلا بك في المنتدى 🙂 رجاء قراءة قوانين المنتدى قبل كل شيء ، ومختصر القوانين موجودة في الصفحة التي منها وضعتي سؤالك : قسم الأكسيس Access Access هذا المنتدى مخصص لمشاركات الأكسيس قواعد المشاركة فى الموقع اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف يُغلق !! رجاء عمل موضوع آخر يراعي فيه القوانين اعلاه ، شكرا 🙂 جعفر
  19. واذا عندك لوحة مفاتيح كبيرة ، فهذه ارقام ارقامها ، ويجب اضافتها للكود : Case 96 To 105 'numeric pad جعفر
  20. اخي الفاضل رجاء ، اعطني تفاصيل من بيانات وكائنات البرنامج حتى نستطيع مساعدتك ، فالسرد غير مفهوم !! عموما ، انا عملت لك عينا نفس الاشياء الموجودة في ملف الاكسل ، وبهذه الطريقة يمكنك عمل التقرير بين اي تاريخين تحب ، فقط اكتب التاريخين ، مثلا : . ونتيجة التقرير : . جعفر
  21. اعتذر منك ، في مشاركتي السابقة ، لسبب ما ، لم يتم ارفاق الملف الكامل ، وقمت بإرفاقه هنا 🙂 يجب عليك ان تتعلم الاكسس الآن 🙂 1 و 2. انقر بالفارة اليمين على اسم النموذج او التقرير ، واختار وضع التصميم : . انقر على تسمية الحقل ، ثم من الاعدادات قم بتغيير اسمه ، ثم احفظ النموذج واغلقه . 3. يمكنك تغيير اسماء المخازن بالنقر المزدوج على الجدول tbl_Stores . اما عدد الصفحات ، فبالاضافة الى اختيارك من القائمة ، يمكنك ادخال ارقام جديدة ، والتي سوف يتم حفظها تلقائيا ، وستجدها في النماذج الاخرى بعد ادخال البيانات. جعفر 1311.2.Data.accdb.zip
  22. 1. تم عمل اللازم في المرفق ، 2. مافهمت !! رجاء تخبرني بالتفصيل عن المشكلة ، فانا لا ارى ما تراه ، في اي نموذجك و اي زر و اي حقل. جعفر 1311.1.Data.accdb.zip
  23. رجاء مراجعة هذا الرابط . ولا يوجد شيء اسمه ترميز عالمي ، كل اللي تحتاج لما تريد مناداة الشهر 2 من الاشهر العربية : Me.Moth_Hijri = DLookup("[Months_Hijri]", "tbl_Months", "[Months_Number]=" & 2) . وبما ان الاشهر موجودة في سجلات في جدول ، فبكل بساطة يمكنك ان تضيف حقل جديد لأسماء الاشهر العربية بالانجليزي ، ثم تستعملها للمربع السرد ComboBox ، وبدون اكواد. خليني اوضح لك نقطة انت محتار فيها ، والاكواد اعلاه تخليك تضيع اكثر : لا تكتب الكلمات العربية في الكود ، ولكن اكتبها في الجدول ، وناديها من الجدول ، وما بتصادف اي مشكلة 🙂 جعفر
  24. سيدي الفاضل 🙂 البرنامج يفتح على هذا النموذج الرئيسي . 1. شاشة ادخال البيانات ، بحيث يتم حفظ البيانات تلقائيا لما تنتقل من سجل لآخر ، وبينات الحقول الصفراء في السجل سيتم تلقائيا اخذها من الحقول اعلاه ، ولما تفتح النموذج ، يكون بدون بيانات : . 2. البيانات اعلاه ، ويمكنك تعديلها/حذفها : . 3. ادخل رقم الصفحة اللي تريدها ، وسترى النتائج : . 4. ادخل التاريخين ونوع العدد (موجب ، سالب ، الجميع) ، وسترى النتائج (ولا اعرف اذا النتائج صحيحة ، فرجاء التجربة) : . 1311.Data.accdb.zip
×
×
  • اضف...

Important Information