بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9998 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
406
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
أريد طريقة عمل فرز لأسماء المتقدمين على دورات تدريبية "آلية"
jjafferr replied to ابوآمنة's topic in قسم الأكسيس Access
-
أريد طريقة عمل فرز لأسماء المتقدمين على دورات تدريبية "آلية"
jjafferr replied to ابوآمنة's topic in قسم الأكسيس Access
اذا تريد بيانات هذه الحقول تظهر تظهر لك في النموذج، فنعم يجب إدخالها في الكود -
أريد طريقة عمل فرز لأسماء المتقدمين على دورات تدريبية "آلية"
jjafferr replied to ابوآمنة's topic in قسم الأكسيس Access
قلت لك اني عملته !! لازم تغير اسم الجدول الموجود tbl_Training الى اسم آخر، وبعدين تقوم بهذا العمل. طبعا، اذا بدأت استعمال البرنامج، فيجب عليك حذف جدول المتقدمين، والعمل فقط على الجدول tbl_Training -
أريد طريقة عمل فرز لأسماء المتقدمين على دورات تدريبية "آلية"
jjafferr replied to ابوآمنة's topic in قسم الأكسيس Access
بس مافي داعي، لأني عملته انا، وعليه أصبح عندنا الجدول tbl_Training . ولكن لا بأس بعمله، ليطمئن قلبك جعفر -
أريد طريقة عمل فرز لأسماء المتقدمين على دورات تدريبية "آلية"
jjafferr replied to ابوآمنة's topic in قسم الأكسيس Access
وعليكم السلام هذا الزر هو الذي قام بتنظيم الدورات ونقلها إلى حقل واحد. لاستخدامه: 1. أعمل نسخه من جدول المتقدمين، واسميه tbl_Training ، 2. غيّر اسم الحقل دورة1 الى دورة ، 3. اضغط على هذا الزر ، 4. ارجع الى الجدول tbl_Training ، سترى السجلات الجديدة، وهي نسخة من الدورات دورة2 الى دورة5 تم تصفيفها في حقل دورة، مع الأخذ في الاعتبار التاريخ والأيام و الجهة ، 5. احذف حقول دورة2 الى دورة5. بعد تحويل الجدول بهذه الطريقة، ينتهي دور النموذج، ولا تستعمله مرة ثانية. جعفر -
وعليكم السلام انت تفتح التقرير ، ثم تطبعه ، لماذا !! مافي داعي لهذا ، جرب هذا if nz(me.total,0)<>0 then DoCmd.OpenReport "grama" end if جعفر
-
؟
-
هناك دائما اكثر من طريقة لعمل المطلوب ، ولكننا نتخذ قرارا لعمل المطلوب بطريقة معينة لسبب او لآخر ، وبعض الاوقات لا توجد طريقة افضل من اخرى ، واحيانا يكون هناك الكثير من الاشياء التي تلزمك بعمل شيء بطريقة معينة ، وانت تعرف ان هذه الطريقة ليست الافضل ، ولكن لا يوجد مجال لإختيار الافضل هنا. فالجواب ، تعددت الاسباب والموت واحد اذا الطريقة سهلة لك ، واهم الشيء ان النتائج صحيحة ، فلا تهتم بشيء آخر جعفر
-
أريد طريقة عمل فرز لأسماء المتقدمين على دورات تدريبية "آلية"
jjafferr replied to ابوآمنة's topic in قسم الأكسيس Access
وعليكم السلام اولا وقبل كل شيء ، يجب عليك تغيير تصميم جدول "المتقدمين" (حاليا تصميمه يناسب الاكسل) ، حتى يكون بطريقة قواعد البيانات الصحيحة ، والذي سيوفر عليك الكثير من الوقت لاحقا ، لذا عملت لك التعديل في الجدول tbl_Training . انت محتاج تعمل استعلام لكل جهة (يعني 3 استعلامات) ، ثم تستعمل الامر Union لتجمع الاستعلامات الثلاث في استعلام واحد ، ولكن المشكلة هي العدد المطلوب ، فلا يمكننا ان نجعل العدد رقم متغير في الاستعلام ، وهو ما يشار الى بـ TOP n (اذا العدد معروف مسبقا ، فالاستعلامات الثلاث سهله ، ثم نعمل استعلام Union يجمعها) ، لذا وجب علينا ان نعمل الاستعلامات في الكود Private Sub cmd_Training_Records_Click() mySQL1 = "SELECT TOP " & Forms!Q1!iSchool & " الوقت, الاسم, الجهة, الدورة" mySQL1 = mySQL1 & " FROM tbl_Training" mySQL1 = mySQL1 & " WHERE الجهة = 'مدرسة' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL1 = mySQL1 & " ORDER BY الوقت" 'Debug.Print mySQL1 mySQL2 = "SELECT TOP " & Forms!Q1!iAdmin & " الوقت, الاسم, الجهة, الدورة" mySQL2 = mySQL2 & " FROM tbl_Training" mySQL2 = mySQL2 & " WHERE الجهة = 'إدارة' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL2 = mySQL2 & " ORDER BY الوقت" 'Debug.Print mySQL2 mySQL3 = "SELECT TOP " & Forms!Q1!iOffice & " الوقت, الاسم, الجهة, الدورة" mySQL3 = mySQL3 & " FROM tbl_Training" mySQL3 = mySQL3 & " WHERE الجهة = 'مكتب' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL3 = mySQL3 & " ORDER BY الوقت" 'Debug.Print mySQL3 mySQL_union = mySQL1 & " union all " & mySQL2 & " union all " & mySQL3 'Debug.Print mySQL_union Me.f1.Form.RecordSource = mySQL_union Me.f1.Form.OrderBy = "الجهة, الوقت" Me.f1.Form.OrderByOn = True End Sub . ويكون الاستعلام الاخير هو مصدر بيانات النموذج الفرعي . جعفر 837.الدورات.accdb.zip -
احتساب الكميات عند عمل المرتجع اكثر من مره
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
-
لا اعتقد بأنك تستطيع الطباعة مثل ما اقترحت ، ولكن يمكنك عمل كود بهذه الطريقة ، واللي تحدد فيه جميع صيغ الصور: if len(Dir("D:\2017\pic\" & Me.Code_ID & ".jpg"))>0 then Ex=".jpg" elseif len(Dir("D:\2017\pic\" & Me.Code_ID & ".png"))>0 then Ex=".png" elseif len(Dir("D:\2017\pic\" & Me.Code_ID & ".bmp"))>0 then Ex=".bmp" end if Shell ("cmd /c mspaint /p " & "D:\2017\pic\" & Me.Code_ID & Ex) . الامر Shell هو (بالاضافة الى بعض المتغيرات من هذا الامر مثل ShellWait و ..) ، هو اعطاء اوامر عن طريق Command Line بين البرامج ، لهذا السبب ، لاحظ لما انا اقترح برنامج معين مكمل للأكسس ، فهذا البرنامج يجب ان يقبل اوامر Command Line ، حتى اتحكم به برمجيا من الاكسس ، عن طريق Shell في حالتنا هنا ، البرنامج mspaint يقبل التحكم به عن طريق برنامج DOS مال زمان ، واللي اليوم اصبح اسمه cmd . جعفر
-
احتساب الكميات عند عمل المرتجع اكثر من مره
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
العفو اخوي وضاح ، بعض الاوقات اضطر اكون خشن ، علشان الامور تسير عدل وابو ياسين على راسي ، ومثل ما شفت في موضوع ابو ياسين ، فقد حذفت مشاركة التأنيب الآن نجي لهذا الموضوع ، فهل لا زلت تريده ، او انه تم حله من الموضوع الآخر؟ جعفر -
من هنا: نفترض ان حقل كود العميل اسمه Code_ID ، عليه يصبح امر الطباعة: Shell ("cmd /c mspaint /p " & "D:\" & me.Code_ID & ".jpg") . جعفر
-
وعليكم السلام وما صيغة هذا الملف؟ جعفر
-
شكرا على التوضيح الامر 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 جعفر
-
وعليكم السلام يجب ان تستخدم ارقام للشهر والسنه ، عُذرا على هذا السهو ولم تخالف القوانين ، ولكن رجاء قراءتها جعفر
-
السلام عليكم القيت نظرة على الجدول معلومات ، ورأيت الكم المهول من الحقول ، فأردت ان اعطيك حقيقة لا يعرفها الكثير بالنسبة الى برنامجك ، انا اضفت رقم الى كل حقل ، ثم رقم آخر ، الى ان توقف الجدول عن قبول اي رقم زيادة ، فوصل مجموع عدد بيانات (حروف) الحقول = 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
-
بعد ظهور الرساله عند تعديل السعر ارجاع المبلغ كما كان سابقا
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
لم الحظ ان القيم عندك كانت نص !! استخدم هذا السطر If Val(Me.n9) > Val(Me.Price_Sales) Then بدلا عن If Me.n9 > Me.Price_Sales Then جعفر -
في النموذج الجدولي ، لا تستطيع ان تلون حقل ، إلا بإستعمال التنسيق الشرطي ، فالجواب ، لا يمكن انت حاول تلوت الحقل والنموذج بوضع التصميم ، واخبرنا اذا استطعت جعفر
-
بعد ظهور الرساله عند تعديل السعر ارجاع المبلغ كما كان سابقا
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
وعليكم السلام اسنخدم هذا الكود في حدث "بعد التحديث" لحقل 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 جعفر -
1. الخطأ لم يكن في Expression فقط ، وانما انت وضعت "...." حول الشرط ، اي لم يكن عندك شرط ، فالنتيجة كانت دائما نفسها: . 2. حدث التقرير يختلف عن حدث النموذج ، يجب ان تضع الحدث في القسم الصحيح: أ. يجب ان تعرف في اي قسم يوجد الحقل الذي تريد عمل كود له ، ب. في حالتنا ، نرى ان القسم هو Detail ، . ج. 99.99% من الوقت نستخدم حدث "التنسيق" او "عند الطباعة" ، ولك الاختيار . جعفر
-
وعليكم السلام تفضل 'رقم operation_code اذا كان الحقل DoCmd.OpenReport "2invoiceh", acViewPreview, , "[operation_code]=" & Forms![invoiceh]![operation_code] 'نص operation_code اذا كان الحقل DoCmd.OpenReport "2invoiceh", acViewPreview, , "[operation_code]='" & Forms![invoiceh]![operation_code] & "'" جعفر
-
احتساب الكميات عند عمل المرتجع اكثر من مره
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
السلام عليكم اخي وضاح بما اننا توقفنا عن العمل في الموضوع مع ابو ياسين ، رجاء تخبرنا شو اللي تريده بالضبط ، وبالتفصيل لوسمحت جعفر -
-
وعليكم السلام للعلم : 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