بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 21 فبر, 2025 in all areas
-
ومشاركة مع الأستاذ @عبد اللطيف سلوم ، هذه فكرتي ، الدالة التالية Function ToggleAMPM(timeValue As Date) As Date If Format(timeValue, "AM/PM") = "AM" Then ToggleAMPM = DateAdd("h", 12, timeValue) Else ToggleAMPM = DateAdd("h", -12, timeValue) End If End Function time.accdb2 points
-
2 points
-
مرحبا بكم : في موسسة رسمية يحتوي على الصادرة و الواردة بالاظافة الى 10 اقسام المطلوب هو : مراقبة الكتاب الوارد الى اي جهة (قسم) وصلت داخل الموسسة بواسطة FrontEnd متصل بالقاعدة الرئيسية . وكيف يتم الرد من كل قسم اذا ما وصلت الكتاب الى ذلك القسم (حيث يمكن توجية الكتاب الى القسم من الواردة ومن ثم يتم الرد اما الى الصادرة او الى قسم ثاني (يعني من قسم الى قسم اخر )وهذا القسم الاخر يرد الى القسم الذي جاء منه ومن ثم الرد الى الصادرة وهكذا , بمعنى(الرد الى الصادرة او فيما بين الاقسام ذهاب و اياب ومن ثم الى الصادرة ) انا كونت ربط جداول بهذه الطريقة كما في الصورة المرفقة حيث يتم فيها توجيه الكتاب الى كل قسم , من ثم يتم الرد من القسمين الاول و الثاني فقط(Deep1_Tbl , Deep2_Tbl) , هل استمر ام للاعضاء فكرة ثانية وتحياتي لكم جميعا1 point
-
هذا البرنامج وصلني بالأمس من احد الاصدقاء من دولة العراق الشقيق وهو مفتوح المصدر ومقدم هدية الرقم السري للدخول الى الاكواد 12345 معلومات المبرمج موجوده على الشاشة الرئيسية حفاظا على حقوقه في التصميم اتمنى لكم الفائدة حجم البرنامج كبير لم اتمكن من رفعه حتى وهو مضغوط سأرفعه على جوجل درايف https://drive.google.com/file/d/1gUC2Q6jMxPsoHXzcCAPq0hPXLKhsGvjo/view?usp=sharing1 point
-
1 point
-
مشاركة مع اساتذة الكرام =Format(IIf([timeer] Like "*AM",DateAdd("h",12,[timeer]),[timeer]),"dd/mm/yyyy h:nn AM/PM")1 point
-
تفضل اخي الكود شغال تمام المديول Sub ChangeAMtoPM() Dim db As DAO.Database Dim rs As DAO.Recordset Dim strSQL As String Dim newTime As Date ' Set the database and recordset Set db = CurrentDb strSQL = "SELECT TIMEER FROM TIMERR WHERE TIMEER IS NOT NULL" Set rs = db.OpenRecordset(strSQL, dbOpenDynaset) ' Loop through the records Do While Not rs.EOF ' Check if the time is in the AM If Format(rs!timeer, "hh:mm:ss AM/PM") Like "*AM*" Then ' Add 12 hours to change AM to PM newTime = DateAdd("h", 12, rs!timeer) ' Update the record rs.Edit rs!timeer = newTime rs.Update End If ' Move to the next record rs.MoveNext Loop ' Close the recordset and database rs.Close Set rs = Nothing Set db = Nothing MsgBox "AM times have been changed to PM." End Sub time.accdb بعد ما تكبس على زر تغيير الوقت اغلق النموذج ثم افتحه لانه التغيير يتم في الجدول وليس في النموذج1 point
-
لم يعمل معي ارجو تطبيق على قاعدة البيانات الرفقة واعتذر لأني لم ارفق القاعدة في البداية سهوا time.accdb1 point
-
تفضل استاذ @بوكفوس عبدالسلام . فردي ...... Private Sub YourFieldName_AfterUpdate() Me.YourFieldName = UCase(Me.YourFieldName) End Sub استبدل YourFieldName باسم الحقل النصي الخاص بك. هذا الكود سيحول أي نص يتم إدخاله في الحقل إلى أحرف كبيرة تلقائيًا عند التحديث. إذا كنت بحاجة إلى تطبيق ذلك على عدة حقول، يمكنك تكرار الخطوات لكل حقل. جماعي ...... Private Sub Form_AfterUpdate() Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then ctl = UCase(ctl) End If Next ctl End Sub هذا الكود سيقوم بالبحث عن جميع مربعات النص في النموذج ويحول أي نص يتم إدخاله فيها إلى أحرف كبيرة تلقائيًا عند التحديث1 point
-
1 point
-
1 point
-
السلام عليكم مشاركه مع اخوتى واساتذتى اعجبتنى طريقه اخى الفاضل @Foksh جزاه الله خيرا وقمت بالتعديل عليها لان الخطأ الذى ظهر للاستاذ عبداللطيف بسبب ان التوقيت فى صباحا ومساء بالعربى وعند اخى فادى بالانجليزى وهذا ما احدث الخطأ فقمت بالتعديل عليها حيث تعلمت الطريقه من اخى فاضل هنا بالمنتدى جزاه الله عنا كل خير Private Sub Command7_Click() Dim rs As DAO.Recordset Dim sql As String sql = "SELECT 1 FROM Tbl_Party WHERE DATE_PARTY = #" & Me.DATE_PARTY & "# " & _ "AND ((" & CDbl(Me.TIME_PARTY_START) & " BETWEEN cdbl(TIME_PARTY_START) AND cdbl(TIME_PARTY_END)) " & _ "OR (" & CDbl(Me.TIME_PARTY_END) & " BETWEEN cdbl(TIME_PARTY_START) AND cdbl(TIME_PARTY_END)) " & _ "OR (cdbl(TIME_PARTY_START) BETWEEN " & CDbl(Me.TIME_PARTY_START) & " AND " & CDbl(Me.TIME_PARTY_END) & "))" Set rs = CurrentDb.OpenRecordset(sql, dbOpenSnapshot) If Not rs.EOF Then MsgBox "يوجد حجز مسبق لهذه الفترة!", vbExclamation, "تنبيه" Else CurrentDb.Execute "INSERT INTO Tbl_Party (DATE_PARTY, TIME_PARTY_START, TIME_PARTY_END) " & _ "VALUES (#" & Me.DATE_PARTY & "#, #" & Me.TIME_PARTY_START & "#, #" & Me.TIME_PARTY_END & "#)", dbFailOnError MsgBox "تم حفظ الحجز بنجاح!", vbInformation, "تأكيد" End If rs.Close: Set rs = Nothing End Sub تمنياتى لكم بالتوفيق WEEDING HALLS_1.accdb1 point
-
1 point
-
مشكور جدا على الشرح اخي Moosak وهو واضح جدا هذا بالنسبة للمرحلة الأولى حيث يستقبل كل قسم مايخصه، المرحلة الثانية وهي إجابة كل قسم للكتاب الذي وصل له توجيهها اما إلى الواردة او الى قسم اخر، لنفترض وجه كتاب من الواردة إلى القسم A ومن ثم من قسم A وجه إلى قسم B حيث بنفس الطريقة ياخذ القسم B الجديد مايخصه ويجيب القسم الذي جاء منه وهو A ومن القسم A يعيد إلى الواردة حيث بالإمكان ان يتم توجيه بعض الكتب من الواردة إلى القسم B مباشرة ارجوا ان لا أكون اتعبتك بالشرح، تحياتي يالغالي1 point
-
1 point
-
نعم صحيح ، على إصدار 2010 اشتغل الملف بشكل طبيعي وبدون اي مشاكل ، لكن على اصدار 2016 عندي لم يعمل للأسف ..1 point
-
1 point
-
المعذرة من الجميع .. طبعا أنا طريقتي في النسخ الاحتياطي مختلفة تماما .. 😅🖐 وكل ما فعلته هو تأكدت أن كود صاحب الموضوع يعمل .. 😁👌 والعم فادي @Foksh ما يقصر معاكم 😄🌹1 point
-
المشكلة في دالة BrowseForFolder على ما اعتقد ، وانا ايضاً لم يتم فتح مربع حوار اختيار مكان الحفظ . أما بالنسبة لي فأعتقد أنه من المفترض أن تكون النسخة الاحتياطية مؤمنة ومحفوظة في مكان واحد بشكل تلقائي داخل مجلد بجانب قاعدةالبيانات على سبيل المثال ، وأيضاً لي وجهة نظر مختلفة فيما يتعلق بموضوع النسخ الإحتياطي . فمثلاً ما حاجتي اذا كان النسخ الإحتياطي سيقوم بإنشاء نسخة كاملة من البرنامج ( الجداول والنماذج والاستعلامات .... إلخ ) تحت مسمى النسخة الإحتياطية !!!!!!! برأيي ان النسخة الاحتياطية للجداول فقط هي ما يهم المستخدم . لذا دائما أتوجه الى أخذنسخة احتياطية للجداول فقط . وهذا مرفق بسيط قديم من أحد مشاركاتي حسب طلب صاحب الموضوع السابق حينها ، ويتعامل مع القاعدة المنقسمة . Back.accdb1 point
-
وعليكم السلام ورحمة الله وبركاته .. يمكن تنفيذ الفكرة بأكثر من طريقة ، ولكن ما يخطر في بالي حالياً هو :- 1. اضافة حقل من نوع Yes/No في الجدول المخصص للسندات على سبيل المثال ( افتراضاً حسب تصميم وهيكلة الجداول لديك ) . 2. في واجهة المدير يحتاج الأمر لنموذج يعرض السندات التي تكون فيها قيمة الحقل السابق = ( No أو 0 ) . وطبعاً سيكون الموضوع مرتبط برقم السند بحيث عند النقر على زر الموافقة يتم تحديث قيمة الحقل من 0 الى -1 ( من No إلى Yes ) . 3. في نموذج و واجهة المستخدم أو الموظف سيكون في الزر المخصص بتغيير القيمة أوزر مخصص لتفقد حالة السند ( تمت الموافقة أم لا ) بجملة شرطية If مع Dlookup تعود بقيمة الحقل لرقم السند المحدد ، فإذا تمت الموافقة ( أي قيمة الحقل = Yes أو -1 ) يسمح بالتعديل وإلا فلا يسمح بذلك . هذا تصوري لفكرة سريعة وطبعاً هذا يعتمد على خيالك ومهارتك البرمجية1 point
-
!! 😌 لم توضح وجهة نظري هل هي صحيحة ام لا الآن انت اضفت معلومة جديدة وهي ان المدة ساعتين فقط ولكن المبرمج ينظر الى افق اوسع .. ماذا لو تم تمديد الفترة ، مثلا الزبون يريدها 3 ساعات ، وماذا لو تم حجز الساعتين كما ذكرت اعلاه في يومين بمعنى ان الحجز تم في الساعة الحادية عشر ليلا فالخروج سيكون في الساعة الواحدة غدا .. هنا كيف تتعامل مع معيار التاريخ؟ انا عندما اتصدى للاجابة .. لا بد ان اقتنع ان هذا الحل هو المناسب .. وأنه يغطي جميع الاحتمالات1 point
-
السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) 📌 أقدم لكم اليوم فكرة قد تكون ليست بالجديدة ، ولكنها بالحديثة و بطريقة فوكشية ▫▪◽◾◻◼. الكثير من المواضيع التي تحدثت عن كيفية رفع ملفات المستخدم على جوجل درايف أو غيره من المواقع التي تقدم مساحات سحابية متعددة الخدمات لمستخدميها .. اليوم وبتوفيق من الله ، تم إنشاء هذه الأداة للتعامل مع جوجل درايف Google Driveحصراً ، لكونه يقدم مساحة 15 جيجا بايت لمستخدميه . ما كان يؤرق الكثيرين هو أن جوجل أو غيره من مقدمي الخدمة المشابهة يقوم بتعديل سياسته وقوانينه كل فترة . لكن هنا وبهذه الأداة المجانية تم حل المشكلة بعد فحصها مراراً وتكراراً (متمنياً ذلك) . الفكرة في الأداة تعتمد على حساب جوجل أو Gmail شخصي . ما يلزم المستخدم هنا تطبيق الخطوات البسيطة التالية حسب الصور أو الفيديو في هذا الرابط . 📌 عند فتح الأداة لأول مرة ، سيساعدك معالج الإنشاء بجميع الخطوات ( خطوة بخطوة ) وستظهر لك هذه الرسالة :- 📌 عند النقر على Yes ، ستظهر لك رسالة الإرشاد الأولى كالتالي :- 📌 سيتم فتح المتصفح لديك على الرابط الخاص بإنشاء الخدمة .. وللمتابعة دون الإطالة ، أترككم مع الصور و الخطوات خطوة بخطوة . 📌 عند الإنتهاء من تنفيذ الخطوات والحصول على رمزي الـ ( CLIENT ID و CLIENT SECRET ) . ✨ سيتوجه بك معالج الإنشاء للخطوة قبل الأخيرة كالآتي :- 📌 هنا يطلب منك لصق رمز CLIENT ID الذي حصلت عليه من تسلسل الخطوات السابقة . ثم بعد لصقه والضغط على OK ، ستظهر لك الرسالة التالية :- 📌 والتي يطلب منك لصق CLIENT SECRET كما في الصورة أعلاه . ✨ الآن الخطوة الهامة والتلقائية ، وبعد لصق الرمزين الخاصين بحسابك في جوجل درايف ( لا تقم بمشاركتهم مع أي أحد ) ، سنهب للحصول على رمز التفويض مرة واحدة فقط ! وهذا يعني أنك لن تحتاج إليه مستقبلاً . انظر الصورة التالية :- 📌 عند النقر على موافق ، سيتم فتح متصفحك على رابط خاص في جوجل لتمنح بريدك الإلكتروني الذي استخدمته في إنشاء الخدمة سابقاً كامل الصلاحية لإستخدام خدمات جوجل درايف . وطبعاً بالمتابعة وتأكيد الموافقة ، ستحصل على رمز التفويض الخاص بك و لمرة واحدة فقط ولن تحتاجه فيما بعد ، فتقوم بنسخه ولصقه في رسالة التأكيد التالية :- الآن وبفضل الله ، ستظهر لك رسالة " تم التفويض بنجاح" ، وبهذه الخطوة تم ربط آكسيس بحساب جوجل درايف الخاص بك ، وستظهر لك واجهة الأداة كما في الصورة أدناه . وما يلي شرحاً سريعاً لمميزاتها . مميزات الأداة :- تتيح لك الأداة رفع الملفات بأي امتداد وبأي حجم ؛ إلى أي مجلد تحدده في حسابك على جوجل درايف ، أو في الملف الرئيسي عند عدم اختيارك لمجلد محدد . والمجلدات التي في حسابك ستظهر لك عند النقر على زر "مجلداتي" ، ثم من قائمة الكومبوبوكس ستختار المجلد الهدف لرفع الملف اليه . زر "إختيار ملف" لإختيار الملف الذي ترغب برفعه على جوجل درايف . زر "معاينة" مخصص لمعاينة الملف حسب الرسالة التي ستظهر لك . زر "مسح الحقول" لتفريغ العناصر من قيمها . زر "ارفع الملف" والذي من خلاله ستقوم بتنفيذ عملية رفع الملف إلى حسابك في جوجل درايف . بعد إتمام عملية الرفع بنجاح ، يتم عرض المساحة المستخدمة من المساحة التخزينية لحسابك ( وهي 15 جيجا ) ، والنسبة المئوية للمساحة في عنوان النموذج ، كما في الصورة أدناه لعملية الرفع . زر "نسخ الرابط" لنسخ الرابط بعد أن تمت عملية الرفع بنجاح ( لإستخداماتك الشخصية وحاجتك لاحقاً ) . وفيما يلي ، صورة سريعة لعملية رفع صورة على سبيل المثال : ملف الأداة بنسختين .. نسخة 64 بت نسخة 32 بت Uploader.zip Uploader 32.zip1 point
-
بسم الله الرحمان الرحيم السلام عليكم تحياتي لجميع اعضاء اوفيسنا المحترمين الموضوع ليس بجدبد فقد تم التطرق له من قبل الاستاد القدير عبد الله باقشير جازاه الله خيرا و ان شاء الله نراه بينانا في المنتدى عن قريب لمتابعتي المنتدى في الاونة الاخيرة رئيت عدت تسائلات عن البحث والتعديل في الجداول و رئيت العديد من الحلول فحاولة الاجتهاد و الوصول الى ابسط و اسهل طريقة لعمل ذلك لذى فكرة في برمجة فورم مرن يكون ملائم لاي جدول مهما كان عدد صوفوفه او عدد اعمدته و لكي يتمكن اي عضو مهما كانت معرفته بالبرمجة ضعيفة من استعماله بسهولة ووصلة الى هذا الفورم الذي ارجو ان اكون قد وفقت في فكرته وان يستفيد منه الاغلبية يتميز هذا البرنامج يجلب الجدول المستهدف للعمل عليه و امكانية البحث داخله بدلالة اي عمود من اعمدته كما ان البحث يتميز بالبحث بأول حرف من الكمة او اي جزء منها حسب احتياجك وايضا تتميز عملية البحث بالسرعة الفائقة لاني اعتمدت على المصفوفات للوصول الى ذلك و تعرفون قوة المصفوفات و فعاليتعها اما بخصوص التكستبوكس و الكمبوبكس فتنشأ برمجيا على حسب عدد اعمدة الجدول نأتي الان الى طريقة استعمال الفورم هذا مع ملفك الخاص اولا اذهب الى محرر الاكواد تجد موديل باسم ModulePublic تجد في بدايته هذين الكودين او التعريفين ان صح التعبير Public Const sNomFeuil As String = "data" 'اسم ورقة العمل التي تحمل قاعدة البيانات Public Const sTableau As String = "tbData" ' اسم جدول قاعدة البيانات اضن ان الامر واضح تصع اسم الشيت الذي يحوي الجدول مكان عبارة "data" واسم الجدول نفسه مكان عبارة "tbData" ملاحظة : يجب ان تكون قاعدة البيانات عبارة عن جدول لايهم عدد اعمدة ولا صفوفه المهم ان يكون جدول باتباعك الخطوات السابقة تكون قد انتهيت من ربط جدولك مع الفورم ثانيا نأتي الى الاعمدة التي تحتاج قوائم في مثالنا لدين العمود 4 و العمود الاخير يحتاجون ان يمثلو في الفورم على شكر قوائم (كمبوبكس) لتنفيذ ذالك قم بأنشاء القوائم الازمة في اي شيت تريد و اعطي كل مدى قائمة اسم معين في المثال الخاص بنا سمينا نطاق قائمة الجنس ب list1 كما هو موصح في الصورة ثم اذهب الى رأس العمود المستهدف قم بادراج تعليق له و اكتب داخل التعليق نفس اسم نطاق القائمة و انتهى الامر ارجو ان اكون قد وفقت في الشرح وان يستفيد أكبر عدد من الاعضاء من هذا العمل ملاحضة: تنسيق عرض اعمد اليست يكون بتنسيقك ععرض اعمدة الجدول نفسه من الشيت و الفورم يكتشف العمود الذي يحوي تواريخ تلقائيا اي ملاحظة او استفسار او اضافة تحتاجونها للفورم لا تترددو في طلبي اهدي هذا العمل الى الغائبين الحاضرين في قلوبنا الاخ ضاحي الغريب و الاستاد عبد الله باقشير تحياتي للجميع UserForm Flexibles.rar1 point
-
شكرا اخي الفاضل ابو نصار هذه بعض الامثلة تعطيل او اخفاء زر الغلق Disable the x close button1.zip Disable the x close button2.rar Disable the x close button3.rar Disable the x close button4.rar Disable the x close button5.rar1 point
-
السلام عليكم الصق هذه السطر في حدث الفورم Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Cancel = True End Sub1 point