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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وعليكم السلام وما صيغة هذا الملف؟ جعفر
  2. شكرا على التوضيح الامر OutputTo لا يحتوي على طريقة لعمل التصفية للسجل المطلوب ، فعليه ، اليك الطريقة التي يمكن ان تستعملها لتحقيق هدفك: 1. اعمل نسخة من التقرير 2invoiceh ، ولنسميه 2invoiceh_2 ، 2. اعمل استعلام ، واجعله مصدر بيانات هذا التقرير ، 3. في الاستعلام ، وفي الحقل operation_code ، اكتب هذا المعيار : Forms![invoiceh]!operation_code 4. فيصبح كود التصدير الى pdf هكذا DoCmd.OutputTo acOutputReport, "2invoiceh_2", acFormatPDF, "C:\Temp\myPDF.pdf" . حيث سيتم تصدير الملف myPDF.pdf الى المجلد C:\Temp جعفر
  3. وعليكم السلام يجب ان تستخدم ارقام للشهر والسنه ، عُذرا على هذا السهو ولم تخالف القوانين ، ولكن رجاء قراءتها جعفر
  4. السلام عليكم القيت نظرة على الجدول معلومات ، ورأيت الكم المهول من الحقول ، فأردت ان اعطيك حقيقة لا يعرفها الكثير بالنسبة الى برنامجك ، انا اضفت رقم الى كل حقل ، ثم رقم آخر ، الى ان توقف الجدول عن قبول اي رقم زيادة ، فوصل مجموع عدد بيانات (حروف) الحقول = 3475 . انا ارفقت لك برنامجك ، وياريت تحاول تضيف حرف/رقم في اي من حقول السجل Auto_ID=2 ، وبتلاحظ انه ، لا تستطيع إضافة اي حرف !! حيث ان سجل جدول الاكسس الواحد يقبل: للاكسس 2007 فما فوق = 4000 حرف ، للاكسس 2003 فما قبل = 2048 حرف Auto_ID 2 القسم 50 السجل 50 رقم التسجيل 2 رقم التلميذ 1 الاسم 50 اللقب 50 تاريخ الميلاد 0 مكانه 50 الحالة 50 رقم القسم 1 الأب 50 الأم 50 تاريخ الدخول 0 الجنس 50 مهنته 50 ملاحظات 50 العنوان 50 الإعادة 50 الدعم 54 القسم المعاد 50 الاستفادة من المطعم المدرس 0 ناجح 50 الاعاقة 0 المنحة 50 PAGE 0 اللغة الأجنبية الأولى 50 الجنسية 50 ولاية الميلاد 50 تاريخ الخروج 0 الأمراض المزمنة 50 رقم الهاتف 54 سبب الخروج 50 الحضور والغياب 54 المستوى 55 رقم ش ت م 0 المنطقة 54 قرارمجلس القبول و التوجيه 54 التربية التشكيلية 54 التربية البدنية 54 تاريخ القرار 0 رقم القرار 54 نوع ونصاب المنحة 54 أيام الحضور 54 منحة متأخرة 54 نصف داخلي 54 المجموع 54 معد مجموعة التوجيه 54 جذع مشترك آداب 54 جذع مشترك علوم و تكنولوجيا 54 الرغبة 1 54 الرغبة 2 54 اق 1 54 اق 2 54 الاقتراح المسبق للتوجيه 54 اليتامى 54 المؤسسة الأصلية 54 الوضعية العائلية 54 مركز الاجرلء 54 تاريخ الاجراء 0 معدل 6 54 المؤسسة المستقبلة 54 معدل ش ت م 54 معدل القبول 54 المصالح الاقتصادية 54 مجانية الكتاب 54 co_ara 0 co_fr 0 co_ang 0 co_ecmr 0 co_eciv 0 co_hi 0 co_ma 0 co_sc 0 co_ph 0 co_eps 0 الحركة 54 رقم الخروج 53 يتيم 53 رسم 53 الفرض 53 الاختبار 53 المعدل الفصلي 53 المعدل السنوي 53 الوزن 53 القامة 53 حدة النظر 53 تشخيص المرض 53 مندوب القسم 53 مجموع عدد بيانات (حروف) الحقول = 3475 . الافضل لك ان تقسم الجدول الى جدولين او ثلاثة جعفر 835.متوسطة 2017.accdb.zip
  5. لم الحظ ان القيم عندك كانت نص !! استخدم هذا السطر If Val(Me.n9) > Val(Me.Price_Sales) Then بدلا عن If Me.n9 > Me.Price_Sales Then جعفر
  6. في النموذج الجدولي ، لا تستطيع ان تلون حقل ، إلا بإستعمال التنسيق الشرطي ، فالجواب ، لا يمكن انت حاول تلوت الحقل والنموذج بوضع التصميم ، واخبرنا اذا استطعت جعفر
  7. وعليكم السلام اسنخدم هذا الكود في حدث "بعد التحديث" لحقل n9 Private Sub n9_AfterUpdate() 'Dim i, x As Integer 'x = Me.Price_Sales 'i = Me.n9 'If i > x Then 'MsgBox ("السعر اكبر ") 'Me.Rajmsanf.SetFocus 'Me.n9.SetFocus 'Exit Sub 'End If If Me.n9 > Me.Price_Sales Then MsgBox ("السعر اكبر ") Me.Rajmsanf.SetFocus Me.n9.SetFocus Me.n9 = Me.Price_Sales End If End Sub جعفر
  8. 1. الخطأ لم يكن في Expression فقط ، وانما انت وضعت "...." حول الشرط ، اي لم يكن عندك شرط ، فالنتيجة كانت دائما نفسها: . 2. حدث التقرير يختلف عن حدث النموذج ، يجب ان تضع الحدث في القسم الصحيح: أ. يجب ان تعرف في اي قسم يوجد الحقل الذي تريد عمل كود له ، ب. في حالتنا ، نرى ان القسم هو Detail ، . ج. 99.99% من الوقت نستخدم حدث "التنسيق" او "عند الطباعة" ، ولك الاختيار . جعفر
  9. وعليكم السلام تفضل 'رقم operation_code اذا كان الحقل DoCmd.OpenReport "2invoiceh", acViewPreview, , "[operation_code]=" & Forms![invoiceh]![operation_code] 'نص operation_code اذا كان الحقل DoCmd.OpenReport "2invoiceh", acViewPreview, , "[operation_code]='" & Forms![invoiceh]![operation_code] & "'" جعفر
  10. السلام عليكم اخي وضاح بما اننا توقفنا عن العمل في الموضوع مع ابو ياسين ، رجاء تخبرنا شو اللي تريده بالضبط ، وبالتفصيل لوسمحت جعفر
  11. وعليكم السلام الاستعلام يجب ان يكون هكذا . والتقرير: . جعفر 834.Madin.accdb.zip
  12. وعليكم السلام للعلم : 1. لا تستطيع تلوين خلفية حقل النموذج الجدولي ، 2. الكود يعمل على نموذج فردي ، يعني على سجل واحد فقط. للنموذج الرئيسي استعمل : = Color_Nulls() للنموذج الفرعي استعمل : = Color_Nulls_SubForm() وهكذا اصبحت الوحدة النمطية: Option Compare Database Option Explicit Public Function Color_Nulls() Dim frm As Form Dim ctrl As Control Dim sfrm As Form Dim sctrl As Control Dim Color1 As String Dim Color2 As String Color1 = vbRed Color2 = vbBlue Set frm = Screen.ActiveForm For Each ctrl In frm.Controls If ctrl.ControlType = acTextBox Then 'Main Form If Len(ctrl.Value & "") = 0 Then ctrl.BackColor = IIf(ctrl.BackColor = vbWhite Or ctrl.BackColor = Color2, Color1, Color2) End If ' 'Don't use, the load on the Timer dosen't allow the proper Flashing Effect ' ' ElseIf ctrl.ControlType = acSubform Then ' 'SubForm ' ' Set sfrm = ctrl.Form ' For Each sctrl In sfrm.Controls ' ' If sctrl.ControlType = acTextBox Then ' ' If Len(sctrl.Value & "") = 0 Then ' ' sctrl.BackColor = IIf(sctrl.BackColor = vbWhite Or sctrl.BackColor = vbBlue, vbRed, vbBlue) ' End If ' End If ' ' Next End If Next End Function Public Function Color_Nulls_SubForm() Dim sfrm As Form Dim ctrl As Control Dim Color1 As String Dim Color2 As String Color1 = vbRed Color2 = vbBlue Set sfrm = Screen.ActiveControl.Parent For Each ctrl In sfrm.Controls If ctrl.ControlType = acTextBox Then If Len(ctrl.Value & "") = 0 Then ctrl.BackColor = IIf(ctrl.BackColor = vbWhite Or ctrl.BackColor = Color2, Color1, Color2) End If End If Next End Function جعفر 829.Flash_BG.mdb.zip
  13. قصدك b = a + 1 . جعفر
  14. وعليكم السلام الوحدة النمطية التالية تقوم بالعمل Option Compare Database Option Explicit Public rst As DAO.Recordset ' Public Function Calc_Empty_Fields() Dim i As Integer Dim RC As Integer Dim RF As Integer Dim j As Integer Dim Counter As Integer rst.MoveLast: rst.MoveFirst RC = rst.RecordCount RF = rst.Fields.Count 'Records For i = 1 To RC Counter = 0 'Fields For j = 0 To RF - 1 If IsNumeric(rst(j).Name) And rst(j).Value = -1 Then Counter = Counter + 1 End If 'rst Next j 'rst.Edit ' rst!Sum_Check = Counter 'rst.Update rst.MoveNext Next i Calc_Empty_Fields = Counter rst.Close: Set rst = Nothing End Function . ونناديها من النموذج الفرعي هكذا Private Sub Form_Current() Set rst = Me.RecordsetClone Me.sum_Check = Calc_Empty_Fields() End Sub . جعفر 833.Prog400.mdb.zip
  15. كلامي كله كان ، اذا هذ الطريقة عملت مرادك ، الخطوة التالية اللي ممكن تعملها ، انك ترسل الجدول/الاستعلام بالكود الى الاكسل ، فالكود في برنامجي شبه جاهز ان يقوم بهذه العملية ، فجميع الخيارات موجودة فيه ، وببساطة جعفر
  16. السلام عليكم اخوي ابو عبدالله ، كنت سأعطيك رد بسيط ، ولكن اخي عمر لجمني انتظروا شوي ، وان شاء الله ارجع لكم جعفر
  17. السلام عليكم اخوي ابو ياسين انا ما اعرف انت تروح من اي نموذج او تقرير وتعرض صورته ، انا من البداية كنت اخبرك اي نموذج اكون عليه ، واي حقل ، وانت كنت تأكد لي ، وعليه كنت اشتغل انا ما ادري اذا كنت انزلت المرفق في مشاركتي الماضية ، ولكن هذه نسخة منه ، فرجاء تنزلها. اعرض عليك ما عملته ، وما اراه في البرنامج الذي عملت عليه: سأسترجع من الفاتورة رقم 2: . الصنف 1-1 ، وترى لما حاولت ان استرجع 26 حبة ، لم يقبل البرنامج (هذا الذي تريده من سؤالك) ، بينما الكمية المُباعة كانت 25 ، . عدّلت على الكمية ، فاصبحت 10 ، وهي اقل من الكمية المباعة . وترى ان البرنامج قبلها ، ولم ينقص من الفاتورة الاخرى او الصنف الاخر . وطبعا لا ننسى ان النموذج الرئيسي مرتبط بالنموذج الفرعي برقم الفاتورة كذلك ، . جعفر 828.احتساب الكميه 2.mdb.zip
  18. السلام عليكم ومشاركة مع اخي شفان ، وبالنظر الى الموضوع من زاوية اعلى ، نستطيع ان نرسل اسم النموذج الذي فتح نموذج البحث ، عن طريق المتغير OpenArgs ، هكذا Private Sub Field_DblClick(Cancel As Integer) DoCmd.OpenForm "Search Orient", , , , , , "FrmAmr" End Sub او للنموذج الثاني Private Sub Field_DblClick(Cancel As Integer) DoCmd.OpenForm "Search Orient", , , , , , "FrmMoh" End Sub . ثم من نموذج البحث ، نرجع المعلومة هكذا: Private Sub Orient_DblClick(Cancel As Integer) Forms(Me.Parent.OpenArgs)!Field = Me.Client DoCmd.Close End Sub جعفر
  19. وعليكم السلام في اعدادات النموذج ، نطلب من النموذج الذهاب الى الوحدة النمطية Color_Nulls كل ثانية (1000 معناه ثانية) ، وبهذه الطريقة لا تحتاج ان تضع الكود في كل نموذج ،وانما تعمله من هذه الاعدادات ، وستلاحظ ان النموذجين يعملان (المرفق فيه نموذجين) . وهذه الوحدة النمطية المسؤولة عن العمل Public Function Color_Nulls() Dim frm As Form Dim ctrl As Control Set frm = Screen.ActiveForm For Each ctrl In frm.Controls If ctrl.ControlType = acTextBox Then If Len(ctrl.Value & "") = 0 Then ctrl.BackColor = IIf(ctrl.BackColor = vbWhite Or ctrl.BackColor = vbBlue, vbRed, vbBlue) End If End If Next End Function جعفر 829.Flash_BG.mdb.zip
  20. العفو اخوي ابو ياسين وحياك الله جعفر
  21. اخي ابو ياسين المرفق اللي انا عملته ، اضف له حقل نص جديد ، وجرب الشرطين ينطبقوا عليه. تم اضافة الحقل الفارغ في المرفق الاصلي. جعفر
  22. انت في هذه الحالة حفظت قيمة الحقل ="" ، وانتقل المؤشر الى الحقل التالي جعفر
  23. وعليكم السلام واهلا وسهلا بك في المنتدى ورجاء قراءة قوانين المنتدى قبل وضع مشاركات جديدة تفضل ، المطلوب في برنامجك المرفق ، وهذا الكود يقوم بالعمل: Private Sub cmd_Do_Month_Dates_Click() Dim rst As DAO.Recordset Dim i As Date Set rst = Me.نموذج_فرعي_main_data.Form.RecordsetClone For i = DateSerial(Me.iYear, Me.iMonth, 1) To DateSerial(Me.iYear, Me.iMonth + 1, 0) rst.AddNew rst!dd = Format(i, "dddd") rst!ddate = i rst.Update Next i rst.Close: Set rst = Nothing End Sub جعفر 831.برنامج رواتب.accdb.zip
  24. السلام عليكم اخي ابو ياسين ، يُفضل ان يكون الكود الذي عملته انت ، ان يكون على الحدث "قبل التحديث" ، حتى لا تُحفظ القيمة وينتقل المؤشر الى الحقل التالي وهذا هو مثال طريقتي ، على شروطك: جعفر 830.Validation_Rule.mdb.zip
×
×
  • اضف...

Important Information