بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 04/03/20 in مشاركات
-
السلام عليكم ورحمة الله وبركاته أهديكم برنامج لقراءة حركات الكلمة أي قراءة تشكيل الحروف . مثلاً كلمة ( الرَّحْمَنِ ) يقرأ البرنامج حركاتها هكذا ( شدة ، فتحة ، الصفر المستدير ، فتحة ، كسرة ) ولا أخفيكم أن أحد الأخوة الزملاء المهتمين بالقرآن الكريم في منتدانا الحبيب طلب مني ذلك على الخاص فأردت أن شارككم . البرنامج قابل للتطوير إن وجد أخطاء . ولا تنسونا من دعائكم ،، Read_HarakatV20_1.zip5 points
-
جزاكم الله خيرا اخوانى واساتذتى @ابو البشر و @محمد ابوعبد الله ومنورين المنتدى بالتوفيق اخوانى3 points
-
وعليكم السلام ورحمة الله وبركاته قبل اضافة الحقول الى النموذج تحتاج الى ضبط الجداول وعمل علاقات فيما بينها بطريقة صحيحة مثال سريع ومختصر للفكرة جدول الاباء : كود الاب + اسم الاب جدول الابناء : كود الابن + اسم الابن + كود الاب ( حقل غريب ) جدول الاحفاد : كود الحفيد + اسم الحفيد + كود الابن ( حقل غريب ) بعد تصميم الجداول بهذه الطريقة نقوم بعمل علاقات فيما بينها كود الاب في جدول الاباء مع كود الاب في جدول الابناء ( علاقة رأس باطراف ) كود الابن في جدول الابناء مع كود الابن في جدول الاحفاد ( علاقة رأس باطراف ) بهذه الطريقة يمكن وضع الحقول التي احتاجها في النموذج بدون مشاكل باذن الله تحياتي3 points
-
وعلكيم السلام ورحمة الله وبركاته برجاء مراجعة المرفق الاستعلام kan3 ارجو ان يكون هو المطلوب K_1_3.rar تحياتي3 points
-
اخي الفاضل محمد انا كان ردي على كود الاستاذ جعفر Dim myWhere As String myWhere = "login='" & Me.Texte1 & "'" myWhere = myWhere & " and" '<اهم شيء هو ترك مسافة في البداية قبل and myWhere = myWhere & " passe='" & Me.Texte3 & "'" '<اهم شيء هو ترك مسافة في البداية قبل passe Debug.Print myWhere If DCount("*", "test1", myWhere) = 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If ولم اجرب التعديلات الاخيرة في رد الاستاذ جعفر لكونك وجدت ان الحل مناسب لك وهذا هو المطلوب اما بخصوص الرد الاخير للاستاذ جعفر فهوا الحل المناسب Dim u, p As String u = Replace(Me.Texte1, "'", "_") p = Replace(Me.Texte3, "'", "_") تقبل من اخيك اطيب ايات التقدير والاحترام3 points
-
الحمد لله ان الحل نفع معك علما باني قد تجاوزنة بالامر a' or 't'='t واعدت المحاولة بزيادة المسافة وايضا تم تجاوز كلمة المرور3 points
-
هذة ثغرة للاستعلامات البنيوية تمكن مستخدمها من الدخول على قواعد البيانات في حالات معينة وخطرها ليس فقط بامكانية تسجيل الدخول وانما يمكن تنفيذ اوامر sql مثل DROP TABLE وغيرها من الاوامر يتم الدخول باستخدام a' or 't'='t ' or '1'='1 ' or 1='1 هل هي مقتصرة على قواعد البيانات الحقيقة يمكن استخدامها مع تطبيقات php التي تستخدم قواعد البيانات ولكن التوسع في مثل هذه الامور اجده غير نافع في حالتك اخي جرب في كودك الاصلي ان تغيير تنسيق حقل الباس الى رقم عام ستجد ان الثغرة لن تعمل مع ذلك من الافضل ان تستخدم الكود الذي وضعه الاستاذ الفاضل @jjafferr If DCount("*", "test1", "login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'") > 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If هذا والله اعلم3 points
-
وعليكم السلام 🙂 انا ما فهمت السؤال ، ولكن وجدت خطأ في الكود 🙂 وعلشان تعرف وين الخطأ ، دائما استعين بـ Debug.print ، وفي حالتك : Debug.Print "login='" & Me.Texte1 & "'" & "and passe='" & Me.Texte3 & "'" والنتيجة login='mmm'and passe='bb' . وتلاحظ انه ما في مسافة قبل and لهذا السبب ، الكود بعد التعديل يصير : Dim rs As dao.Recordset Set rs = CurrentDb.OpenRecordset("select * from test1", dbOpenDynaset) ' If Not rs.EOF Then rs.MoveFirst Debug.Print "login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'" rs.FindFirst ("login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'") If rs.NoMatch = True Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If rs.close Set rs = Nothing . وتستطيع ان تستعمل كود اخف : If DCount("*", "test1", "login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'") > 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If . ولكن هذين الكودين يعتمدون على المعيار ، لذلك اعطيك طريقتي في عمل المعيار ، واللي يسهل عليك : . فيكون الكود في حالتك : Dim myWhere As String myWhere = "login='" & Me.Texte1 & "'" myWhere = myWhere & " and" '<اهم شيء هو ترك مسافة في البداية قبل and myWhere = myWhere & " passe='" & Me.Texte3 & "'" '<اهم شيء هو ترك مسافة في البداية قبل passe rs.FindFirst myWhere او If DCount("*", "test1", myWhere) > 0 Then جعفر3 points
-
استاذنا الفاضل @ابا جودى ليست المشكلة في استخدام Long Integer ولكن المشكلة انه استخدم Long Integer لعدد كبير جدا من الحقول مع عدم وجود داعي لذلك وهذا سؤثر سلباً على قاعدة البيانات وعلى حجمها فتنسيق Long Integer يحجز في الذاكرة 2,147,483,648 2,147,483,647 وهو سوف يسجل درجات مواد وهو بحاجة اقصى الى 6 او 7 ارقام فقط والله اعلم تحياتي2 points
-
2 points
-
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) تحياتي2 points
-
ملاحطة أخي الكريم ....... ماذا لو تساوت مدرستان في عدد الطلاب والنسبة ...... المفرض هناك اول واول مكرر مثلا وهكذا .....2 points
-
استغفر االه انت معلمنا ونحن مجرد طلاب علم وقد وعدت سابقا بان اشرح كود الوارد اولا صادر اولا وهذا جزء من ذاك الكود لذا اسمحلي ان افتح موضوع جديد لشرح كود الوارد اولا صادر اولا او اخيرا ولان جهاز الكمبيوتر لدي بطيء بعض الشيء ولكي لا بفصل النت ويضيع ما اكتب ساكتب بعدة مشاركات ان شاء الله2 points
-
يمكننا بهذه الطريقة التغلب على هذه الحركات في اسم المستخدم او كلمة السر ، بحيث نستبدل اشارة ' بـ _ ونقارن الكلمات بالجدول : Dim u, p As String u = Replace(Me.Texte1, "'", "_") p = Replace(Me.Texte3, "'", "_") والآن جربها على اي من الطرق التي اقترحتها : Dim rs As dao.Recordset Dim u, p As String u = Replace(Me.Texte1, "'", "_") p = Replace(Me.Texte3, "'", "_") ' Set rs = CurrentDb.OpenRecordset("select * from test1", dbOpenDynaset) ' If Not rs.EOF Then rs.MoveFirst ' Debug.Print "login='" & u & "'" & " and passe='" & p & "'" ' rs.FindFirst ("login='" & u & "'" & " and passe='" & p & "'") ' If rs.NoMatch = True Then ' MsgBox "????" ' Else ' DoCmd.OpenForm "test2", acNormal ' DoCmd.Close acForm, Me.Name, acSaveNo ' End If ' ' Set rs = Nothing ' If DCount("*", "test1", "login='" & u & "'" & " and passe='" & p & "'") = 0 Then ' MsgBox "????" ' Else ' DoCmd.OpenForm "test2", acNormal ' DoCmd.Close acForm, Me.Name, acSaveNo ' End If Dim myWhere As String myWhere = "login='" & u & "'" myWhere = myWhere & " and" '<اهم شيء هو ترك مسافة في البداية قبل and myWhere = myWhere & " passe='" & p & "'" '<اهم شيء هو ترك مسافة في البداية قبل passe Debug.Print myWhere ' rs.FindFirst myWhere ' ' او If DCount("*", "test1", myWhere) = 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If . جعفر2 points
-
2 points
-
شكرا جزيلا اخوي خالد 🙂 يا ريت اخوي محمد (rey360) اعطيتنا هذه التفاصيل من البداية 🙂 على العموم ، انا ارفقت لك هذا الكود في مشاركاتي السابقة ، فرجاء تجربه : Dim myWhere As String myWhere = "login='" & Me.Texte1 & "'" myWhere = myWhere & " and" '<اهم شيء هو ترك مسافة في البداية قبل and myWhere = myWhere & " passe='" & Me.Texte3 & "'" '<اهم شيء هو ترك مسافة في البداية قبل passe Debug.Print myWhere If DCount("*", "test1", myWhere) = 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If جعفر2 points
-
منور اخى محمد @حلبي وعافانا الله واياكم وجميع المسلمين ان شاء الله برحمته جزاهم الله خيرا اخوانى واساتذتى2 points
-
انشاء الاستعلام وقت الحاجة بالكود وحذفه بعد الانتهاء من عمله بالكود كذلك قطعا افضل ولكن التعديل بتلك الطريقه لن يكون يسيرا على الجميع ان امكن ذلك فبها ونعم2 points
-
السلام عليكم احببت ان اخدمك واستخدمت طريقة التكلفة في اعمار الذمم وكانت النتيجة 24000سجل في اقل من ثواني معدودة طلعت النتيجة https://drive.google.com/file/d/1HWuQXyYFpT2KXRGS2dYlYhFRIbFUm53Z/view?usp=sharing السلام عليكم احببت ان اخدمك واستخدمت طريقة التكلفة في اعمار الذمم وكانت النتيجة 24000سجل في اقل من ثواني معدودة طلعت النتيجة https://drive.google.com/file/d/1HWuQXyYFpT2KXRGS2dYlYhFRIbFUm53Z/view?usp=sharing2 points
-
شكرا جزيلا 🙂 انا ارد على السؤال اثناء تناول الغداء ، فمعذور فالمعادلة الصحيحة تكون : If DCount("*", "test1", "login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'") = 0 Then جعفر2 points
-
الكثير من العادلات تقوم بهذا الشيء بالاضافة الى ما ذكره الأخ الرائد 77 هذا المعادلة (Ctrl+Shift+Enter) =SUM(IF(LEN(F6:F16)<>0,1,0)) واذا لم تعمل معك استبدل الفاصلة بفاصلة منقوطة لتبدو هكذا =SUM(IF(LEN(F6:F16)<>0;1;0))2 points
-
أستاذ جعفر أعتقد هذا السطر يساوي 0 و ليس أكبر من 02 points
-
تفضل =COUNTA(F6:F16)-COUNTIF(F6:F16;"") و اذا اردت الخلايا التي تحتوي على قيم نصية فقط =COUNTIF(F6:F16;"?*") ورقة عمل Microsoft Excel جديد __.xlsx2 points
-
السلام عليكم مشاركة مع استاذنا ابا جودى اتفضل اخي اتمنى يكون المطلوب تحياتي الحاق مشروط.rar2 points
-
2 points
-
تفضل Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 2113 Then Response = acDataErrContinue me.undo msgbox "ادخل البطاقة مرة اخرى" me.ID.setfocus End If End Sub . ولكني لازلت اقول بأنه ممكن فيه طريقة افضل من هذه ، تلك التي يتسلسل فيها دخول البيانات من البطاقة !! لأنك بهذه الطريقة تضطر تصيد الاخطاء واحدة خلف الاخرى وووو ، بينما مثلا : لما تُدخل البطاقة في الجهاز ، يجب ان يكون التركيز على حقل رقم البطاقة ، وآخر حقل يتم ادخاله هو تاريخ الانتهاء ، ومنها ينتقل التركيز للحقل التالي ، هنا ، وعلى حدث "بعد التحديث" للحقل تاريخ الانتهاء ، يمكنك ان تظهر رسالة: هل تريد حفظ البيانات ، نعم ، لا : Dim Msg, Style, Title, Response Msg = "هل تريد حفظ البيانات ?" & vbcrlf & _ "نعم: احفظ البيانات" & vbcrlf & _ "لا : لا تحفظ البيانات" Style = vbYesNo + vbCritical + vbDefaultButton1 ' Define buttons. Title = "تم ادخال البيانات، ولكنها لم تُحفظ بعد" ' Define title. ' context. ' Display message. Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ' User chose Yes. docmd.runcommand accmdsaverecord ' احفظ السجل me.id.setfocus 'وانتقل الى حقل ID مرة اخرى استعدادا لإدخال بيانات بطاقة جديدة Else ' User chose No. me.undo ' Perform some action. me.id.setfocus 'وانتقل الى حقل ID مرة اخرى استعدادا لإدخال بيانات بطاقة جديدة End If . الميزة في ظهور الرسالة هو ، انه لا يسمح لك عمل اي شيء آخر في السجل ، إلا بعد ان تستجيب للرسالة ، مما يسهل عليك ولا تحتاج الى بقية الكود ولا ولا 🙂 Private Sub Form_Error(DataErr As Integer, Response As Integer) Dim x As Integer x = DataErr If x > 0 Then ' Response = acDataErrContinue 'ÞÏ áÇ ÊÍÊÇÌ Çáì åÐÇ ÇáÓØÑ Me.Undo End If End Sub هو بمثابة هذا الكود لأن تقريبا جميع الاخطاء ارقامها موجبه Private Sub Form_Error(DataErr As Integer, Response As Integer) Response = acDataErrContinue Me.Undo End Sub جعفر2 points
-
1 point
-
1 point
-
1 point
-
1 point
-
للاسف لم تظبط معى ان شاء الله احد اخواننا واساتذتنا يساعدنا تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق1 point
-
وعليكم السلام ورحمة الله وبركاته بهذا الشكل !!! ماذا الفائدة التي تريدها اقصد انك في التعليمات البرمجيو لا بد ان تحدد ما تريده بالضبط مثال للتوضيح if Me.ID.Value=4 then لون الحقل بلون احمر else اتركه كما هو end if برجاء توضيح المطلوب اكثر مع مثال للتوضيح اكثر تحياتي1 point
-
1 point
-
قم باغلاق تشغيل الفيديو من اعدادت الفيس وتشغله لما تحب تشوفه وكفايه تحميل الصور عليه وربنا يعينك على شغل الباقات ده1 point
-
وعليكم السلام اخى محمد راجع الرابط التالى لعلك تجد بها ما تريد ان شاء الله وان لم يكن فوضح لنا بارك الله فيك بالتوفيق ان شاء الله1 point
-
1 point
-
العفو منك اخى واستاذى اعلم ان النتائج غير صحيحه واراجع حاليا المرفقات مره اخرى وابحث عن شىء للمساعده سوف اقضى مشوار قبل فرض الحظر وارجع للمتابعه ان شاء الله1 point
-
بعتذر عن التاخير اليك محاولتى للناتج السابق انظر استعلام 1 Qs For Weight.mdb1 point
-
1 point
-
فيما يخص الدالة dlookup استطعت بفضل الله أن أجد لها حل ولازلت أبحث حل بالنسبة ل recordset On Error GoTo errouu If Me.Texte3 = DLookup("passe", "test1", "login='" & Me.Texte1 & "'") Then DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo Else MsgBox "????" End If errouu : حتى المعادلة الخاصة بأستاذ jjafferr لا يمكن اخترقها بهذه الطريقة If DCount("*", "test1", "login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'") = 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If1 point
-
1 point
-
الحلقة السابعة: التعامل مع الأحداث في صفحة ويب بعد إنقطاع طويل نعود لإكمال هذه السلسلة من الدروس بإذن الله. سوف نتطرق في هذا الدرس لأهم الأحداث التي نحتاجها مع أداة WebBrowser كما هو معلوم أنه عندما ندخل على خصائص أحد الكائنات بالتحديد على تبويب الأحداث تظهر لنا جميع أحداث هذا الكائن. لكن بالنسبة لأداة ويب براوز ليست كل الأحداث موجود في الخصائص. كما أنه توجد العديد من الأحداث لم تعمل معي هذا حسب تجربتي الخاصة. 1- حدث عند إنتهاء تحميل الصفحة: نقوم بإضافة هذا الحدث في محرر الفجوال بسيك مع تغيير اسم أداة التصفح عندك. ونضيف له الكود الذي نريد تنفيذه مع هذا الحدث. Private Sub WebBrowser3_DocumentComplete(ByVal pDisp As Object, URL As Variant) MsgBox "complete" End Sub نضغط على زر تصفح في النموذج عند الإنتهاء من تحميل الصفحة تظهر لنا رسالة complete 2- حدث قبل التصفح: الكود في الحدث التالي يقوم بعرض رابط الصفحة التي سوف ننتقل إليها. Private Sub WebBrowser3_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean) MsgBox URL End Sub 3- حدث فتح نافذة تصفح جديدة: يظهر هذا الحدث عند فتح صفحة ويب في نافذة جديدة. و الخاصية المسؤولة عن فتح نافذة جديدة هي target عندما تكون تساوي _blank معناه فتح الرابط في نافذة جديدة و عندما تساوي هذه الخاصية _self معناه افتح الرابط في نفس الصفحة و هناك قيم آخرى لهذه الخاصية. سوف نطبق هذا الحدث على صفحة أوفيسنا نضغط على زر فتح أوفيسنا و بعد ظهور الصفحة نضغط على زر البحث search تظهر لنا رسالة "نافذة جديدة". Private Sub WebBrowser3_NewWindow2(ppDisp As Object, Cancel As Boolean) MsgBox "نافذة جديدة" End Sub webbroser.accdb1 point
-
1 point
-
الشكر لله ثم لاخواننا واساتذتنا جزاهم الله خيرا بالتوفيق اخى حسين ونادينى باخى فلست سوى طالب علم مبتدىء بارك الله فيك اخى1 point
-
1 point
-
تفضل مشاركة الملفات على الشبكة و إعطاء الاذونات للمستخدمين1 point
-
السلام عليكم هذا خطأ برمجي فادح - من وجهة نظري القاصرة- لا يمكن أن يتاح خاصة فى البرمجيات المحاسبية صلاحية لحذف السجلات - وقد تعلمنا من ضمن المبادىء المحاسبية أن الكشط فى دفاتر اليومية جريمة. فان الخطأ المحاسبي لا يعالج بالكشط وإنما بما يسمى قيد تصحيح (وهو عبارة عن قيد عكسى للقيد الخطأ) وعموما هناك حيلة يمكن التعرف من خلالها على عملية الحذف إن كانت تمت بفعل فاعل أم مشكلة بالشبكة عند ارسال البيانات يمكن ان يتم وضع حقل بجدول البيانات التى يتم الحذف منها بالعادة اسمه محذوف ونوعه نعم/لا فعند حذف سجل يأخذ القيمة نعم - فيكون الحذف من الخارج أما السجل سيكون موجود بالفعل ويمكن استعادته من خلال جعل القيمة بالحقل المشار اليه الى لا فإن كان الخطأ بالشبكة وان البيانات تفقد بسبب ضعف الاتصال مثلا لن يتم ارسال البيانات أصلا - أما ان كان يتم الحذف من قبل المستخدم فستكون البيانات موجودة ويمكن استعادتها أيضا. أما أن كانت المشكلة ضعف الاتصال أو فقده أحيانا : لإأقترح أن يكون هناك جدول مؤقت بقاعدة بيانات الواجهة للبيانات التى يتم ارسالها بشكل يومى ويتم ارسالها مرة واحدة بنهاية اليوم مثلا لقاعدة بيانات الجداول.1 point
-
السلام عليكم أخي الحبيب محمد الريفى فعلا الحل بواسطة ال solverجميل ولكنه كما أشار الأخ السائل ينتج حلا واحدا وهو يريد الإحتمالات المتعددة الممكنة ========================== أخي / مدحت تفضل المرفق به جزء كبير من الحل مازال الكود يحتاج مراجعة وتدقيق لأن النتائج ليست دقيقة وليست كل الإحتمالات ولن أكون جاهز لمشاركة أخري قبل عدة أيام سأرفع الملف لمن أراد أن يتم العمل وسأكون له شاكرا تفضل المرفق Invoice2.rar1 point
-
السلام عليكم إضافة لحل أخونا / محمد أعتقد أن الحل يعتمدعلي أن ترتب أولا الفواتير تصاعديا حسب قيمها بعد أن تضع عمود إضافي لضمان استرجاع الوضع الأول تبدأ البحث من الفواتير التي تقترب قيمتها من المبلغ المطلوب وتعمل علي توافيق القيم الأخري عليها من الأصغر وهكذا بالمرفق حل يدوي أتي بحوالي 43 إحتمال ومازال هناك احتمالات أخري كثيرة لهذا الرقم 292 لابد من كود ولكنه يحتاج تركيز وليس عندي حاليا Invoice2.rar1 point
-
السلام عليكم ... مرفق ملف يتضمن ورقة بحث للأخ : أحمد حسين بتال عن كيفية حل نماذج البرمجة الخطية بواسطة الوظيفة الإضافية Solver . (y) أرجو أن تنال إعجابكم. solver_ad.rar1 point