بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 08/21/22 in مشاركات
-
اخى الفاضل @محمد عبدالسلام السامعي الاستاذ محمد طاهر وضح لك اكثر من مره لن يستطيع احد مساعدتك لعدم التعدى ع حقوق الاخرين وقمت بعرض الموضوع بالمنتدى المفتوح وتم توضيح نفس الشىء لك بانه لن يستطيع احد مساعدتك بهذا لعدم التعدى ع حقوق الاخرين ومازلت تسال كيف نفسرها لك بانه حتى لو استطعنا فلن نقدر على تقديم المساعده لمثل هذه الحالات فتوجه للمبرمج لحفظ الحقوق بالتوفيق3 points
-
شكرا استاذنا على المداخلة وهذه طريقة لبناء دالة على اكتاف Replace مع اخذ الاحتياط بحذف المسافات الفارغة الزائدة ان وجدت ' الصق هذه في وحدة نمطية عامة Public Function fnchang(vtext As String) Dim i As String i = Replace(vtext, "/", "-") i = Replace(i, "(", "-") i = Replace(i, ")", "-") Do While InStr(1, i, " ") > 0 i = Replace(i, " ", " ") Loop End Function ' تم تعديل الدالة نبهني الى الخطأ فيها اخي وحبيبي الاستاذ جعفر ' الصق هذا السطر في حقل جديد في الاستعلام text2: fnchang(text1) ، text1باعتبار هو اسم الحقل الذي سيجري عليه التغيير2 points
-
ظهر الآن ان السؤال منقول .. وصاحب السؤال لا يعمل عليه وذكر ان كل مستخدم له حاسوبه الخاص الآن فهمت انهم في مبنى واحد .. وهذا يعني امكانية عمل شبكة بين الحواسيب ، وهذا يرجعنا الى تخمين الاستاذ جعفر ، وما سماه بالسؤال الساذج2 points
-
جرب للهجري هذا ..... Me.RecordSource = "hijriDate" وغير الجدول للميلادي بنفس الطريقة2 points
-
نعم ، صيغة السؤال تدل على هذا الاتجاه ، ولكن ، وكما قلت ، هو سؤال ساذج ، واتمنى يفاجأنا الجواب 😁 جعفر2 points
-
السلام عليكم 🙂 الاكسس يعرض السجلات (في الجداول والاستعلامات والنماذج والتقارير) حسب تسلسل ادخالها ، اذا لم نعمل فرز وتصفية خاصة بنا 🙂 عليه ، للحصول على نفس تسلسل ادخال البيانات ، في التقرير ، احذف الفرز الذي عملته (المؤشر عليه باللون الاحمر) : . طبعا حل اخوي ابوخليل هو الافضل ، لأنه اصل لشروط قاعدة البيانات ، وقاعدة البيانات معناها: ادخال بيانات ، فرز وتصفية ، وعرض بيانات 🙂 جعفر2 points
-
الامر ليس بهذه السهولة ، فلن تستفيد من مثال ارفقه لك دعنا نأخذ المسألة بالتفصيل لو ان البيانات القابلة للزيادة والتحديث عند المستخدمين ضمن جدول واحد لاصبحت العملية يسيرة جدا ولكنك تتحدث عن خمس جداول .. لذا انت من سيرفق المثال على النحو التالي : ارفق ثلاث قواعد بيانات داخل مجلد بعد ضغطها .. وقم بتسميتها مثلا : dataDB1 ,, dataDB2 ,, dataDB3 وتشتمل فقط (اكرر فقط) على الجداول التي يحدث فيها التحديث والاضافة عند المستخدمين بمعنى ان بياناتها تتغير وتختلف من مستخدم لآخر . ((( يجب ان تكون نسخة مطابقة من جداولك التي تعمل عليها ))) قم بتعبئة الجداول ببيانات كاملة مشابهة للواقع ( على الأقل سجلين في كل جدول ) بعد الاطلاع على جداولك سيتبين لنا ما يمكننا عمله ، حيث اتوقع اننا سنجد تعارض منطقي او عدم صلاحية الدمج في بعض الجداول حينها سوف ارى ما يجب عمله من اضافة او تعديل على بنية الجدول . ثم تأسيس استعلامات تحل محل هذه الجداول2 points
-
أكثر من رائع صديقي العزيز ... ملف يمكن الاستفادة منه في عمليات الارشيف وتنظيم الصور وقد وجدت طلبي لدى @عمر ضاحى المحترم2 points
-
سوف اعطيك طريقة فريدة .. ستذكرني كلما استخدمتها قم بتقسيم قاعدة البيانات القاعدة الخلفية التي تشتمل على الجداول : 1- قم باخذ نسخ منها بعدد المستخدين 2- قم بتسمية كل نسخة بما يدل على المستخدم ( يجب ان تختلف تسمياتها لاننا لاحقا سوف نضمها في مجلد واحد ) 3- اربط الواجهة مع جداول المستخدم الاول ثم سلمها له 4- اربط الواجهة مع جداول المستخدم الثاني ثم سلمها له 5 - وهكذا مع بقية المستخدمين 6- قبل ارسالها للمستخدم نضع نسخة منها بجانب الواجهة التي تخصك الآن اصبح عندك برنامج يشتمل على قاعدة الواجهات وبجوارها القواعد الخلفية الخاصة بكل مستخدم الآن قم بربط الجداول التي تشتمل على البيانات الخاصة بكل مستخدم من كل قاعدة بيانات ستلاحظ ان اكسس يقبلها ولكنه يعدل في اسماء الجداول المتشابهة بزيادة رقم يمكنك ايضا بعد الربط تغيير اسماء الجداول المرتبطة بما يدل على المستخدم . نأتي للزبدة : كل ما ستقوم به مستقبلا هو انك تستقبل قاعدة بيانات المستخدم وتلصقها في مجلد البرنامج ثم توافق على الاستبدال في برنامجك تعمل استعلاما للجداول المرتبطة المتشابهة لجمع البيانات .. وسيكون هو مصدر بيانات النموذج والتقرير بهذه الطريقة لن نحتاج الى فتح قواعد البيانات الواردة ولا الى جلب واستيراد ولا الى نسخ ولصق2 points
-
يمكنك استخدام المعادلة التالية لاستخراج الفرق بالشهور =DATEDIF(H2;P2;"m") مثال 12/4/2022____27/4/2029________النتيجة هي 96 شهر وهده ادا كانت لك رغبة باستخراج النتيجة بالاعداد الكسرية =FRACTION.ANNEE(H2;P2)*12 12/4/2022____27/4/2029________ النتيجة هي 96.5 شهر ونصف Copy of Book13(2).xlsx1 point
-
صارت لدي حاجة لمثل هذا .. 🙂 عندي برنامج يقوم بحفظ ملفات PDF بنفس أسماء الأشخاص حسب الموجود في الجدول .. كل شخص له ملف PDF باسمه .. لكن أحيانا يتم إدخال الاسم هكذا : " الفاضل / محمد أحمد سلامة " واللويندوز يرفض علامة الـ / في أسماء الملفات وعلامات أخرى مثل : #$%^<> حسب ما أذكر .. لذلك أنشأت دالة تقوم بتتبع هذه العلامات في الاسم قبل حفظ الملف واستبدالها بالرمز " - " أو مسافة فارغة " " (ويمكنك تحديد البديل كما تشاء ) .. بدون تغيير البيانات في الجدول طبعا .. وهذه هي الدالة التي أنشأتها .. ويمكن تعديلها حسب الحاجة وتغيير الرموز المطلوبة فيها وتعيين البديل .. Public Function RemoveSymbolsFromText(strGivenTxt As String, Optional ReplacmentTxt As String = "") As String Dim Txt As String Dim R As String R = ReplacmentTxt Txt = strGivenTxt Txt = Replace(Txt, "!", R) Txt = Replace(Txt, "@", R) Txt = Replace(Txt, "#", R) Txt = Replace(Txt, "$", R) Txt = Replace(Txt, "%", R) Txt = Replace(Txt, "^", R) Txt = Replace(Txt, "*", R) Txt = Replace(Txt, "\", R) Txt = Replace(Txt, "|", R) Txt = Replace(Txt, "/", R) Txt = Replace(Txt, ".", R) Txt = Replace(Txt, "?", R) Txt = Replace(Txt, """", R) Txt = Replace(Txt, "'", R) Txt = Replace(Txt, "<", R) Txt = Replace(Txt, ">", R) Txt = Replace(Txt, "؟", R) Txt = Replace(Txt, "~", R) Txt = Replace(Txt, "&", R) RemoveSymbolsFromText = Txt End Function وتستدعيها هكذا : RemoveSymbolsFromText(strGivenTxt, "_")1 point
-
إبداع بتكامل بناء بين أساتذة فضلاء .. شكر الله لكم يا كرام .. وحعل ما قدمتموه في ميزان حسناتكم وبركة في أعماركم وأعمالكم وأهلكم وولدكم..1 point
-
Replace(Replace(Replace([text1];"/";"-");"(";"-");")";"-")1 point
-
1 point
-
عليكم السلام .. اهلا ابا انس Me.text1 = Replace([text1], "/", "-") ' في الحدث المناسب في المحرر text2 : Replace([text1]; "/"; "-") ' في الاستعلام لاحظ انك ان استخدمت الكود سوف تتغير وتتحدث البيانات في الجدول اما ان استخدمت الاستعلام فستبقى البيانات في الجدول كماهي وتستخدم الاستعلام لعرض النتيجة الجديدة لذا ننصح بالعمل على نسخة للتجربة حتى اذا اصبحت النتيجة حسب المطلوب تطبق عملك على برنامجك1 point
-
1 point
-
هو اشارة الى سؤالي 🙂 . انت لم ترد على سؤالي: هل جميع من سيتعامل مع البرنامج موجودين في مبنى واحد ؟ وهل المبنى فيه شبكة تربط جميع كمبيوترات مدخلي البيانات والمستخدم الرئيسي الذي يجمع البيانات ؟ جعفر1 point
-
بعد تسمية النطاقات بخاصية (Name Manager) تم وضع معادلة البحث التالية =INDEX(Data!$C$3:$D$300;EQUIV('شهادة صف ثالث'!$K$47;Data!$C$3:$C$300;0);2) اما بالنسبة للصورة لم يتم وضع اي اطار خاص بها يمكنك تغيير مكانها كيفما شئت1 point
-
اذا كان الأمر كما فهمته انا وفهمه اخونا موسى ، فأنا قدمت الحل الذي اعتبره الاصعب رغم سهولة استخدامه ويوجد حل آخر اكثر سهولة ويسر في الاستخدام رغم وجود عيب وحيد فيه . والحل هو عندما يلصق قواعد البيانات الواردة في مجلد البرنامج يمكنه الاتصال باي قاعدة على حدة ويعرض بياناتها ويطبع ما يهمه طباعته العيب الوحيد هو حينما يريد استخراج تقارير اجمالية على مستوى جميع الفروع .1 point
-
أعتقد أن المثال الذي يريده الأخ قاسم يتعلق ببرنامج يتم توزيعه على أفرع المؤسسة في عدة مدن مختلفة .. وبعد مدة معينة يتم تجميع البيانات الموزعة على الأفرع في البرنامج الرئيسي لإدارة المؤسسة .. والمثال الذي ذكره الأستاذ @ابوخليل يعالج هذه القضية وهي فكرة إبداعية .. فقط يحتاجله بعض البهارات من الـVBA لجعل العملية تصير بشكل أوتوماتيكي 🙂 ..1 point
-
1) لاحظت ان عدد الطلبة يفوق 200 طالب يستحيل انك تضيف كل صورة لوحدها 🤔🤔 اليك اخي الفاضل هدا الكود الدي سيمكنك من اضافة الصور دفعة واحدة ومرتبة (قبل تشغيل الكود تاكد من وقوفك على الخلية المراد اضافة الصورة اليها) 2) وهدا رابط شرح طريقة اضافة الصور للملف : https://streamable.com/ti3tnn Sub InsertMultiplePictures_MH() Dim Pictures() As Variant Dim PictureFormat As String Dim Rng As Range Dim PicShape As Shape On Error Resume Next Pictures = Application.GetOpenFilename(PictureFormat, MultiSelect:=True) xColIndex = Application.ActiveCell.Column If IsArray(Pictures) Then xRowIndex = Application.ActiveCell.Row For lLoop = LBound(Pictures) To UBound(Pictures) Set Rng = Cells(xRowIndex, xColIndex) Set PicShape = ActiveSheet.Shapes.AddPicture(Pictures(lLoop), msoFalse, msoCTrue, Rng.Left, Rng.Top, Rng.Width, Rng.Height) xRowIndex = xRowIndex + 1 Next End If End Sub ولازالة الصور القديمة Sub DeleteImage() Dim pic As Picture For Each pic In ActiveSheet.Pictures If Not Application.Intersect(pic.TopLeftCell, Range("D3:D300")) Is Nothing Then pic.Delete End If Next pic End Sub تم اضافة الاكواد للملف المرفق شهادات صف ثالث_M-H.rar1 point
-
اشر اطراءك اخي واستاذي الفاضل احمد ... بارك الله فيك1 point
-
وما فى احلى من هيك اخى واستاذى الغالى جزاك الله خيرا 💐1 point
-
اخى الفاضل @محمد عبدالسلام السامعي الاستاذ محمد طاهر وضح لك اكثر من مره لن يستطيع احد مساعدتك لعدم التعدى ع حقوق الاخرين وقمت بعرض الموضوع بقسم الاكسيس وتم توضيح نفس الشىء لك بانه لن يستطيع احد مساعدتك بهذا لعدم التعدى ع حقوق الاخرين ومازلت تسال كيف نفسرها لك بانه حتى لو استطعنا فلن نقدر على تقديم المساعده لمثل هذه الحالات فتوجه للمبرمج لحفظ الحقوق بالتوفيق1 point
-
الشكر لله ثم لاخواننا واساتذتنا جزاهم الله عنا كل خيرا وفيك بارك الله اخى @athal1 كفيت ووفيت ببساطه معلمنا وشيخنا الجليل جزاك الله خيرا 💐1 point
-
1 point
-
أنظر لهذا المرفق أخي قاسم 🙂 يعمل بنفس الفكرة .. هذا النموذج فيه كل ما تحتاجه بداية من جلب الصور + وإنشاء المجلدات المتتالية إذا كانت غير موجودة ( يعمل لكل سجل أو موظف مجلد خاص به ) + نسخ الصورة بجانب قاعدة البيانات + إمكانية نقل البرنامج إلى أي مكان آخر مع ضمان عمل الصور + حذف الصورة من المجلد . << تضغط على الصورة لفتحها >> إدارة المرفقات.rar1 point
-
هل هذا ما تريد ؟ لفتح الصوره خارج الاكسيس Dim ImgPath As String ImgPath = CurrentProject.Path & "\IMG\" & txtEmpID & ".jpg" Application.FollowHyperlink ImgPath ايضا لجعل الصوره تتغير تلقائيا عند التنقل من موظف الى اخر فى حدث فى الحال Private Sub Form_Current() Me.CImg.Picture = CurrentProject.Path & "\IMG\" & Me.txtEmpID & ".jpg" End Sub اتمنى ان يكون هذا ما تبحث عنه Test.rar1 point
-
1 point
-
بارك الله فيك استاذ مجدى وزادك الله من فضله1 point
-
أحسنت استاذ مجدى بارك الله فيك1 point
-
أحسنت استاذ مجدى كل عام وأنتم بخير1 point
-
أحسنت استاذ مجدى بارك الله فيك1 point
-
1 point
-
1 point
-
1 point
-
وعليكم السلام -يمكنك ذلك بجعل التنسيق هكذا [$-,2000000]0.00_);[Red](0.00) TEST1.xlsx1 point
-
1 point
-
وعليكم السلام-يمكنك استخدام هذه المعادلة على الرغم ان طلبك تكرر كثير جداً وكان عليك البحث بالمنتدى قبل رفع مشاركتك =IF($B1=0,6,IF(AND($B1>=1,$B1<=39),5,IF(AND($B1>=40,$B1<=49),4,IF(AND($B1>=50,$B1<=69),3,IF(AND($B1>=70,$B1<=89),2,IF(AND($B1>=90,$B1<=100),1,"")))))) 1.xlsx1 point
-
1 point
-
أحسنت استاذ موسى عمل ممتاز جعله الله فى ميزان حسناتك1 point
-
أخى الكريم جمال يعنى i=4 to 250 أى تحديد النطاق للإخفاء من الصف الرابع الى الصف 250 أما بالنسبة Cells(i,6).EntireRow.Hidden=True وذلك يعنى أن العمود السادس وهو العمود F وبناءاً عليه يتم الإخفاء للصف كله بارك الله فيكم1 point
-
جرب هذا بالمعادلات السادة عظماء منتدى اوفيسنا العظيم برجاء المساعدة في ترحيل عمود بشروط من برنامج مرتبات.rar1 point
-
تفضل أخى جمال كود اخفاء صف بناءا على خلية فارغة فيه.xlsm1 point
-
1 point
-
1 point
-
1 point
-
جرب هذا الملف فقد صصمته لك لعله يفى بالغرض استدعاء الاسماء بدون تكرار بواسطة المعادلات.xlsm1 point
-
1 point
-
1 point