بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9998 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
406
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
قصدك 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 جعفر
-
في النموذج frmEdrajSenfm ، حقل Alkmiah لا يقبل ادخال رقم اكبر من الحقل Alkmiah في النموذج الفرعي frm_mr هل انا وانت نتكلم عن نفس النماذج؟ انتبه ، انا لا اتكلم عن النموذج الفرعي SubSales
-
تفضل 828.احتساب الكميه 2.mdb.zip
-
وهكذا اصبح الكود ، ورجاء تجربته Private Sub 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 End Sub . جعفر 806.2.AAddseat.accdb.zip
-
يعني مثلا: اذا كان عندنا في جدول الباصات 40 سجل: اذا عدد مقاعد النموذج الفرعي = 30 ، اذن نقوم بحذف Auto_Chair_ID الاكبر الى الاصغر ، مثلا 31-40 اذا عدد مقاعد النموذج الفرعي = 50 ، اذن نقوم بإضافةسجلات ، 41-50 مع الاخذ بعين لاعتبار بأن الرقم الذي يتم حذفة من Auto_Chair_ID لا يمكن الحصول عليه مرة اخرى. صح هذا المطلوب؟
-
ان شاء الله
-
-
جرب هذا A = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![ID_Sanf] & "' And [Rjmfatwra]='" & [Forms]![frm_Recall_sales]![frm_mr].[Form]![Rjmfatwra] & "'") If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah].Value = 0 Then Exit Sub If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > A Then DoCmd.Beep MsgBox " كـمـيـة الـمـرتـجـع اكـبـر مــن كـمـيـةالـبـيـع" & " ", , "تـنـبـيـه" Me.Undo Exit Sub End If
-
مطلوب طربقة تحديد و تقييد كتابة 9 ارقام فقط في حقل واحد
jjafferr replied to AbedElkader's topic in قسم الأكسيس Access
وعليكم السلام تستطيع استعمال هذه الطريقة ، من اعدادات الحقل في النموذج مباشرة ، بحيث يكون الشرط: >0 and <1000000000 . . . جعفر