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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. عذرا ، انا لا اعرف اي شيء ن قاعدة بياناتك ، فاذا اردت النظر فيها ، رجاء ارفاقها ، واخبارنا مكان المشكلة بالضبط جعفر
  2. وعليكم السلام . . . Option Compare Database Option Explicit Public Function Gather_Materials(ByVal N As String) As String 'N = Name Dim rst As DAO.Recordset Dim RC As Integer Dim i As Integer Dim Together As String Dim How_Many_Materials As Integer 'كم عدد المواد في جدول المواد How_Many_Materials = DCount("*", "Materials") ' اقرا بيانات الاستعلام الذي به صافي المواد ، الى الذاكرة العشوائية للكمبيوتر 'ونستخدم اسم الشخص لتصفية الاستعلام Set rst = CurrentDb.OpenRecordset("Select * From qry_Absences Where [Aname]='" & N & "'") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount 'عدد سجلات الاستعلام qry_Absences Together = "" 'قم بقراءة جميع سجلات الاستعلام ، واضف المواد ، بينهم فاصلة For i = 1 To RC Together = Together & " ، " & rst!Amaterial rst.MoveNext Next i 'اقفل واحذف الالاستعلام من الذاكرة العشوائية rst.Close: Set rst = Nothing 'تخلص من اول فاصلة Together = Mid(Together, Len(" ، ") + 1) 'اذا كان عدد المواد = عدد سجلات الاستعلام If How_Many_Materials = RC Then Together = "جميع الدروس" End If 'ارسل النتيجة الى الاستعلام Gather_Materials = Together End Function . جعفر 774.استعلام تجميع دروس الغياب في حقل واحد.accdb.zip
  3. اخي شفان بحثت في احد برامجي الرئيسية ، وبالفعل رايت انني استخدمت هذه الطريقة اكثر من مكان ، مثلا: A = Me.Name Forms!frm_Main!cmb_Full_Name = "" Forms!frm_Main!cmb_Full_Name.Requery Forms!frm_Main!cmb_Full_Name2 = "" Forms!frm_Main!cmb_Full_Name2.Requery Forms!frm_Main!iFull_Name = "" DoCmd.Close acForm, "frm_All_Last_wo_COMM" DoCmd.Close acForm, A و A = Me.Name Forms!frm_Personel_S!sfrm_Personel.Form.Requery Forms!frm_Personel_S!sfrm_Employee_Movement.Form.Requery Forms!frm_Personel_S!sfrm_Committees.Form.Requery Forms!frm_Personel_S!sfrm_Appreciation_Punishment.Form.Requery DoCmd.Close acForm, A و A = Me.Name Forms!frm_Personel_S!sfrm_Personel.Form.Requery Forms!frm_Personel_S!sfrm_Employee_Movement.Form.Requery DoCmd.Close acForm, A . واستخدمت طريقتك مباشرة ، فتم اغلاق النموذج بطريقة صحيحة!! فلا ادري اين صادفت هذه المشكلة ، وعليه اتبعت الطريقة الجديدة!! فهذا معناه ان طريقتك المباشرة تعمل وبدون مشاكل جعفر
  4. الله يسهل عليك ان شاء الله
  5. حياك الله ما دام الربط موجود ، تقدر تتوسع اكثر بإضافة التاريخ/السنة مثلا للنموذج الفرعي ، ثم في التقرير تفرز وتصفي بالتاريخ او بين تاريخين ، مثلا جعفر
  6. وعليكم السلام طريقتك في ادخال البيانات في الجدول 2 غير صحيحة ، فهي لا تتماشى مع قواعد البيانات ، وانما هي نسخة من طريقة عمل الاكسل !! فالطريقة الصحيحة هي ان يكون عندك حقل رقم الموظف ، وحقل النوع (نوع الخطورة) نعم حقل واحد فقط ، ثم تعمل نموذج/تقرير رئيسي للجدول 1 ، ونموذج/تقرير فرعي للجدول 2 ، وتربط الرئيسي والفرعي بحقل رقم لموظف ، ويكون عندك اي عدد تريد في حقل النوع ، وليس 60 فقط جعفر
  7. الجملة Me.Name معناها اسم النموذج/التقرير ، فلما تفتح نموذج/تقرير جديد وانت لم تغلق النموذج القديم ، وخصوصا اذا هذا النموذج/التقرير الجديد عنده حدث "عند التحميل او عند الفتح" ، فالجملة Me.Name لا تكون محفوظة للنموذج القديم ، وانما للنموذج/التقرير الجديد. لذلك يُنصح ان: تحفظ اسم النموذج في متغير ثابت (مؤقتا ، مثل A) ، تفتح النموذج/التقرير الجديد ، ان تستخدم DoCmd.Close acForm, A للدلالة على ما تريد اغلاقه (خصوصا ان بعض المبرمجين للأسف يعطون نفس التسمية للنموذج والتقرير) ، فحينها لا يعرف الاكسس من يغلق ، فيغلق النموذج الجديد بدلا من القديم المطلوب اغلاقه. وقد صادفت هذا الخطأ عدة مرات (ولم اعرف لماذا لم يتم فتح النموج/التقرير الجديد ، لأن الاكسس كان يفتحه ويُغلقه على طول) ، الى ان تعلمت ان ابرمج بهذه الطريقة جعفر
  8. اذا ممكن تعديل بسيط على كود أخي شفان A = Me.Name DoCmd.OpenReport "Rep1", acViewPreview DoCmd.Close acForm, A جعفر
  9. وعليكم السلام النموذج الذي تتكلم عنه لا يوجد في المرفق . كما انه قاعدة البيانات فارغة فلا نستطيع ان نجرب عليه بالطريقة الصحيحة!! جعفر
  10. وعليكم السلام من برنامجك المرفق ، اخبرنا ماهي القيمتين اللي المفروض يظهروا؟ جعفر
  11. وعليكم السلام انت قلت: بس الظاهر جوابي كان متأخر: جعفر
  12. تفضل الكود: Private Sub CA_invoice2(ad, inv) If Len(Nz(inv, 0) & "") = 0 Then Me.frmsubSearch_sales.Form.Filter = "" Me.frmsubSearch_sales.Form.FilterOn = False Else Me.frmsubSearch_sales.Form.Filter = "[Adfah]='" & ad & "' And [Rjmfatwra] like '*" & inv & "*'" Me.frmsubSearch_sales.Form.FilterOn = True End If End Sub Private Sub A_invoice_Change() Call CA_invoice2("اجل", Me.A_invoice.Text) End Sub Private Sub C_invoice_Change() Call CA_invoice2("نقدي", Me.C_invoice.Text) End Sub جعفر 770.بحث بالنقدي والاجل.mdb.zip
  13. أخي علي اخبرني في اي مكان تريد ان اضع الكود جعفر
  14. السلام عليك اخي وضاح الرابط شارح فيه المطلوب 100% جعفر
  15. شوف البرنامج المرفق لوسمحت وكما قلت ، ماشي على الطريق الصحيح جعفر 769.ps.accdb.zip
  16. السلام عليكم أخي علاء ، المنتدى مليء بمثل هذا السؤال ، وكل ما عليك عمله هو استخدام خاصية البحث ، قواعد المشاركة فى الموقع اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف واليك بعض هذه المواضيع: https://www.officena.net/ib/topic/43015-استخراج-تاريخ-الميلاد-من-الرقم-القومي-عنوان-معدل/?do=findComment&comment=247938 https://www.officena.net/ib/topic/49846-طريقة-كتابة-الرقم-القومي/?do=findComment&comment=304211 https://www.officena.net/ib/topic/73911-إستخراج-تاريخ-الميلاد-والسن-والنوع-من-الرقم-القومي/?do=findComment&comment=475682 https://www.officena.net/ib/topic/62992-استخراج-تاريخ-من-الرقم-القومي/?do=findComment&comment=409130 وهذا البحث يعطيك جميع المواضيع التي تخص الاكسس https://www.google.com/search?biw=1400&bih=870&ei=ugIfWp7dC8qza6a5m9AG&q=-excel+access+"الرقم+القومى"+site%3Awww.officena.net&oq=-excel+access+"الرقم+القومى"+site%3Awww.officena.net&gs_l=psy-ab.3...18076.24409.0.25876.0.0.0.0.0.0.0.0..0.0....0...1.1.64.psy-ab..0.0.0....0.ngMmP-xMScE جعفر
  17. هذه هي الطريقة الصحيحة ، ولم يتوقف عندي الكود ، واكمل بالطريقة الصحيحة جعفر ششششش ، لا يسمعوك ويردون عليك
  18. انت عملت موضوع جديد لسؤالك الجديد ، وهذه هي الطريقة الصحيحة ، حسب قوانين المنتدى جعفر
  19. وهذه مشاركة كانت مع اخي شفان جعفر
  20. السلام عليكم لم اعرف كيف اجعل برنامجك يفتح النموذج FormTest عند اختيار "فهرسة" ، الظاهر يجب ان تضيفه الى قائمة النماذج في احد جداولك ، وتعطيه الصلاحية جعفر 765.MyPRG.mdb.zip
  21. الى الصباح خير ان شاء الله ، ولكن انزل هذا المرفق ، وفيه كل الكود اللي تريده ان شاء الله http://blog.nkadesign.com/wp-content/uploads/2008/05/DatabaseRestart.zip جعفر
  22. وبعدين اذا ما تعرف ، اخوي شفان ما يسمح لي ان اعمل الاشياء الصغيرة البسيطة الله يسلمك هاي تقدر تعملها بالخطوات التالية: 1. احفظ الكود الطويل اللي في مشاركتي السابقة في وحدو نمطية ، 2. اكتب الكود التالي علشان يشغل الوحدة النمطية ويغلق البرنامج: call CompactDB docmd.quit والسلام جعفر
  23. السلام عليكم اخي علي عدم وجود الاجابة لأن الموضوع مو بالسهولة ، وشيء لا يتم تداوله يوميا الجواب بإختصار وحسب قرآتي ، لا يمكن عمل الضغط والاصلاح على البرنامج الذي تعمل عليه. تحذير ، انا لم اجرب اي من هذه الطرق ، فرجاء التجربة على نسخة من برنامجك. هناك طريقتين لعمل الضغط والاصلاح على البرنامج الذي تعمل عليه: 1. كود يجعل البرنامج يضغط ويصلح عند اغلاق البرنامج: Application.SetOption "Auto compact", True او للإصدارات السابقة Dim control As Office.CommandBarControl Set control = CommandBars.FindControl( Id:=2071 ) control.accDoDefaultAction 2. كود : أ. يقوم بعمل برنامج صغير خارج برنامجك ، ب. هذا البرنامج الصغير فيه امر ان يقوم بعمل الضغط والاصلاح لبرنامجك ، ج. هذا البرنامج ينتظر 5-10 ثواني (حسب برمجتك) ، او يراقب الملف ldb. او laccdb. حتى اختفائه (هذا المرفق يغلق تلقائيا لما تغلق قاعدة بيانات الاكسس) ، وبعدها يصدر الامر اعلاه (ب) ، د. ثم الكود يغلق برنامجك مباشرة بعد عمل البرنامج الصغير ، هـ. وعندها يقوم البرنامج الصغير بالامر ، و. وتستطيع ان تطلب من البرنامج الصغير ان يفتح قاعدة البيانات عند انتهاء عمله: Public Function CompactDB() Dim strWindowTitle As String On Error GoTo err_Handler strWindowTitle = Application.Name & " - " & Left(Application.CurrentProject.Name, Len(Application.CurrentProject.Name) - 4) strTempDir = Environ("Temp") strScriptPath = strTempDir & "\compact.vbs" strCmd = "wscript " & """" & strScriptPath & """" Open strScriptPath For Output As #1 Print #1, "Set WshShell = WScript.CreateObject(""WScript.Shell"")" Print #1, "WScript.Sleep 1000" Print #1, "WshShell.AppActivate " & """" & strWindowTitle & """" Print #1, "WScript.Sleep 500" Print #1, "WshShell.SendKeys ""%yc""" Close #1 Shell strCmd, vbHide Exit Function err_Handler: MsgBox "Error " & Err.Number & ": " & Err.Description Close #1 End Function جعفر
  24. نعم ، بالاضافة الى التغييرات الاخرى اللي ذكرتها لك في مشاركتي السابقة جعفر
×
×
  • اضف...

Important Information