اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

Eng.Qassim

الخبراء
  • Posts

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

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

  • Days Won

    22

كل منشورات العضو Eng.Qassim

  1. وعليكم السلام انسخ هذا السبروتين لديك ..عند تشغيل التقرير كل مرة يأخذ قيمه من الاستعلام الجدولي قم بتسمية حقول التقرير بأسماء مثل Field1,Field2 الخ ...لان اسم الحقل في الكود هو Field واجعلها مثلا سبعة حقول Dim ReportLabel(7) As String Sub CreateReportQuery() On Error GoTo Err_CreateQuery Dim db As DAO.Database Dim rs As DAO.Recordset Dim qdf As DAO.QueryDef Dim fld As DAO.Field Dim indexx As Integer Dim FieldList As String Dim strSQL As String Dim i As Integer Set db = CurrentDb Set qdf = db.QueryDefs("qryReductionByPhysician_Crosstab") indexx = 0 For Each fld In qdf.Fields If fld.Type >= 1 And fld.Type <= 8 Or fld.Type = 10 Then FieldList = FieldList & "[" & fld.Name & "] as Field" & indexx & ", " ReportLabel(indexx) = fld.Name End If ' MsgBox Label(indexx) indexx = indexx + 1 Next fld For i = indexx To 7 FieldList = FieldList & "null as Field" & i & "," Next i FieldList = Left(FieldList, Len(FieldList) - 1) strSQL = "Select " & FieldList & " From qryReductionByPhysician_Crosstab" db.QueryDefs.Delete "qryCrossTabReport" Set qdf = db.CreateQueryDef("qryCrossTabReport", strSQL) Exit_CreateQuery: Exit Sub Err_CreateQuery: If Err.Number = 3265 Then '*** if the error is the query is missing Resume Next '*** then skip the delete line and resume on the next line Else MsgBox Err.Description '*** write out the error and exit the sub Resume Exit_CreateQuery End If End Sub ثم قم بأستدعائه من حدث عند فتح التقرير وضع الكود التالي Dim i As Integer For i = 0 To 7 ReportLabel(i) = "" Next i Call CreateReportQuery في راس التقرير قم بوضع مربعات نص ..مثلا سبعة كعدد الحقول واجعل مصدر السجلات =filllabel(0) ,=filllabel(1) وهكذا ثم انسخ الكود التالي Function FillLabel(LabelNumber As Integer) As String FillLabel = Nz(ReportLabel(LabelNumber), "") End Function بالتوفيق ان شاء الله
  2. العفو منك .. انا بالخدمة ومثلما قلت لك هو برنامج بسيط بدات به ولم اكمله لكن يمكنك ان تطرح مطلوبك
  3. هههههههههه... احاول مساعدته فيقول لي اسرار مالي ومال اسرارك .. انا جئتك بمثال وهذا موجود في كل العالم وليس سرا بس مو صوجك مع احترامي للمنتدى
  4. بصراحة انا لست مبرمج .. الا ماتعلمته من هذا المنتدى الرائع عملت هذا البرنامج قبل اكثر من سنتين ولم اتحقق منه ... يمكنك الاطلاع عليه فأنا عملته للعملة العراقية ويمكنك تغييره لما تشاء .. البرنامج في بدايته ولم اكمله فهو بحاجة الى تقارير وغيرها ExchangeQ.rar
  5. اخي العزيز .. الكود يعمل بشكل جيد .. لكن اسمح لي ان اعترض على تفاصيل نموذجك .. ولنناقش الموضوع سوية المفروض ان النموذج يخص الدرجة الوظيفية للموظفين .. ولكل موظف صفحة خاصة بدرجاته الوظيفية .. لناخذ مثلا جدول المهندسين .. ..يبدأ العنوان الوظيفي عند التعيين (م.مهندس) اي ان عنوانه الحالي والسابق (م.مهندس).. وبعد 5 سنوات يصبح عنوانه الوظيفي (مهندس) والعنوان السابق (م.مهندس).. وبعد 5 سنوات يصبح عنوانه الوظيفي (م.اقدم) والعنوان السابق (مهندس ) الخ وهذا موضوع مهم في تسجيل تواريخ منح الترفيع للموظف .. بينما انت تريد ان تمسح وظيفته السابقة وتضع وظيفته الحالية .. وهذا خطأ ياريت تعرض مطلبك الحقيقي .. فاحيانا المبرمج لايفهم بالامور الادارية لشؤون الموظفين
  6. افضل طريقة ..طريقة د.كاف يار فقد جربتها بعدة طرق لم تنجح Private Sub Firstwork_AfterUpdate() Me.Lastwork = Null End Sub
  7. اجابة د.كاف يار لانه خبير وانا مجرد طالب مبتدئ
  8. اذا كنت تريد مسح الاثنين .. يعني الكمبو والتيكست استخدم الكود التالي Public Sub ClearControls(frm As Form) On Error Resume next Dim objControl as Control For Each objControl in Me.Controls With objControl if .ControlType = acComboBox or acTextbox then .Value = Null end if End With Next objControl End Sub
  9. هل قصدك بدون كمبو بوكس.. يبقى نموذج صاحب المشاركة على حاله؟ شوف المرفقDatabaseB.accdb الكود يفبل الكمبوبوكس لكنه يمسح مابداخل التيكست بوك
  10. في النموذج لديك مربع نص مرتبط وفي تلك الحالة لن يعمل الكود فأما ان يتم تفريغ مربعات النص من داخل زر الحفظ واما تغيير مربع نص (مسلسل المعرف) الى كومبو بوكس لكن في هذه الحالة لن يظهر لك رقم المعرف وانت لاتحتاجه فهو رقم تلقائي ويمكن اخفاءه DatabaseB.accdb
  11. @bumbاعتقد سببه انه لديك مربع نص منظم
  12. احسنت اخي ..لكن لايحتاج الى استدعاء ان كان لديه نموذج واحد اما ان كان لديه عدة نماذج ويريد تنظيفها فيحتاج الى فنكشن واستدعاء
  13. اعمل زر خاص لها للتنظيف
  14. اعملها مع تحميل النموذج On load Form
  15. وعليكم السلام اخي الكريم لايوجد برنامج جاهز ..حاول عمل ملفك الخاص ثم اطرح ماتشاء من اسئلة
  16. انظر للمرفق عسى ان ينفعك Database - Copie_Q.accdb
  17. انظر للمرفق عملته على عجالة فقط لتصل الفكرة عملت نموذج على برنامج الاستاذ خليل..وحين ادخال سنة احتساب الاندثار حسب طلبك ستظهر لديك قيمة الاندثار لكل سنة ومجموعها لغاية السنة التي اخترتها اهلاك.accdb
  18. j = DateDiff("mm", rs1!FirstDate, rs1!LastDate) اذا كنت مطلعا على برنامج الاستاذ خليل فأستخدم الدالة ادناه بدل دالة الفرق في السنوات جربها على برنامجك علما ان بعض الاكواد سوف لن تكون ضرورية j = DateDiff("mm", rs1!FirstDate, rs1!LastDate)
  19. اعتقد هذا ماتبحث عنه .. وهو مهم جدا لكل مبرمج مهتم بالمحاسبة
  20. اتذكر هكذا موضوع للاستاذ @ابوخليلبعنوان اهلاك الاصول الثابتة
  21. قد اغفلتنا امور الدنيا مما لايمكن ان نغفل عنه .. تهنئه لكم احبتي مشرفي الموقع والاساتذه الخبراء واعضاء المنتدى كل عام وانتم بخير .. ويجعلكم جميعا على خطى رسول الله صلى الله عليه واله وسلم
  22. السلام عليكم استاذي @د.كاف يارمالذي سنستفيده من هذه الدالة فهي اعادت لنا التاريخ بين هاشتاك؟ هل ستعتبر لرقم في هذه الحالة
×
×
  • اضف...

Important Information