بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
شكرا على التوضيح الامر 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
-
قصدك b = a + 1 . جعفر
-
وعليكم السلام الوحدة النمطية التالية تقوم بالعمل 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
-
تصدير تقرير الى اكسل مع الاحتفاظ بتنسيق التقرير
jjafferr replied to أبو عبدالله الحلوانى's topic in قسم الأكسيس Access
كلامي كله كان ، اذا هذ الطريقة عملت مرادك ، الخطوة التالية اللي ممكن تعملها ، انك ترسل الجدول/الاستعلام بالكود الى الاكسل ، فالكود في برنامجي شبه جاهز ان يقوم بهذه العملية ، فجميع الخيارات موجودة فيه ، وببساطة جعفر -
تصدير تقرير الى اكسل مع الاحتفاظ بتنسيق التقرير
jjafferr replied to أبو عبدالله الحلوانى's topic in قسم الأكسيس Access
السلام عليكم اخوي ابو عبدالله ، كنت سأعطيك رد بسيط ، ولكن اخي عمر لجمني انتظروا شوي ، وان شاء الله ارجع لكم جعفر -
السلام عليكم اخوي ابو ياسين انا ما اعرف انت تروح من اي نموذج او تقرير وتعرض صورته ، انا من البداية كنت اخبرك اي نموذج اكون عليه ، واي حقل ، وانت كنت تأكد لي ، وعليه كنت اشتغل انا ما ادري اذا كنت انزلت المرفق في مشاركتي الماضية ، ولكن هذه نسخة منه ، فرجاء تنزلها. اعرض عليك ما عملته ، وما اراه في البرنامج الذي عملت عليه: سأسترجع من الفاتورة رقم 2: . الصنف 1-1 ، وترى لما حاولت ان استرجع 26 حبة ، لم يقبل البرنامج (هذا الذي تريده من سؤالك) ، بينما الكمية المُباعة كانت 25 ، . عدّلت على الكمية ، فاصبحت 10 ، وهي اقل من الكمية المباعة . وترى ان البرنامج قبلها ، ولم ينقص من الفاتورة الاخرى او الصنف الاخر . وطبعا لا ننسى ان النموذج الرئيسي مرتبط بالنموذج الفرعي برقم الفاتورة كذلك ، . جعفر 828.احتساب الكميه 2.mdb.zip
-
السلام عليكم ومشاركة مع اخي شفان ، وبالنظر الى الموضوع من زاوية اعلى ، نستطيع ان نرسل اسم النموذج الذي فتح نموذج البحث ، عن طريق المتغير 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 جعفر
-
وعليكم السلام في اعدادات النموذج ، نطلب من النموذج الذهاب الى الوحدة النمطية 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
-
مطلوب طربقة تحديد و تقييد كتابة 9 ارقام فقط في حقل واحد
jjafferr replied to AbedElkader's topic in قسم الأكسيس Access
العفو اخوي ابو ياسين وحياك الله جعفر -
مطلوب طربقة تحديد و تقييد كتابة 9 ارقام فقط في حقل واحد
jjafferr replied to AbedElkader's topic in قسم الأكسيس Access
اخي ابو ياسين المرفق اللي انا عملته ، اضف له حقل نص جديد ، وجرب الشرطين ينطبقوا عليه. تم اضافة الحقل الفارغ في المرفق الاصلي. جعفر -
مطلوب طربقة تحديد و تقييد كتابة 9 ارقام فقط في حقل واحد
jjafferr replied to AbedElkader's topic in قسم الأكسيس Access
انت في هذه الحالة حفظت قيمة الحقل ="" ، وانتقل المؤشر الى الحقل التالي جعفر -
وعليكم السلام واهلا وسهلا بك في المنتدى ورجاء قراءة قوانين المنتدى قبل وضع مشاركات جديدة تفضل ، المطلوب في برنامجك المرفق ، وهذا الكود يقوم بالعمل: 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
-
مطلوب طربقة تحديد و تقييد كتابة 9 ارقام فقط في حقل واحد
jjafferr replied to AbedElkader's topic in قسم الأكسيس Access
السلام عليكم اخي ابو ياسين ، يُفضل ان يكون الكود الذي عملته انت ، ان يكون على الحدث "قبل التحديث" ، حتى لا تُحفظ القيمة وينتقل المؤشر الى الحقل التالي وهذا هو مثال طريقتي ، على شروطك: جعفر 830.Validation_Rule.mdb.zip -
نصطاد هذا الخطأ ، جرب Private Sub cmd_Do_Records_Click() On Error GoTo err_cmd_Do_Records_Click Dim rst As DAO.Recordset Dim rstSUB As DAO.Recordset 'نقرأ بيانات النموذج الفرعي Set rstSUB = Me.Forme_Sub_Itinerary.Form.RecordsetClone rstSUB.MoveLast: rstSUB.MoveFirst RCsub = rstSUB.RecordCount 'نقرأ كل سجل من سجلات النموذج الفرعي For j = 1 To RCsub 'اذا يوجد علامة صح في حقل "اعمل التغييرات" فقم بحذف السجلات السابقة لهذا الخط ، واعمله من جديد If rstSUB!Do_Changes = -1 Then 'نجهز الجدول لإدخال/حذف بيانات رقم المقعد mySQL = "SELECT Auto_Chair_ID AS Auto, Tabl_bus.*" mySQL = mySQL & " FROM Tabl_bus" mySQL = mySQL & " WHERE Num_Itinerary_ID=" & rstSUB!Auto_ID mySQL = mySQL & " AND Num_Itinerary=" & rstSUB!Num_Itinerary mySQL = mySQL & " AND Num_rihla=" & rstSUB!Num_rihla mySQL = mySQL & " ORDER by Auto_Chair_ID DESC" 'Debug.Print mySQL Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount If RC > rstSUB!Number_seats Then 'نحذف سجلات رقم المقعد من الجدول For i = rstSUB!Number_seats + 1 To RC rst.Delete rst.MoveNext Next i Else 'نضيف سجلات رقم المقعد في الجدول For i = RC + 1 To rstSUB!Number_seats rst.addnew rst!Num_Itinerary_ID = rstSUB!Auto_ID rst!Num_Itinerary = rstSUB!Num_Itinerary rst!Num_rihla = rstSUB!Num_rihla rst![Chair_ No] = i rst.Update Next i End If 'نقوم بتغيير حقل "اعمل التغييرات" ونزيل الصح منها rstSUB.Edit rstSUB!Do_Changes = 0 rstSUB.Update GoTo Exit_cmd_Do_Records_Click End If 'rstSUB rstSUB.MoveNext Next j Exit_cmd_Do_Records_Click: 'احذف البيانات من ذاكرة الكمبيوتر rst.Close: Set rst = Nothing rstSUB.Close: Set rstSUB = Nothing Exit Sub err_cmd_Do_Records_Click: If Err.Number = 3021 Then Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر