بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 04/24/20 in مشاركات
-
نعم ، انشئ استعلام خاص "بمعلومات المشرف" فقط ، ثم انشئ استعلام مجاميع لجدول "الزيارات" ، تجمع فيه الحقول m,q, ..... ثم اعمل استعلام ثالث ، تجمع فيه الاستعلامين اعلاه ، وهو يكون مصدر بيانات التقرير "معلومات المشرف" جعفر3 points
-
السلام عليكم في نقاش مع الأستاذ @رمهان في أحد المواضيع اقترح عليا فتح موضوع حول إغلاق البرامج المتصلة بالشبكة من أجل النقاش و إثراء الموضوع. و لقد قمت بهذا الصدد بتصميم مثال يجعل مدير الشبكة يتحكم في إغلاق جميع البرامج (الأجهزة) المتصلة عبر الشبكة. شرح فكرة البرنامج: قمت بإضافة جدول لقاعدة البيانات اسمه tbl1 و وضعت به حقل اسمه code_edit نوعه رقمي تعتمد الفكرة على إعطاء هذا الحقل قيمتين 0 أو 1 في نسخة المستخدم هناك نموذج الواجهة frm يتحسس لقيمة الحقل code_edit إذا وجدها 1 يفتح نموذج آخر يبدأ بالعد التنازلي من 10 لإغلاق القاعدة و عند فتح القاعدة مرة ثانية يظهر نموذج العد التنازلي مرة أخرى لأن قيمة الحقل 1 يتم تغيير قيمة الحقل من خلال زري أمر في نسخة المدير (إغلاق الأجهزة المتصلة و منع الإتصال ، السماح بالإتصال) في المرفق ثلاثة ملفات نسخة المدير و نسخة مستخدم و db بعد تحميل المرفق قم بتحديث إرتباط نسخة المدير و نسخة مستخدم مع القاعدة db افتح الملفين نسخة المدير و نسخة مستخدم و اضغط على زر إغلاق الأجهزة المتصلة و منع الإتصال في نسخة المدير سوف تلاحظ ظهور نموذج العد التنازلي في نسخة المستخدم و إن كانت لك شبكة داخلية تستطيع نقل نسخة المستخدم لجهاز آخر و تحديث الإرتباط و تجربة البرنامج. eloued.rar2 points
-
2 points
-
2 points
-
2 points
-
شکرا لک في الحقيقة انا ما نظرت النتيجة هكذا تخياتي2 points
-
2 points
-
السلام عليكم ايضا اذا اردنا التخيير بين فتح النموذج لعرض البيانات والتعديل عليها وبين فتحه لإدخال البيانات Private Sub Form_Open(Cancel As Integer) If MsgBox("Yes = لإدخال بيانات جديدة" & vbCrLf & _ "NO = لعرض البيانات والتعديل", _ vbQuestion + vbYesNo, _ "عرض وإدخال") = vbYes Then Me.DataEntry = True Else Me.DataEntry = False End If End Sub2 points
-
2 points
-
2 points
-
كنت أعاني من هذا المشكل وتمحله بهذا الشكل #If win64 Then declare PtrSafe Sub Sleep Lib "kernel32" (byval dwmilliseconds as Long ) #Else Declare Sub sleep Lib "kernel32" (ByVal dwmilliseconds As Long) #End If2 points
-
الف مبروك و الي الأمام دائما باذن الله2 points
-
بارك الله بك اخي رائد اليك كود اخر بنفس الموضوع لكنه يفوم بترتيب النتيجة ابجدياً (مع حق اختيار القيم الفريدة) Option Explicit Sub My_code() Dim list As Object Dim Rng As Range, rcell As Range Dim D As Worksheet, Lr_A% Dim Answer As Byte Set D = Sheets("Duplicates") Lr_A = D.Cells(Rows.Count, 1).End(3).Row Set list = CreateObject("System.Collections.ArrayList") Set Rng = D.Range("A2:A" & Lr_A) D.Range("D1").CurrentRegion.Clear Answer = MsgBox("Do you want all data Or Only the Unique values", 4) For Each rcell In Rng.Cells '++++++++++++++++++++++++++++++++++++++++++++++++++ If Answer <> 6 Then list.Add (rcell.Text) '* Else If Not list.Contains(rcell.Text) Then list.Add (rcell.Text) '** End If '+++++++++++++++++++++++++++++++++++++++ Next rcell list.Sort MsgBox Join(list.ToArray, vbCrLf) D.Range("D1").Resize(list.Count) = _ Application.Transpose(list.ToArray()) Set list = Nothing End Sub الملف مرفق Sortig_Data.xlsm2 points
-
بارك الله فيكم أساتذتي الكرام. أنا تلميذ هذا الصرح العظيم و الرائع. كل عام و أنتم بخير و بارك الله فيكم . و جعل كل ما تقدمونه في ميزان حسناتكم. ووفقكم لما يحبه و يرضاه. بارك الله فيك أستاذنا علي . و جزاك الله خيرا2 points
-
السلام عليكم . تقبل الله منا و منكم الصلاة و الصيام و القيام إن شاء الله لقد قمت بإضافة تحديث للبرنامج يمكن الزبون من تأجيل عملية إغلاق البرنامج لأجل حفظ العمل المتواجد بين يده. أضفت زر أمر في نموذج العد التنازلي عند الضغط عليه يغير العد من 60 و يغير حجم النموذج و ينقله للركن العلوي في الجهة اليسرى من الشاشة close pro.rar2 points
-
1 point
-
( jjafferr )السلام عليكم استاذ جزاك الله خير الجزاء والشكر موصول لكل الاخوة الذين حاولو مساعدتي مع احترامي وتقديري للجميع1 point
-
1. طيب وشو النتيجة ، انت ارفقت ارقام ، ولازم تشرحها ، شو الصح وليش ؟ 2. هاي مو مقبولة (نعم مقبولة لهذا الموضوع) 🙂 3. ما منه فائدة بملاحظتك رقم 2 !! 4. حياك الله أبوآمنة 🙂 جعفر1 point
-
كل عام وانت بخير أخي أحمد @أحمد الفلاحجى بارك الله فيك ....1 point
-
جزاك الله خيرا اخى محمد @Barna وزياده الخير خيرين وكل عام وانتم بخير ارفق موضوع لام عهود جزاها الله خيرا http://arabteam2000-forum.com/index.php?/topic/277583-نسخ-جداول-في-القاعدة-بعلاقاتها-الى-الاستاذة-أم-عهود/#comment-1356700 بالتوفيق اخوانى1 point
-
أخي لو ارفقت مثال للمطلوب كان اسرع في حصولك للاجابة ... على العموم انت صدرت الجداول وتحتاج تصدير للعلاقات جرب الكود التالي لتصدير العلاقات أو ارفق مثال للتجربة .... Function ExportRelations(DbName As String) As Integer Dim ThisDb As DAO.Database, ThatDB As DAO.Database Dim ThisRel As DAO.Relation, ThatRel As DAO.Relation Dim ThisField As DAO.Field, ThatField As DAO.Field Dim Cr As String, i As Integer, cnt As Integer, RCount As Integer Dim j As Integer Dim ErrBadField As Integer Cr$ = Chr$(13) RCount = 0 Set ThisDb = DBEngine.Workspaces(0).OpenDatabase("C:\mydat.mdb") Set ThatDB = DBEngine.Workspaces(0).OpenDatabase(DbName$) For i = 0 To ThatDB.Relations.Count - 1 Set ThatRel = ThatDB.Relations(i) Set ThisRel = ThisDb.CreateRelation(ThatRel.Name, _ ThatRel.Table, ThatRel.ForeignTable, ThatRel.Attributes) ErrBadField = False For j = 0 To ThatRel.Fields.Count - 1 Set ThatField = ThatRel.Fields(j) Set ThisField = ThisRel.CreateField(ThatField.Name) ThisField.ForeignName = ThatField.ForeignName On Error Resume Next ThisRel.Fields.Append ThisField If Err <> False Then ErrBadField = True On Error GoTo 0 Next j If ErrBadField = True Then Else On Error Resume Next ThisDb.Relations.Append ThisRel If Err <> False Then Else RCount = RCount + 1 End If On Error GoTo 0 End If Next i ThisDb.Close ThatDB.Close ExportRelations = RCount End Function وتستدعيها بالكود التالي ... Call ExportRelations("C:\ExpAndImp.mdb") C:\ExpAndImp.mdb هي مسار القاعدة المصدر منها العلاقات .... جرب وأعلمنا بالنتيجة !!!!!!1 point
-
اهى اخى واستاذى محمد @Barna جزاك الله خيرا ورمضان مبارك وكل عام وانتم بخير شوف المشرف عماد رقمه 361 point
-
التكرار اللى بيحدث ده من البيانات الاحصائيه للمشرف اللى بتتكرر مع جميع السجلات قم بازالتهم من الاستعلامات ثم انشىء لهم استعلام خاص بهم واجعل مصدر تقدير الخلاصه بالاستعلام الجديد وصفى بيانات بناء ع رقم المشرف عند الاستدعاء جرب ووافنا بالنتيجه1 point
-
السلام عليكم عملنا نموذج لا يفتح اذا كان فارغ من البيانات طبحيث وضعنا وسيط مخفي يعد السجلات فاذا كان العدد صفر تخرج رسالة او نموذج يخبر انه لا يمكنك فتح النموذج كونه لا يوجد يه بيانات طيب الان لو بدنا نستفيد من هذا الامر في برامجنا طبعا لا يعقل ان اطلب من مستخدم البرنامج ان يضيف بيانات من خلال الجدول هل هناك طريقة ان يتم تخيير المستخدم اذا كنت ترغب باضافة بيانات وكان الجواب نعم يتم فتح النموذج رغما انه عدد السجلات صفر مرفق قاعدة البيانات واتمنى ان يكون الشرح واضح لا يوجد بيانات.accdb1 point
-
قمت بتحميله وسوف اقوم بالنظر فيه وان شاء الله احد الاخوه واساتذتنا يساعد ايضا وان شاء الله ربنا ييسر الامور بالتوفيق اخى1 point
-
1 point
-
اخواني الكرام Shivan Rekany kha9009lid بارك الله لكما كفيتم ووفيتم بالمطلوب وتم تعديل المثال ووضعه بعد التعديل بعد اذن اساتذتي الكبار لكي يستفيد منه كل باحث شكرا لكل من ساعدني في ميزان حسناتكم hatem (1).accdb1 point
-
1 point
-
حيا الله الجميع وكل عام وأنتم بخير ممكن ادخل شرط اخر وبالعامل and الاجابه بنعم في الرساله مع عدد السجلات هذا ان احسنت الفهم تحياتي1 point
-
بالعكس ، الفكرة جدا جميلة ، وتُظهر براعة المبرمج وفهمه في تسهيل امور المستخدم 🙂 انا شفت مجموعة من البرامج ، لما يفتح البرنامج ، نرى نموذج فارغ (شاشة بيضاء) ، ولا يوجد اي شيء ممكن ان يعمله المستخدم سوى الخروج من النموذج !! بينما الفكرة هنا ، ان نغير اعدادات النموذج : لجعل النموذج يقبل ادخال البيانات me.DataEntry = True me.allowedits = true me.allowadditions = true . هكذا فيتحول النموذج الى نموذج ادخال بيانات 🙂 جعفر1 point
-
وعلشان يستفيد الجميع 🙂 1. بدأنا في الاستعلام ، فما ممكن ان نكتب اسم الحقل ، ثم نشير الى نفس الحقل في المعادلة (لأنه سيشكل حلقه LOOP في الحصول على النتيجة) : 2. في التقرير ، عينا ولنفس السبب ، فما ممكن ان نكتب اسم الحقل ، ثم نشير الى نفس الحقل في المعادلة (لأنه سيشكل حلقه LOOP في الحصول على النتيجة) : طبعا بإمكاننا ان نعطي الحقل اي اسم ، مثل ZZ ، ولكن حذاري ، فدائما استخدم اسم يعطي معنى للحقل/المتغير ، علشان بعد سنة لما تريد تعدل على الكود ، الاسماء تكون واضحة ولها معنى 🙂 جعفر1 point
-
السلام عليكم استاذ عبد اللطيف سلوم استفسار : فكرة الكود هو انك تسلب اختيار المستخدم اذا لم يوجد سجلات ثم تريد ان تعيد له حرية الاختيار في نفس الكود اعتقد ان الفكرة غير منطقية1 point
-
السلام عليكم 🙂 لو تتبعت التاريخ لما يدخل في دالتي ، لوجدت انه غير الذي تم ارساله ، ولم استطع معرفة السبب !! لهذا السبب ، استعمل نفس دالة التجربة التي استعملتها انت ، ولكن ارسل التواريخ الى دالتي اولا ثم الى دالتك ، وسترى ان النتيجة صحيحة ، يعني : بدلا عن ارسال التواريخ الى دالتك اولا Debug.Print YMD_Diff(Date1, Date2) , YMDDif(Date1, Date2) ارسل التواريخ الى دالتي اولا Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) . جرب Sub Test2() Dim Date1 As Date Dim Date2 As Date Dim yy As Integer, mm As Byte, dd As Byte Debug.Print "YMDDif" ,"YMD_Diff" Date1 = DateSerial(1970, 2, 28) Date2 = DateSerial(1970, 3, 1) Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) Date1 = DateSerial(1970, 1, 31) Date2 = DateSerial(1970, 2, 27) Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) 'Debug.Print "--------------------" 'Debug.Print YMD_Diff(Date1, Date2, yy, mm, dd) 'Debug.Print yy, mm, dd 'Debug.Print "--------------------" 'Debug.Print YMD_Diff(Date1, Date2, yy, mm, dd, True) 'Debug.Print yy, mm, dd 'Debug.Print "--------------------" End Sub . لهذا السبب ، لما ارسلت التواريخ مباشرة الى الدالة ، كانت النتائج صحيحة : . ------------------------------------------------------------------------------------------------ ولكن هذا الكلام كله صار بسبب قولك : وفي الواقع تم اثبات ان الاكسس لا يعطي نتائج خطأ بين التاريخين ، وإنما الخطأ كان في دالتك اللي في اول مشاركة لك . وللعلم ، فتجاربك في مشاركتك الاخيرة ، ليست على دالتك الاصل (والتي اثارت كل هذا النقاش) ، وانما على دالتك التي قمت بتعديلها 🙂 ومثل ما قلت سابقا ، طريقة عمل دالتك جميلة 🙂 جعفر1 point
-
الاخوة الاعزاء ... الاستاذ جعفر ... فهمت موضوع التسمية 😍 كل كلمات الثناء لاتفي للتعبير عن مساعدتك لي ، حتى وصلت ان لاحل لهما لاني بحثت كثيرا ولم اجد اجابة حتى ان هناك منتديات يبقى اعضاءهم المتسائلين يسالون دون اجابة خصوصا السؤال الاول. ... حاولت التاشير على افضل اجابتين لان السؤال كان فيه اجابتان ، والافضل لجواب واحد فاشرت على احدهما... الحمد لله على صحبتكم ومعرفتكم وشكرا لمؤسسي هذا الموقع الرائع .... شكرا للاخ احمد الفلاحجي المتابع لتساؤلاتي ومساعدتي في ايجاد الحلول دائما . اتمنى ان لا اكون ثقيلا عليكم ، فالافكار كثيرة والاستعانه بكم هو الحل دائما . جزاكم الله خيرا ... اخوكم الحاج ابو داود ...1 point
-
السلام عليكم و رحمة الله و بركاته في المرفق قاعدة بيانات تحتوي على ثلاثة نماذج احدهم يتحكم بفتح و إغلاق النموذجان المتبقيان .. قد تفيد هذه العملية في الشبكات , لمراقبة فتح و اغلاق نموذج معين و الاطلاع عليه عن بعد ان كان مفتوحآ أم مغلقآ و بالامكان التحكم بزيادة عدد النماذج المراقبة على قدر ما تحتاج .. راجيآ الدعاء النماذج المفتوحة حاليآ.accdb1 point
-
الف مبروك وبالتوفيق للاخ عبدالفتاح في بي اكسيل والاخ الرائد 77 وكل عام وانتم بخير ورمضان كريم1 point
-
بارك الله فيكم جميعا كلها حلول ممتازة كل عام وأنتم بخير1 point
-
الناتج صحيح اخي احمد بارك الله فيك ويذيدك من علمه شكراً1 point
-
كلمات الشكر قليلة جداً مع انسان رائع مثلك1 point
-
تفضل اخي العزيز ارجو ان يكون طلبك في النموذج الثاني فيه طلبك الثاني Root100.rar1 point
-
1 point
-
من المعروف ان Null قيمته اقل من الارقام ، لذا يجب ان نحتال على الاكسس ، حتى نظهر الارقام (بالتسلسل التصاعدي) فوق الخانات الفارغة Null ، فاللي عملته للحقلين ، هو تغيير اسم الحقلين (بإضافة الرقم 2 عليهم) ، ثم عمل معادلة ، بحيث نطلب من اكسس ان يستبدل الخانة الفارغة بالحرف A : . والنتيجة تصبح مثل ما نريد : . والان في التقرير ، نطلب من الحقل ان يغير القيمة A الى فراغ (حتى نخفي A ) (رجاء ملاحظة تغيير اسماء الحقول مرة اخرى) ، مع استعمال الحقلين للفرز (انظر اسفل التقرير) : . والنتيجة : . جعفر 1212.TEST_QUERY.accdb.zip1 point
-
تنقيح للمشاركة الأخرة ، كوني لم أستطع التعديل عليها: Public Function YMD_Diff(inDate1 As Date, inDate2 As Date, _ Optional outY, Optional outM, Optional outD, _ Optional AddOneDay As Boolean = False) As String Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer Dim dInterim1 As Date 'تصرف من Hawiii ------------------------------------- Dim bkDate1 As Date, bkDate2 As Date bkDate1 = inDate1: bkDate2 = inDate2 If inDate2 < inDate1 Then inDate1 = inDate2: inDate2 = bkDate1 End If Do While Month(inDate1) = 2 Or Month(inDate2) = 2 Or Month(inDate1 - 1) = 2 inDate1 = DateAdd("m", 1, inDate1) inDate2 = DateAdd("m", 1, inDate2) Loop 'AddOneDay عند الرغبة في إضافة يوم في العمر أو المدة inDate1 = inDate1 + AddOneDay 'inDate1 - Abs(AddOneDay) 'تصرف من Hawiii ------------------------------------- iMonth = DateDiff("m", inDate1, inDate2) If Day(inDate1) > Day(inDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, inDate1) outD = DateDiff("d", dInterim1, inDate2) outM = iMonth Mod 12 outY = iMonth \ 12 'تصرف من Hawiii ------------------------------------- If outY + outM = 0 Then outD = Abs(bkDate2 - bkDate1) + Abs(AddOneDay) 'تصرف من Hawiii ------------------------------------- YMD_Diff = outY & "y/" & outM & "m/" & outD & "d" End Function1 point
-
حياك الله 🙂 معلش ، خذني على قدر عقلي ، فأنا فهمي ضعيف 🙂 واكتب لي مثال في الاكسل لوسمحت وارفقه هنا 🙂 شو الموجود حاليا ، وشو اللي لازم يصير 🙂 جعفر1 point
-
السلام عليكم 🙂 الدالة موجودة في اكثر من موضوع ، منها : . وانا قلت: . . . لا تعليق لدي على دالة اخي Hawiii ونتائجها . ولكن هناك خطأ في حساب اخوي ابو تراب ، فالمواقع التالية اعطتنا هذه النتائج: . و . و . عندما ادخلت هذه التواريخ على دالتي الاصلية ، حصلت على نفس النتيجة : . هذا الكلام جدا خطير ، وغير مقبول على الاطلاق !! حيث ان معظم مؤسسات وشركات العالم قائمة في حساباتها على البرامج ، ولا يمكن ان يكون هناك خطأ حتى بمقدار ساعة واحدة ، وإلا فحقوق الناس ستذهب هباءً !! المؤسسات وشركات العالم تدفع الملايين على برامجها حتى لا تقع في مثل هذا الخطأ ، ونحن نرفع هذا الكود ، مثله مثل بقية الاكواد والبرامج التجريبية ، و نوادر وتجارب سنين ، بالمجان 🙂 شكرا للأخ الاستاذ @محمد طاهر ان وفر لنا هذا المنتدى ، و بالمجان ، لنساعد اخواننا في طلب العلم ، ونحصل على الثواب الجزيل 🙂 جعفر1 point
-
اخي يجب ان تطابق ما بين اليوزرفورم والشيت بخصوص العناصر التي يتم ترحيلها وجدت صعوبة في المطابقة الكلمات ليس نفسها كما يوجد خلايا مدمجة بالنسبة لي لااعلم طريقة الترحيل للخلايا المدمجة عليك بالغاء الدمج ان اردت المساعدة هذا ما استطعت القيام به user.xlsm1 point
-
طيب بالنسبة لأولا : اعمل لكل تاريخ Combobox في التقرير ، بحيث يكون بنفس طريقة الـ Combobox اللي في النموذج (وممكن تعمل نسخة منه من النموذج وتلصقه في التقرير) 🙂 جعفر1 point
-
1 point
-
يمكن هذا الكود يحل المشكلة الكود Option Explicit Sub edit_formula() Application.EnableEvents = False Dim my_rg As Range Dim cel As Range Dim t Dim r% t = Range("a1").Formula Dim lr%: lr = Cells(Rows.Count, 1).End(3).Row On Error Resume Next Set my_rg = Range("a1:a" & lr).SpecialCells(xlCellTypeBlanks) If Err.Number <> 0 Then GoTo 1 On Error GoTo 0 For Each cel In my_rg r = cel.Offset(-1, 0).Row t = Replace(t, "A1", "A" & r + 1) cel.Formula = t t = Range("a1").Formula Next 1: Application.EnableEvents = True End Sub '===================================== Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Row > 1 Then edit_formula End If End Sub الملف مرفق Auto num.xlsm1 point