بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 02/04/25 in all areas
-
عليكم السلام ابختصر لك الطريق بفكرة سهلة اولا يجب ان تكون قاعدة البيانات مقسمة الى واجهات وجداول ثانيا تقوم بحماية الواجهات الحماية الاولى الخاصة بقراءة جهاز العميل وتسجيل النسخة ثالثا : الحماية المؤقتة : تعمل نسختين من الواجهات دائمة ومؤقتة الدائمة لا يوجد فيها شيء سوى الحماية الأولى المؤقتة يضاف لها او تحتوي على كود يقوم بعد السجلات المدخلة في جدول التفاصيل الرئيسي .. فإذا بلغ عددا محددا يظهر له رسالة بالمطلوب ويغلق . هنا سوف يتواصل معك .. فترسل له النسخة الدائمة ليلصقها بالمجلد ويوافق على اللصق والاستبدال هذا كل شيء . هنا لا حاجة لتاريخ ونحوه وايضا تبقى بياناته المدخلة عنده سليمة ومحفوظة2 points
-
السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) 📌 أقدم لكم اليوم فكرة قد تكون ليست بالجديدة ، ولكنها بالحديثة و بطريقة فوكشية ▫▪◽◾◻◼. الكثير من المواضيع التي تحدثت عن كيفية رفع ملفات المستخدم على جوجل درايف أو غيره من المواقع التي تقدم مساحات سحابية متعددة الخدمات لمستخدميها .. اليوم وبتوفيق من الله ، تم إنشاء هذه الأداة للتعامل مع جوجل درايف Google Driveحصراً ، لكونه يقدم مساحة 15 جيجا بايت لمستخدميه . ما كان يؤرق الكثيرين هو أن جوجل أو غيره من مقدمي الخدمة المشابهة يقوم بتعديل سياسته وقوانينه كل فترة . لكن هنا وبهذه الأداة المجانية تم حل المشكلة بعد فحصها مراراً وتكراراً (متمنياً ذلك) . الفكرة في الأداة تعتمد على حساب جوجل أو Gmail شخصي . ما يلزم المستخدم هنا تطبيق الخطوات البسيطة التالية حسب الصور أو الفيديو في هذا الرابط . 📌 عند فتح الأداة لأول مرة ، سيساعدك معالج الإنشاء بجميع الخطوات ( خطوة بخطوة ) وستظهر لك هذه الرسالة :- 📌 عند النقر على Yes ، ستظهر لك رسالة الإرشاد الأولى كالتالي :- 📌 سيتم فتح المتصفح لديك على الرابط الخاص بإنشاء الخدمة .. وللمتابعة دون الإطالة ، أترككم مع الصور و الخطوات خطوة بخطوة . 📌 عند الإنتهاء من تنفيذ الخطوات والحصول على رمزي الـ ( CLIENT ID و CLIENT SECRET ) . ✨ سيتوجه بك معالج الإنشاء للخطوة قبل الأخيرة كالآتي :- 📌 هنا يطلب منك لصق رمز CLIENT ID الذي حصلت عليه من تسلسل الخطوات السابقة . ثم بعد لصقه والضغط على OK ، ستظهر لك الرسالة التالية :- 📌 والتي يطلب منك لصق CLIENT SECRET كما في الصورة أعلاه . ✨ الآن الخطوة الهامة والتلقائية ، وبعد لصق الرمزين الخاصين بحسابك في جوجل درايف ( لا تقم بمشاركتهم مع أي أحد ) ، سنهب للحصول على رمز التفويض مرة واحدة فقط ! وهذا يعني أنك لن تحتاج إليه مستقبلاً . انظر الصورة التالية :- 📌 عند النقر على موافق ، سيتم فتح متصفحك على رابط خاص في جوجل لتمنح بريدك الإلكتروني الذي استخدمته في إنشاء الخدمة سابقاً كامل الصلاحية لإستخدام خدمات جوجل درايف . وطبعاً بالمتابعة وتأكيد الموافقة ، ستحصل على رمز التفويض الخاص بك و لمرة واحدة فقط ولن تحتاجه فيما بعد ، فتقوم بنسخه ولصقه في رسالة التأكيد التالية :- الآن وبفضل الله ، ستظهر لك رسالة " تم التفويض بنجاح" ، وبهذه الخطوة تم ربط آكسيس بحساب جوجل درايف الخاص بك ، وستظهر لك واجهة الأداة كما في الصورة أدناه . وما يلي شرحاً سريعاً لمميزاتها . مميزات الأداة :- تتيح لك الأداة رفع الملفات بأي امتداد وبأي حجم ؛ إلى أي مجلد تحدده في حسابك على جوجل درايف ، أو في الملف الرئيسي عند عدم اختيارك لمجلد محدد . والمجلدات التي في حسابك ستظهر لك عند النقر على زر "مجلداتي" ، ثم من قائمة الكومبوبوكس ستختار المجلد الهدف لرفع الملف اليه . زر "إختيار ملف" لإختيار الملف الذي ترغب برفعه على جوجل درايف . زر "معاينة" مخصص لمعاينة الملف حسب الرسالة التي ستظهر لك . زر "مسح الحقول" لتفريغ العناصر من قيمها . زر "ارفع الملف" والذي من خلاله ستقوم بتنفيذ عملية رفع الملف إلى حسابك في جوجل درايف . بعد إتمام عملية الرفع بنجاح ، يتم عرض المساحة المستخدمة من المساحة التخزينية لحسابك ( وهي 15 جيجا ) ، والنسبة المئوية للمساحة في عنوان النموذج ، كما في الصورة أدناه لعملية الرفع . زر "نسخ الرابط" لنسخ الرابط بعد أن تمت عملية الرفع بنجاح ( لإستخداماتك الشخصية وحاجتك لاحقاً ) . وفيما يلي ، صورة سريعة لعملية رفع صورة على سبيل المثال : ملف الأداة بنسختين .. نسخة 64 بت نسخة 32 بت Uploader.zip Uploader 32.zip1 point
-
1 point
-
مشاركة مع الأساتذة ، في حدث بعد التحديث لمربع النص middledot ، استخدم الكود التالي وهو تلقائياً سيقوم باضافة "." بعد التحديث بعد 3 حروف ، او تغيير القيمة حسب حاجتك :- Private Sub middledot_AfterUpdate() Dim txt As String txt = Nz(Me.middledot.Value, "") If Len(txt) = 0 Then Exit Sub txt = Replace(txt, ".", "") If Len(txt) > 3 Then Me.middledot.Value = Left(txt, 3) & "." & Mid(txt, 4) End If Exit Sub End Sub أما عند نسخك سجلات أكثر من 1 على سبيل المثال ، فهذا الاكود في حدث عند التحميل سيقوم بإضاة "." للقيم في الحقل نفسه التي لا تحتوي على "." أساساً . Private Sub Form_Load() Dim db As DAO.Database Set db = CurrentDb() db.Execute "UPDATE Dot " & _ "SET middledot = Left(Replace(middledot,'.',''), 3) & '.' & " & _ "Mid(Replace(middledot,'.',''), 4) " & _ "WHERE middledot IS NOT NULL " & _ "AND Len(middledot) > 3 " & _ "AND Mid(middledot, 4, 1) <> '.'", dbFailOnError Set db = Nothing Exit Sub End Sub وها يضمن عدم اضافة "." للسجلات التي تحتوي أساساً على "." بعد الحرف الثالث .. dot.accdb1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
ما شاء الله على هذا العمل بارك الله فيك وفي الاساتذة الكرام في هذا المنتدى الراقي1 point
-
أهلاً وسهلاً بك أخي الكريم ، وبما أنك منتسب جديد ، فمن واجبي لفت انتباهك الى عدة نقاط ، منها :- 1.حاول الإبتعاد عن التسميات العربية للحقول والجداول والنماذج والعناصر والمكونات لقاعدة البيانات ( الاستعلامات - التقارير ... إلخ ) . 2. حاول أن لا تستخدم أسماء من مقطعين وإن اضطررت استخدم إشارة Under Score " _ " للفصل بين المقاطع بدلاً من استخدام المسافة . 3. ابتعد عن التسميات الني تبدأ برموز وحروف خاصة أو أرقام . 4. أيضاً لا تقم باستخدام مسميات محجوزة لآكسيس ، وللتوضيح أكثر تابع هذا الموضوع لأستاذنا @ابوخليل من هنا . 5. تذكر ان اختيار افضل إجابة - ( كما فعلت في اختيارك لمشاركتك كأفضل إجابة ) - يعني انك وجدت الحل وأن هذا الموضوع قد تم اغلاقه . أما بالنسبة لسؤالك ، فلن تستطيع تغيير نوع الحقل ما لم تقم أولاً بإلغاء العلاقة بين الحقول المرتبطة ( بين الجدولين ) !!1 point
-
يا هلا باخوي العزيز الغالي يبدوا انني لم افصل في ((ثانيا)) البرنامج لن يعمل الا على جهاز واحد .. سواء الدائمة او المؤقته .. وسيطالبه عند التشغيل للمرة الأولى برقم التسجيل فقط تزيد النسخة المؤقتة على الاخرى بكود : مراقبة وعد السجلات المشروط1 point
-
1 point
-
أعتقد أن المشكلة في الأكسس وليس الأكسل .. تأكد من تشابه نوع البيانات في نفس الحقل بين الأكسل والأكسس .. لعل القائمة المنسدلة لها أكثر من عمود ونوع البيانات في العمود الأول مختلف 🙂 ولعت يا رجالة1 point
-
أستاذنا @ابوخليل فكرتك رائعة وسهلة التنفيذ .. ولكن بعد ما نرسل النسخة الكاملة هناك أحتمالات ممكن يعملها العميل ، ومن ضمنها نشر البرنامج (بالنسخة الكاملة) على أشخاص آخرين أو تشغيل البرنامج على أكثر من جهاز .. أكيد هناك حل لتلافي هذا الأمر ، ولكن ما هي فكرتك حيال هذا التصرف من العميل ؟ مجرد عصف ذهني1 point
-
1 point
-
الف سلامة عليك أستاذ @Eng.Qassim .. ولا غنى عنك ،وأسأل الله لك الشفاء من كل سقم1 point
-
شرح مبسط لما تم تعديله :- 1. قمت بتعديل الكود لتعيين TempVars!UserLevelTemp بشكل ديناميكي بناءً على UserLevel الخاص بالمستخدم الحالي 2. تعديل الاستعلام في النموذج الفرعي frmq1 ليتعامل مع القيم المتغيرة في TempVars!UserLevelTemp الخطوة 1 : في النموذج الرئيسي frmSearch ، قمت بتعديل الكود لتعيين TempVars!UserLevelTemp بشكل ديناميكي كما في الكود التالي بعد التعديل :- Private Sub أمر1_Click() Dim UserLevelTemp As Variant UserLevelTemp = DLookup("[UserLevel]", "tbluser", "[UserNam]='" & Me.txtuser & "'") TempVars!UserLevelTemp = UserLevelTemp DoCmd.OpenForm "frmSearch" End Sub هنا يتم تعيين TempVars!UserLevelTemp مباشرة من قيمة UserLevel الخاصة بالمستخدم الحالي ، سواء كانت تحتوي على قيمة واحدة (مثل 2) أو قيم متعددة (مثل 1, 2) . الخطوة 2 : تعديل الاستعلام في النموذج الفرعي frmq1 ليصبح :- SELECT tblEmp.*, tblEmp.EmpLevel FROM tblEmp WHERE InStr(TempVars!UserLevelTemp, tblEmp.EmpLevel) > 0; شرح الاستعلام :- الدالة InStr : تبحث عن وجود EmpLevel داخل TempVars!UserLevelTemp إذا كانت النتيجة أكبر من 0 ، فهذا يعني أن EmpLevel موجود ضمن TempVars!UserLevelTemp على سبيل المثال: إذا كان TempVars!UserLevelTemp = "1, 2" و EmpLevel = 1 ، فإن InStr ستعيد 1 (لأن 1 موجود في "1, 2") إذا كان TempVars!UserLevelTemp = "2" و EmpLevel = 1 ، فإن InStr ستعيد 0 (لأن 1 غير موجود في "2") ... وهكذا اتمنى ان يكون الشرح وافي لما تم تعديله وتطبيقه .1 point
-
وعليكم السلام ورحمة الله تعالى وبركاته جرب هدا في Module ضع الكود التالي Sub ColoriageDoublons() Dim WSarr As Variant, couleurs As Long, d As Object, _ s As Variant, OnRng As Range, lastRow As Long, a, i As Long WSarr = Array(1, 2, 3): couleurs = RGB(0, 204, 255) Set d = CreateObject("Scripting.Dictionary") For Each s In WSarr With Sheets(s) lastRow = .Cells.Find(What:="*", LookIn:=xlValues, _ SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row a = .Range("C4:C" & lastRow).Value For i = 1 To UBound(a, 1) If a(i, 1) <> "" Then d(a(i, 1)) = d(a(i, 1)) + 1 Next i End With Next s For Each s In WSarr With Sheets(s) lastRow = .Cells.Find(What:="*", LookIn:=xlValues, _ SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row Set OnRng = .Range("C4:C" & lastRow) a = OnRng.Value For i = 1 To UBound(a, 1) OnRng.Cells(i).Interior.Color = IIf(a(i, 1) <> "" And d(a(i, 1)) > 1, couleurs, xlNone) Next i End With Next s End Sub وفي حدث ThisWorkbook Option Explicit Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim WSarr As Variant WSarr = Array("1", "2", "3") If Not Intersect(Target, Sh.Columns("C")) Is Nothing And Target.Row >= 4 Then Application.ScreenUpdating = False If Not IsError(Application.Match(Sh.Name, WSarr, 0)) Then Call ColoriageDoublons End If Application.ScreenUpdating = True End If End Sub تلوين الخلايا v2 المكررة.xlsm1 point
-
الموضوع ان شاء الله فكرته بسيطه (لكن الموضوع متشعب وكبير واكيد هيكون من الصعب احد عمله لك كله مره واحده) اولا لازم تتخيل شكل القيد (ويكون هناك المعلومات كاملة مثل هل ببتعامل مع الضريبه ؟ هل عندك شجرة الحسابات مظبوطه وتعرف الدائن والمدين وتعرف متي يكون الحساب دائن ومتي يكون الحساب مدين) نيجي لطريقة التنفيذ اولا احنا هنا هنستخدم استعلامات الاكسيس (الالحاقي والحذف والتعديل) وكل عمله قد تطر الى عملها اكثر من مره حيث من المعروف ان اي قيد بسيط يتكون من سطرين فاكثر فكل سطر فى القيد له استعلام الحاقي خاص به مثال :- (المثال هنا لتقريب الفكره وهتحتاج مراجعة المحاسبين عندك حتى يكون شكل القيد سليم) ( ايضا هل انت شغال بنظام الجرد الدوري ام بالمستمر لان شكل القيد بيختلف) عندي مثلا فاتورة مشتريات قيمتها 1150 ريال منها 150 ريال ضريبه الشكل الطبيعي للقيد (والله اعلم قد اكون مخطئ) هذا القيد للمشتريات ( فيه 5 اسطر اي هيكون معنا 5 استعلمات الحاقي وفى حال التعديل على الفاتورة هيكون معنا 5 استعلمات تحديث ايضا وفى حال الحذف هيكون معنا استعلام حذف معياره رقم القيد ) انا عن نفسي باقوم بتسجيل الفاتورة دون قيود بعمل زر يقوم بحذف جميع البيانات فى جدول القيود (الخاصه بالفواتير) وعمل الحاق بالبيانات كلها (الفواتير كلها مره واحده) هذه العمليه باعملها لما اكون محتاج اعمل ميزانيه او ارباح وخسائر ....... ولتبسيط فكرة الاستعلام فى السطر الاول (هتعمل استعلام الحاقي الى جدول قيود الفواتير مثلا هتجيب اجمالى الفاتورة وتضع قيمته فى جانب الدائن وفى البيان هتكتب مثلا عبارة فاورة رقم : وباقى البيانات ياخذها من الفورم وهكذا طبعا مع ملاحظه ان هناك فواتير دون ضريبه وفواتير اجله ونقديه وووو لهذا فانت هتحتاج اولا عمل ملف اكسيل بجميع انواع الفواتير للمشتريات ومرتجع المشتريات بحالاتهم (الاجله والنقدية والجذء نقدية) وايضا نفس القصه مع المبيعات بحالاتهم (الاجله والنقدية والجذء نقدية) علشان تقدر تنظم القيود لهذا الموضوع محتاج جهد ووقت لان تقريبا قد تصل عدد الاستعلامات الى 70 استعلام علشان تجعل الموضوع بشكل الى وقد يزين عن هذا بكثير حسب الحالات والموضوع قد يطول معك لذا كن صابرا وبالتوفيق ان شاء الله1 point
-
1 point
-
جرب ...عليك بربط الزر بالماكرو المسمى test ...كليك يمين على الزر ثم Assing macro ثم كليك يسار على test ثم OK نموذج بيانات الموردين.xlsm1 point
-
اخي الكريم السلام عليكم ورحمة الله وبركاته كل عام وانتم بخير هل يراودك شك احيانا في بعض الكلمات او الرموز عند تسمية الحقول هل هي محجوزة أم لا ؟ اليك الحل هدية العيد : في المرفقات تطبيق بحثي يشتمل على جميع كلمات ورموز الاكسس المحجوزة والتي يجب أخذ الحيطة عند تسمة الحقول واجتناب التسمية بها لان ذلك يؤدي الى ظهور أخطاء أمام المبرمج يخفى عليه سببها . آمل ان تجدوا الفائدة ،،، dbx.rar1 point