-
Posts
9977 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
406
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
اهتزاز في الشاشة عند استعمال حقل مجموع الرصيد في الاستعلام
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
السلام عليكم اخي ابو زاهر لازلت في انتظار الجواب جعفر -
وعليكم السلام اذا كان عندك حقلين مستقلين ، حقل R للريال وحقل H للهلله ، فتستطيع في الاستعلام تعمل حقل جديد مثلا: RH: [R] + [H] جعفر
-
وعليكم السلام استخدم محرك البحث في المنتدى ، وابحث عن كلمة تفقيط ، وستجد المطلوب في قسم الاكسس جعفر
-
طلب تعديل في حقول البرنامج
jjafferr replied to mazenmansur3000@gmail.com's topic in قسم الأكسيس Access
وعليكم السلام اخي مازن اذا ممكن تجمع لي النموذج والجدول المطلوب في برنامج ، وترفقهم جعفر -
اهتزاز في الشاشة عند استعمال حقل مجموع الرصيد في الاستعلام
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
السلام عليكم اخي ابو زاهر سؤال: حقل الرصيد هو: Rsnf: (Nz(DSum("Alkmiah","Qrymaster","Nwaha=11" & " and ID_Sanf=" & [ID_Sanf])) -Nz(DSum("Alkmiah","Qrymaster","Nwaha=12" & " and ID_Sanf=" & [ID_Sanf]))) -(Nz(DSum("Alkmiah","Qrymaster","Nwaha=13" & " and ID_Sanf=" & [ID_Sanf])) -Nz(DSum("Alkmiah","Qrymaster","Nwaha=14" & " and ID_Sanf=" & [ID_Sanf]))) -Nz(DSum("Alkmiah","Qrymaster","Nwaha=21" & " and ID_Sanf=" & [ID_Sanf])) +Nz(DSum("Alkmiah","Qrymaster","Nwaha=20" & " and ID_Sanf=" & [ID_Sanf])) +Nz([rsdaolalmdh]) . بينما الاستعلام اللي تأخذ بياناتك منه Qrymaster ، لا يحتوي على اي من الحقول اعلاه: Nwaha11 و 12 و 13 و 14 و 21 و 20 . جعفر -
المساعدة في تعديل كود الخروج من النموذج والحفظ
jjafferr replied to ابوآمنة's topic in قسم الأكسيس Access
تفضل يا سيدي Private Sub Command9_Click() On Error GoTo err_Command9_Click If IsNull(Me.Text15) And IsNull(Me.TotalAmount) Then DoCmd.SetWarnings (False) DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 DoCmd.SetWarnings (True) DoCmd.Close acForm, Me.Name Else DoCmd.Close acForm, Me.Name End If If IsNull(Me.Text15) Then DoCmd.SetWarnings (False) DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 DoCmd.SetWarnings (True) DoCmd.Close acForm, Me.Name Else Dim Msg, style, title, result Msg = "هل تريد حفظ الفاتورة الحالية" style = vbYesNo title = " تنبيه" result = MsgBox(Msg, style, title) If result = vbYes Then [TotalAmount] = [Text17] [Descount] = [Text15] - [Text17] MsgBox "تم الحفظ سيتم الخروج", vbInformation, "تنبيه" DoCmd.Close acForm, Me.Name 'Else ' DoCmd.SetWarnings (False) ' DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 ' DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 ' DoCmd.SetWarnings (True) ' MsgBox "تم حذف الفاتورة الحالية", vbInformation, "مع السلامة" ' DoCmd.Close acForm, Me.Name End If End If Exit_Command9_Click: Exit Sub err_Command9_Click: If Err.Number = 2467 Then Resume Exit_Command9_Click Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر -
وعليكم السلام رجاء اخذ نسخة اضافية من بياناتك قبل العمل الطريقة التي عملتها هي: تغيير الارقام الى ارقام كبيرة غير موجوده في القائمة ، ثم تغيير الارقام الى التسلسل المطلوب تفضل . والكود خلف الزر: Private Sub cmd_Do_The_Changes_Click() 'make Reference to Microsoft DAO x.xx Object Library Dim rst As DAO.Recordset Dim biggest_Number As Long Dim i As Integer Dim j As Integer Dim RC As Integer Dim Multiply_by As String biggest_Number = Len(DMax("[ID]", "Data")) 'we have to do this in two steps: '1 based on the Biggest Number, lets multiply it by 10, so that No number id duplicated '2 then Seq based on the required Seq '1 Set rst = CurrentDb.OpenRecordset("Select * From Data") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 1 To RC 'what number to multiply with Multiply_by = 1 For j = 1 To biggest_Number - Len(rst!ID) Multiply_by = Multiply_by & "0" Next j 'change the existing numbers to BIGGER NUMBERS rst.edit rst!ID = rst!ID * Val(Multiply_by) rst.Update rst.MoveNext Next i '2 rst.MoveFirst For i = 0 To RC - 1 'change the BIGGER NUMBERS to the new Seq rst.edit rst!ID = Me.int_Start + i rst.Update rst.MoveNext Next i rst.Close: Set rst = Nothing MsgBox "Done" End Sub . وبسبب وجود علاقة بين الجدولين Data و tell عن طريق الحقل ID ، فلما الكود يغير قيمة الحقل ID في الجدول Data ، فتلقائيا نجد ان القيمة قد تغيرت في الحقل ID في الجدول tell . جعفر 927.Access.accdb.zip
-
حيا الله اخوي شفان الامر Recordset او Recordsetclone هما من عائلة DAO ، فإذا طلبت عدد السجلات مباشرة ، فستحصل على 0 (اي لا سجلات) ، او رقم (ولكن ليس عدد السجلات الصحيح) ، بينما اذا كان عندنا عدد كبير من السجلات ، فاكسس لا يجلب جميع هذه السجلات الى النموذج ، والامر RecordCount. كذلك لا يجلب عدد هذه السجلات ، والسبب ان اكسس يعرض لك عدد معين من السجلات بسرعة وبإستخدام ذاكرة اقل ، واذا اردت الحصول على عدد السجلات الصحيح ، فيجب ان تستخدم MoveLast قبل استعمال RecordCount جعفر
-
المساعدة في تعديل كود الخروج من النموذج والحفظ
jjafferr replied to ابوآمنة's topic in قسم الأكسيس Access
والله يا اخوي صالح انا ما لعبت في الكود ، ولو تقارنه بكودك سطر بسطر بتلقاه طبق الاصل ، غير اني عدلت على امر الخروج من النموذج فقط فقط واصطياد الخطأ وهاي عدد المرات اللي انت اعطيت امر لإغلاق النموذج: . بس انا اعتقد ان كودك بدأ بشيء ، ثم انت غيرت عليه ولكن لم تحذف الكود القديم ، لذا انت محتاج الى هذه الجزئية فقط: . جعفر -
وعليكم السلام وبعد التحية والسلام على اخوي محمد سلامة وشفان تستطيع استعمال طريقتي في اي مكان كان ، وحتى في وحدة نمطية مستقله ، مثلا: public function Check_Records() dim rst as dao.recordset dim RC as integet set rst=currentdb.openrecordset("Select * From Table_Name") rst.movelast:rst.movefirst:RC=rst.recordcount if RC=>10000 then هنا تكتب ما تريد من الاوامر لوقف البرنامج endif end function . اما مثال اخوي شفان ، فيكون في النموذج فقط (هكذا بعد التعديل ، لكي تحصل على عدد السجلات الصحيح) Private Sub Form_Current() Me.RecordsetClone.movelast If Me.RecordsetClone.RecordCount >= 10 Then ' Me.Names.Enabled = False ' Me.ID.Enabled = False ' Me.PhoneNumber.Enabled = False Me.Form.AllowAdditions = False Else ' Me.Names.Enabled = true ' Me.ID.Enabled = true ' Me.PhoneNumber.Enabled = true Me.Form.AllowAdditions = True End If End Sub جعفر
-
وعليكم السلام تستطيع حساب عدد السجلات هكذا (اكتب اسم الجدول بدلا عن Table_Name) : dim rst as dao.recordset dim RC as integet set rst=currentdb.openrecordset("Select * From Table_Name") rst.movelast:rst.movefirst:RC=rst.recordcount if RC=>10000 then هنا تكتب ما تريد من الاوامر لوقف البرنامج endif جعفر
-
المساعدة في تعديل كود الخروج من النموذج والحفظ
jjafferr replied to ابوآمنة's topic in قسم الأكسيس Access
وعليكم السلام تفضل Private Sub Command9_Click() On Error GoTo err_Command9_Click If IsNull(Me.Text15) And IsNull(Me.TotalAmount) Then DoCmd.SetWarnings (False) DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 DoCmd.SetWarnings (True) DoCmd.Close acForm, Me.Name Else DoCmd.Close acForm, Me.Name End If If IsNull(Me.Text15) Then DoCmd.SetWarnings (False) DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 DoCmd.SetWarnings (True) DoCmd.Close acForm, Me.Name Else Dim Msg, style, title, result Msg = "هل تريد حفظ الفاتورة الحالية" style = vbYesNo title = " تنبيه" result = MsgBox(Msg, style, title) If result = vbYes Then [TotalAmount] = [Text17] [Descount] = [Text15] - [Text17] MsgBox "تم الحفظ سيتم الخروج", vbInformation, "تنبيه" DoCmd.Close acForm, Me.Name Else If result = vbNo Then DoCmd.SetWarnings (False) DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 DoCmd.SetWarnings (True) MsgBox "تم حذف الفاتورة الحالية", vbInformation, "مع السلامة" DoCmd.Close acForm, Me.Name End If End If End If Exit_Command9_Click: Exit Sub err_Command9_Click: If Err.Number = 2467 Then Resume Exit_Command9_Click Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر -
كيف يمكنني تفعيل هذه الاوامر ؟ shape change ...
jjafferr replied to katrooo0o's topic in قسم الأكسيس Access
السلام عليكم الظاهر انك عملت هذا البرنامج على كمبيوتر (او مجلد) ، ثم اخذته الى كمبيوتر (او مجلد) آخر اول ما يطلع لك الشريط الاصفر ، فالاكسس يخبرك بانه تم فتح هذا البرنامج من موقع/مجلد غير موثوق به (اي انك في اعدادات الاكسس لم تخبره ان البرامج التي يتم تشغيلها من هذا المجلد موثوق بها ، اي ان الاكسس يحترز انه احد البرامج الضارة قد قامت بتشغيل برنامجك هذا) ، فعليه ، يُوقف الاكسس تفعيل/عمل جميع الاكواد ، سواء الماكرو او الاحداث وحتى الازرار في البرنامج ، ويطلب منك تأكيد ان البرنامج غير ضار ، وذلك عن طريق الشريط الاصفر. فكل اللي عليك عمله هو ، النقر على الزر اللي في وسط الشريط الاصفر ، وهو لتفعيل جميع ذلك ، وحينها سترى ان البرنامج يعمل كما يجب وعلشان تسمح لبقية البرامج تعمل بدون ظهور هذا الشريط الاصفر ، فيجب تدخل في اعدادات الاكسس ، وتخبره بان هذا المجلد موثوق به جعفر -
السلام عليكم عادةً ، لا نحفظ العمليات الحسابية في حقل في الجدول ، وانما هو سطر نضعه في الاستعلام او في النموذج/التقرير ، ونحصل على النتيجة ، صحيح ان الاكسس يحتوي على حقل محسوب ، ولكن المحترفين ينصحون بعدم استعماله ، لأن به مشاكل!! بغض النظر اينما اردت ان تضع الكود (قد تحتاج الى تغيير الفاصلة الى فاصلة منقطة): في الجدول ، في الحقل المحسوب iif([amount]<[cut],[amount],[amount]-[cut]) في الاستعلام amount_fin: iif([amount]<[cut],[amount],[amount]-[cut]) في النموذج/التقرير =iif([amount]<[cut],[amount],[amount]-[cut]) جعفر
-
اهتزاز في الشاشة عند استعمال حقل مجموع الرصيد في الاستعلام
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
السلام عليكم اخي ابو زاهر اعتذر منك ، ولكن كل محاولاتي باءت بالفشل جعفر -
استدعاء اجمالي فاتورة عن طريق مربع بحث باستخدم دالة DLookup
jjafferr replied to حسين العربى's topic in قسم الأكسيس Access
السلام عليكم شكرا اخوي علاء على المشاركة أخي حسين ، اخي علاء اعطى نفس الفكرة ، ولكن بإختلاف مسميات الحقول عملت نفس الاستعلام Q_111 ، ولكن بالحقل الصحيح ، والفرق بين كود Dlookup السابق والجديد ، هو حقل رقم الفاتورة الآن عبارة عن نص. جعفر 922.1.PROGRMS_STORY.accdb.zip -
ازالة المسافات الفارغة قبل وبعد النص في الحقل
jjafferr replied to ابو انس 2018's topic in قسم الأكسيس Access
وعليكم السلام اذا كانت هذه المسافة جزء من الكلمة ، يعني عملت مسافة ثم اسم ، فالمسافة اصبحت الآن جزء من الكلمة ، لحل هذا استعمل: ([trim([Field Name ، وبدل Field Name اكتب اسم الحقل ، اما في الاكسس 2007 فما اعلى ، اذا لا يوجد مسافة في الكلمة ، وانما المسافة من مربع الحقل نفسه ، فتستطيع ان تتحكم فيه من اعدادات الحقل: . جعفر -
اهتزاز في الشاشة عند استعمال حقل مجموع الرصيد في الاستعلام
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
وبعد عناء طويل ، اتضح ان مشكلتك في الحقل ctlBack اللي وراء الحقول ، اللي تستعمله علشان تظليل السجل ، لما تحذفه كل شيء يرجع تمام!! هذا خلاني اتذكر اني عملت لك موضوع تظليل السطر باللون الازرق ، وما صادفتنا اي مشكلة: . جعفر -
تصفية البيانات بأخر تاريخ فى النموذج وليس فى الاستعلام
jjafferr replied to محمد احمد لطفى's topic in قسم الأكسيس Access
انا استعملت نفس الكود تقريبا ، ولكن في استعلام ، فشو المشكلة؟ هل النتائج عندك غير صحيحة او ايش؟ -
تصفية البيانات بأخر تاريخ فى النموذج وليس فى الاستعلام
jjafferr replied to محمد احمد لطفى's topic in قسم الأكسيس Access
-
تصفية البيانات بأخر تاريخ فى النموذج وليس فى الاستعلام
jjafferr replied to محمد احمد لطفى's topic in قسم الأكسيس Access
ما فهمت قصدك!! -
تصفية البيانات بأخر تاريخ فى النموذج وليس فى الاستعلام
jjafferr replied to محمد احمد لطفى's topic in قسم الأكسيس Access
تفضل جعفر 923.660.2.Test2006.mdb.zip -
تصفية البيانات بأخر تاريخ فى النموذج وليس فى الاستعلام
jjafferr replied to محمد احمد لطفى's topic in قسم الأكسيس Access
هل تقصد ان تريد اسم واحد لكل مدينة ، مثلا: اسكندرية 1-1-2017 الدقهلية 29-6-2017 جعفر