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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. لوسمحت ترفقه هنا
  2. هذه الرسالة تقول ان الامر الذي استعملته فيه فواصل زيادة. جعفر
  3. وعليكم السلام التصدير الى ملف pdf: DoCmd.OutputTo acOutputReport, "اسم التقرير", "PDFFormat(*.pdf)", "c:\temp\myPDFReport.pdf", True, , , acExportQualityPrint . ولكن اذا ممكن نرجع الى اصل المشكلة: هل تستطيع ان تعاين التقرير؟ هل المشكلة في جميع التقارير؟ هل المشكلة في قاعدة بيانات معينة؟ هل جربت تطبع على طابعة اخرى؟ هل جربت تطبع التقرير من كمبيوتر آخر؟ جعفر
  4. شكرا اخي وضاح وانا شاكر متابعتك كذلك جعفر
  5. ولا يهمك في الواقع كنت اقدر اعمل استعلام واحد فقط qry_Absences_Sum ، بحيث في الوحدة النمطية استطيع ان اجعل مصدر البيانات من الجدول ، ولكني جعلت الاستعلام الذي انت عملته (استعلام تجميع دروس الغياب) ولكني اعطيته مسمى انجليزي ، qry_Absences ، هو مصدر البيانات ، والسبب هو انك قد تريد لاحقا ان تعمل تصفية للغياب ، بإستخدام التاريخ او بين تاريخين مثلا ، وبدلا ان ترجع للوحدة النمطية وتعمل تغيير عليها ، فكل الذي عليك عمله هو اضافة التاريخ وتصفيته في الاستعلام qry_Absences جعفر
  6. حياك الله، ولي الشرف
  7. حياك الله همممم ، انت الوحيد الذي سألني عن هذا التسلسل كل سؤال أرد عليه في المنتدى وبه مرفق ، اجعله عندي في تسلسل وإذا تطلب الأمر تعديل جذري عليه، فيظل التسلسل + 0.1 و حقوق الطبع والنشر محفوظة جعفر
  8. انت لم تستعمل الاستعلامات مثل التي انا استعملتها!! عندي استعلامين ، وعندك استعلام واحد ، والكود يرجع ويناديه!! جعفر
  9. تفضل ولا داعي لإستخدام Recordset ، فـ Dcount تفي بالغرض Private Sub Form_Load() 'Me.CPU = GetWmiDeviceSingleValue("Win32_Processor", "ProcessorID") 'Me.BIOS = GetWmiDeviceSingleValue("Win32_BIOS", "SerialNumber") C = GetWmiDeviceSingleValue("Win32_Processor", "ProcessorID") 'Debug.Print C '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Dim obj_FSO As Object, obj_Drive As Object Set obj_FSO = CreateObject("Scripting.FileSystemObject") Set obj_Drive = obj_FSO.GetDrive("c:\") 'MsgBox obj_Drive.SerialNumber ' Me.HardSerial = obj_Drive.SerialNumber H = obj_Drive.SerialNumber 'Debug.Print H Set obj_FSO = Nothing Set obj_Drive = Nothing ' If DCount("*", "tbl", "[Pro]='" & C & "' And [Hard]='" & H & "'") > 0 Then 'Exists DoCmd.OpenForm "frm2" Else DoCmd.OpenForm "frm1" End If DoCmd.Close acForm, Me.Name End Sub جعفر 775.1.mdb.zip
  10. عذرا ، انا لا اعرف اي شيء ن قاعدة بياناتك ، فاذا اردت النظر فيها ، رجاء ارفاقها ، واخبارنا مكان المشكلة بالضبط جعفر
  11. وعليكم السلام . . . 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
  12. اخي شفان بحثت في احد برامجي الرئيسية ، وبالفعل رايت انني استخدمت هذه الطريقة اكثر من مكان ، مثلا: 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 . واستخدمت طريقتك مباشرة ، فتم اغلاق النموذج بطريقة صحيحة!! فلا ادري اين صادفت هذه المشكلة ، وعليه اتبعت الطريقة الجديدة!! فهذا معناه ان طريقتك المباشرة تعمل وبدون مشاكل جعفر
  13. الله يسهل عليك ان شاء الله
  14. حياك الله ما دام الربط موجود ، تقدر تتوسع اكثر بإضافة التاريخ/السنة مثلا للنموذج الفرعي ، ثم في التقرير تفرز وتصفي بالتاريخ او بين تاريخين ، مثلا جعفر
  15. وعليكم السلام طريقتك في ادخال البيانات في الجدول 2 غير صحيحة ، فهي لا تتماشى مع قواعد البيانات ، وانما هي نسخة من طريقة عمل الاكسل !! فالطريقة الصحيحة هي ان يكون عندك حقل رقم الموظف ، وحقل النوع (نوع الخطورة) نعم حقل واحد فقط ، ثم تعمل نموذج/تقرير رئيسي للجدول 1 ، ونموذج/تقرير فرعي للجدول 2 ، وتربط الرئيسي والفرعي بحقل رقم لموظف ، ويكون عندك اي عدد تريد في حقل النوع ، وليس 60 فقط جعفر
  16. الجملة Me.Name معناها اسم النموذج/التقرير ، فلما تفتح نموذج/تقرير جديد وانت لم تغلق النموذج القديم ، وخصوصا اذا هذا النموذج/التقرير الجديد عنده حدث "عند التحميل او عند الفتح" ، فالجملة Me.Name لا تكون محفوظة للنموذج القديم ، وانما للنموذج/التقرير الجديد. لذلك يُنصح ان: تحفظ اسم النموذج في متغير ثابت (مؤقتا ، مثل A) ، تفتح النموذج/التقرير الجديد ، ان تستخدم DoCmd.Close acForm, A للدلالة على ما تريد اغلاقه (خصوصا ان بعض المبرمجين للأسف يعطون نفس التسمية للنموذج والتقرير) ، فحينها لا يعرف الاكسس من يغلق ، فيغلق النموذج الجديد بدلا من القديم المطلوب اغلاقه. وقد صادفت هذا الخطأ عدة مرات (ولم اعرف لماذا لم يتم فتح النموج/التقرير الجديد ، لأن الاكسس كان يفتحه ويُغلقه على طول) ، الى ان تعلمت ان ابرمج بهذه الطريقة جعفر
  17. اذا ممكن تعديل بسيط على كود أخي شفان A = Me.Name DoCmd.OpenReport "Rep1", acViewPreview DoCmd.Close acForm, A جعفر
  18. وعليكم السلام النموذج الذي تتكلم عنه لا يوجد في المرفق . كما انه قاعدة البيانات فارغة فلا نستطيع ان نجرب عليه بالطريقة الصحيحة!! جعفر
  19. وعليكم السلام من برنامجك المرفق ، اخبرنا ماهي القيمتين اللي المفروض يظهروا؟ جعفر
  20. وعليكم السلام انت قلت: بس الظاهر جوابي كان متأخر: جعفر
  21. تفضل الكود: 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
  22. أخي علي اخبرني في اي مكان تريد ان اضع الكود جعفر
  23. السلام عليك اخي وضاح الرابط شارح فيه المطلوب 100% جعفر
  24. شوف البرنامج المرفق لوسمحت وكما قلت ، ماشي على الطريق الصحيح جعفر 769.ps.accdb.zip
×
×
  • اضف...

Important Information