بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
631 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو محب العلم
-
حياك الله أخي ، الحديث يدور عن الجملة كود Me!Input = Eval(Nz(Me!Input, 0)) الاقتران Eval يقوم بحساب قيمة معلمته (يعني ما بين قوسيه) بشرط أن تكون التنيجة رقم أو نص ويرجع نتيجة الحساب في الحقل input مثال 1 : لنفرض أننا نريد نتيجة جمع 5 + 10 في الحقل input نضع الكود السابق في حدث بعد التحديث لعنصر التحكم (مربع نص) الذي مصدر بياناته الحقل input وبمجرد ما ندخل في ذلك المربع 5+10 سنحصل على النتيجة 15 وهي التي ستخزن في الحقل. مثال 2 : لنفرض أننا وضعنا كود right$("Hello All",3) فستكون النتيجة أن الحقل input ستصبح قيمته (All) لأننا نعرف أن $right ترجع لنا جزء من النص من جهة اليمين بمقدار الرقم الحدد وهو 3 حروف في هذا المثال. مثال 3 : لنفترض أننا وضعنا في input القيمة كود Dcount("*","table1") ففي هذه الحالة ستكون النتيجة التي ستخزن في الحقل input هي عدد السجلات في الجدول table1 وهكذا ... والأمثلة في استخدامات هذا الاقتران كثيرة ولكن تذكر أن النتيجة لما نضعه يجب أن تكون رقما أو نصا فقط . تحياتي
-
تفضل أخي : 1.rar
-
الأخ محسن ، السؤال الأصعب هو عن وصف الجدول بالنسبة لوصف التقرير وكذلك وصف النموذج إليك الحل Public Function GetRepDescr(ReportName As String) As Variant Static db As Database If db Is Nothing Then Set db = CurrentDb() On Error Resume Next GetRepDescr = db.Containers!Reports.Documents(ReportName).Properties!Description End Function Public Function GetFormDescr(FormName As String) As Variant Static db As Database If db Is Nothing Then Set db = CurrentDb() On Error Resume Next GetFormDescr = db.Containers!Forms.Documents(FormName).Properties!Description End Function تفضل التجربة : Description.rar تحياتي
-
تفضل أخي : Teachers.rar
-
كيفية فتح النموذج مباشرة بعد حفظ العمل وإغلاق الأكسيس
محب العلم replied to ALwaleed's topic in قسم الأكسيس Access
-
تحياتي لإخواني أبا أكرم (أكرمك الله) وموحواس تفضلا هـــــــنـــــــا
-
سؤال : كيف يتم اختراق مستويات حماية الماكرو المرتفعة ؟!
محب العلم replied to محب العلم's topic in منتدى الاكسيل Excel
شكرا جزيلا أخي أكرم على هذا الرابط -
في النموذج المرتبط بجدول..لايمكن الحفظ !؟
محب العلم replied to man_2011's topic in قسم الأكسيس Access
مان، ما لا يمكن تخزينه في الجدول هو سجل فيه رقم مفتاح اساسي مكرر ، فأنت عندما تضع المفتاح امام حقل معين عندما تصمم الجدول فهذا يعني أنك تريد لهذا الحقل أن يكون مفتاحا أساسا للجدول بمعنى أنك لا تستطيع تكراره في أكثر من سجل ولهذا يجب عند اضافة سجل جديد أن تحرص على عدم تكرار قيمة المفتاح الاساس في ذلك الحقل الذي كان امامه مفتاح وإن لم تفعل ذلك فسوف تواجه مشكلة عدم امكانية التخزين التي تتحدث عنها. أم في الجدول الذي ليس فيه مفتاح اساس فيمكن تكرار قيم الحقول السابقة في السجلات السابقة ولذلك لا تواجهك هذه المشكلة . بالتوفيق لك في تعلمك تحياتي -
إبراهيم الحل : يجب طباعة اسماء المربعات في التقرير بشكل صحيح لنفرض أن اسم النموذج f1 وأن أسم مربع النص t1 ، بمكن طباعة قيمة مربع النص غير المنضم في التقرير بعمل مربع نص في التقرير يكون مصدره forms!f1.t1= تحياتي
-
قارنت والبحث بالرقم للأسف لا يعمل بالمثالين صممت لك مفتاحي بحث خفيفين يعملان بالرقم والاسم بطريقة سهلة من النموذج الرئيس إن اعجبتك هذه الطريثة اعتمديها وإلا سأعالج لك طريقتك الطويلة SM2v2.rar تحياتي
-
السلام عليكم اعجبني هذا الموضوع القديم وأود طرحه من جديد (الموضوع القديم) كما يذكر الأخ أبو تامر فإن بعض البرامج تستطيع تجاوز حماية الماكرو المرتفعة وحتى المرتفعة جدا ، فكيف يتم ذلك ؟ ! إليكم ثلاث نقاط مهمة لها علاقة بهذا الموضوع آتية من هذا الموقع (هــــنــــا) 1. يمكن تجاوز الحماية إذا كان الملف محمي بواسطة كلمة مرور لأن أكسيل يفترض أن الحماية بكلمة سر تجعل من المصنف موثوقا ولذا تتجاوز حماية الماكرو. 2. كل ملف يشغل من هذا الدليل يتجاوز حماية الماكرو C:\Program Files\Microsoft Office\Office\XLStart 3. يمكن تجاوز الحماية عن طريق الأمر Options.VirusProtection = False الغير موجود في excel والبديل عنه مفتاح الريجستري بواسطة المفتاح [HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Excel\MicrosoftExcel] ولتفعيل الحماية نستخدم: "Options6"=dword:00000008 ولإحباط الحماية نستخدم: "Options6"=dword:00000000 تساءل أبو تامر في حينه : مما لا شك فيه أننا نستطيع الوصول للطريقة ، إنما الحكاية حكاية نقص معلومات ووقت ليس إلا .. تحياتي
-
بالنسبة للوحدة النمطية وعدم تفاعلها ربما نسيت تعمل تخزين على كل الأحوال طبقت الفكرة على book تاني واتصور ان الفكرة عال العال المف : Book1.rar تحياتي
-
حلول 1. نحول docmd.maximize من حدث عند الفتح on Open إلى حدث on Activate عند التنشيط للنموذج 2. نضع فلتر فارغ لئلا يظهر شيء عند الدخول في حدث عند الفتح للنموذج هكذا كود Private Sub Form_Open(Cancel As Integer) Me.Filter = "sid = 0 " Me.FilterOn = True End Sub 3. اضغطي هنا موضوع ذات علاقة تحياتي
-
لا يوجد حاجة إلى ثلاثة جداول تفضل التعديل : db1v1.rar تحياتي
-
بارك الله فيك أخي أبا احمد وإن شاء الله سأعمل كل ما طلبته قريبا تحياتي لك
-
تحياتي لك ، اطلعت على برنامجك واود اقتراح الحل الآتي عليك في الجدول الذي في الصفحة a والذي تعتبره مرجعا لما يليه من صفحات مثل b لا تدرج الصور هناك في الجدول بل ادرج فقط عنوان الصورة على الهارد ديسك مثلا c:\signature\1 للتوقيع الأول وهكذا بالنسبة للأختام ثم استخدم في الصفحة b اقتران لإظهار الصورة مثلا ShowPicD المرفق هنا ثم من خلال الأمر vLookup استدعي في الصفحة b عنوان الصورة ومرره للإقتران الجديد هكذا =ShowPicD(VLOOKUP(E1,a!$A$3:$E$9,4,TRUE)) وهذا الإقتران الذي يلزم تعريفه في وحدة نمطية ليتم استخدامه Function ShowPicD(PicFile As String) As Boolean Dim AC As Range Static P As Shape On Error GoTo Done Set AC = Application.Caller If PicExists(P) Then P.Delete Else For Each P In ActiveSheet.Shapes If P.Type = msoLinkedPicture Then If P.Left >= AC.Left And P.Left < AC.Left + AC.Width Then If P.Top >= AC.Top And P.Top < AC.Top + AC.Height Then P.Delete Exit For End If End If End If Next P End If Set P = ActiveSheet.Shapes.AddPicture(PicFile, True, True, AC.Left, AC.Top, 200, 200) ShowPicD = True Exit Function Done: ShowPicD = False End Function Function PicExists(P As Shape) As Boolean Dim ShapeName As String On Error GoTo NoPic If P Is Nothing Then GoTo NoPic ShapeName = P.Name PicExists = True NoPic: PicExists = False End Function أرجو منك رفع النتائج بعد الانتهاء من التجربة تحياتي
-
الاخ حسن محمد ، وأخيرا توصلت إلى الحل المطلوب وهو هكذا Private Sub Command1_Click() Dim FSO As Object, fsoFolder As Object Dim strOldFolder As String Dim strNewFolder As String 'Set variables Set FSO = CreateObject("Scripting.FileSystemObject") strOldFolder = Me.FromFolder strNewFolder = Me.ToFolder 'Test for folder existence If FSO.FolderExists(strOldFolder) Then Set fsoFolder = FSO.GetFolder(strOldFolder) 'Check for new folder existence, create if not If Not FSO.FolderExists(strNewFolder) Then FSO.CreateFolder (strNewFolder) End If 'Copy folder contents On Error Resume Next FSO.CopyFolder Source:=strOldFolder, Destination:=strNewFolder End If End Sub وإليك المثال : CopyFolder.rar تحياتي
-
الأخ شريف ، انا مستعد اعمل في هذا المشروع ، أرجو منك التبحر أكثر في عرض المسألة كما بدأت في مشاركتك الأولى لأن كل تفصيل يتعلق بالمسألة سوف يساعد في الوصول للحل وبالطريقة الصحيحة تحياتي
-
الأخ حسن محمد ، أطمئن اقتربنا بكل تأكيد من الحل ... هذا الكود يمكننا من الدوران في كل الملفات التي في مجلد معين وتغيير خاصية للقراءة فقط لها ... المفيد بالنسبة لنا هو الدوران في كل الملفات والمجلدت التي داخل مجلد وهذا هو مفتاح الحل بالتأكيد طبعا هذا باللإضافة لأحد الأكواد التي تم تجميعها سابقا Public d As Integer Private Sub Command0_Click() Set oFs = CreateObject("Scripting.FileSystemObject") strFolder = "C:\Test" Set oDir = oFs.GetFolder(strFolder) o = 0: d = 0 ScanAllSubDirs oDir MsgBox o & " File controllati" & vbCr & _ "Readonly was removed " & d & " times" & vbCr & _ "in """ & strFolder & """", (Sgn(d) * 16) + 48, "DONE" End Sub Sub ScanAllSubDirs(oFolder) For Each ofile In oFolder.files DimReadOnly ofile MsgBox ofile Next For Each oSubFolder In oFolder.subFolders DimReadOnly oSubFolder ScanAllSubDirs oSubFolder Next End Sub Sub DimReadOnly(ByRef objDat) o = o + 1 If objDat.Attributes Mod 2 = 1 Then objDat.Attributes = objDat.Attributes - 1 d = d + 1 End If End Sub تحياتي
-
المثال الثامن استخدام طرق البحث في البيانات بواسطة اقترانات البحث في مجال aggregate functions المقدمة لاحظت من خلال المشاركات أن بعض المشاركين يعانون من صعوبة البحث في الجداول باستخدم اقترانات تحديد المجال ويواجهون صعوبة في وضع شروط البحث. قمت بتصميم هذا المثال ليساعد في فهم الطريقة التي يتم بها البحث وطريقة تحديد الشروط التي لها علاقة بنوع البيانات المستخدمة. التفاصيل من اقترانات البحث في مجال معين مثل جدول Dlookup ، DFirst ، DLast ، DSum ، DCount ، DAvg ، DMax ، DMin وغيرها في المثال تم بناء جدول بيانات الطلاب : الرقم والاسم وتاريخ الميلاد و المصروف و إن كان للطالب أخ وقد اختيرت هذه البيانات بالتحديد لإختلاف أنواع البيانات فيها فالرقم (رقم Number) والاسم (نص Text) وتاريخ الميلاد (تاريخ Date) والمصروف (رقم مزدوج Double) وله أخ (منطقي Boolean) ولكي نتعلم كيف نستخدم هذه العناصر في الشروط. وقد قمت في هذا المثال بعمل عدة اسئلة وهي البحث عن طالب بواسطة الرقم ؟ البحث عن طالب بواسطة الاسم ؟ البحث عن طالب بواسطة تاريخ الميلاد ؟ البحث عن طالب بواسطة الرقم و الاسم معا ؟ البحث عن طالب بواسطة وقوع تاريخ ميلاده بين تاريخين محددين ؟ البحث عن عدد الطلاب بواسطة سنة تاريخ الميلاد ؟ البحث عن أول طالب بواسطة إبتداء اسمه بأحرف معينة؟ البحث عن أصغر تاريخ ميلاد ضمن المجموعة ؟ البحث عن مجموع المصاريف لكل الطلاب ؟ البحث عدد الطلاب الذين لهم أخ ؟ البحث عن مجموع مصروف الطلبة الذين ليس لهم أخ وولدوا في شهر بعد الذي سيتم تحديده ؟ البحث عن معدل مصروف الطلبة الذين لم يولدوا في السنة المحددة ؟ البحث عن أخر طالب في الجدول له أخ ؟ عرض اسم وتاريخ ميلاد أول طالب يظهر في الجدول؟ ولنناقش هذه الطرق والاسئلة 1. البحث عن طالب بواسطة الرقم ؟ Private Sub cmd1_Click() no = InputBox("الرجاء إدخال رقم الطالب", "ادخال") w = Nz(DLookup("[sno]", "[student]", "[sno] = " & Str(no)), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub استخدمت هنا الأقواس [ ] لحصر أسماء الحقول والجدول وهذا غير ضروري إذا كان الحقول من مقطع واحد ولكنه مهم جدا عند تكون الحقول أو اسم الجدول من مقطعين كأن يكون اسم الجدول مثلا جدول الطلاب أو يكون حقل التاريخ اسمه تاريخ الميلاد الاقتران Nz يضم لنا عدم ارجاع القيمة الفارغة Null فإذا كان الجواب Null يرجع لنا كجواب للبحث القيمة الخالية Empty ومنها نعرف نتيجة البحث لاحظ هنا كيف تم حصر الرقم بالاقتران str لتحويله إلى نص string 2. البحث عن طالب بواسطة الاسم ؟ Private Sub cmd2_Click() N = InputBox("الرجاء إدخال الاسم", "ادخال") w = Nz(DLookup("[sname]", "[student]", "[sname] = '" & N & "'"), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub لاحظ هنا مع الحقل من نوع نص كيف نستخدم علامات التنصيص المفردة ' للإحاطة بالمتغير النصي 3. البحث عن طالب بواسطة تاريخ الميلاد ؟ Private Sub cmd3_Click() D = InputBox("الرجاء إدخال تاريخ الميلاد", "ادخال") w = Nz(DLookup("[sdate]", "[student]", "[sdate] = #" & D & "#"), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub لاحظ هنا كيف نستخدم إشارة النمبر # للإحاطة بحقل من نوع تاريخ 4. البحث عن طالب بواسطة الرقم و الاسم معا ؟ Private Sub cmd4_Click() no = InputBox("الرجاء إدخال رقم الطالب", "ادخال") N = InputBox("الرجاء إدخال الاسم", "ادخال") w = Nz(DLookup("[sno]", "[student]", "[sno] = " & Str(no) & " and [sname] = '" & N & "'"), Empty) If Not IsEmpty(w) Then MsgBox "الطالب موجود" Else MsgBox "لا يوجد نتيجة" End If End Sub 5. البحث عن طالب بواسطة وقوع تاريخ ميلاده بين تاريخين محددين ؟ Private Sub cmd5_Click() D1 = InputBox("الرجاء إدخال التاريخ الأول", "ادخال") D2 = InputBox("الرجاء إدخال التاريخ الثاني", "ادخال") w = Nz(DLookup("[sdate]", "[student]", "[sdate] between #" & D1 & "# and #" & D2 & "#"), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub عملية استخدام between ولا تنسى أن حدي البحث متضمنان في البحث 6. البحث عن عدد الطلاب بواسطة سنة تاريخ الميلاد ؟ Private Sub cmd6_Click() Y = InputBox("الرجاء إدخال سنة تاريخ الميلاد", "ادخال") w = DCount("*", "[student]", "year([sdate]) = " & Str(Y)) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub لاحظ هنا طريقة المقارنة مع السنة وهي رقم 7. البحث عن أول طالب بواسطة إبتداء اسمه بأحرف معينة ؟ Private Sub cmd7_Click() N = InputBox("الرجاء إدخال بداية الاسم", "ادخال") w = Nz(DFirst("[sname]", "[student]", "[sname] Like '" & N & "*'"), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub لاحظ كيف استخدمنا Like وأين وضعنا * 8. البحث عن أصغر تاريخ ميلاد ضمن المجموعة ؟ Private Sub cmd8_Click() w = Nz(DMin("[sdate]", "[student]"), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub في بعض الاحيان لا نحتاج إلى شروط في البحث 9. البحث عن مجموع المصاريف لكل الطلاب ؟ Private Sub cmd9_Click() w = Nz(DSum("[sexp]", "[student]"), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub 10. البحث عدد الطلاب الذين لهم أخ ؟ Private Sub cmd10_Click() w = Nz(DCount("[sexp]", "[student]", "[shasbrother] = True"), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub لاحظ هنا كيف استخدمنا البحث عن حقل نعم/لا boolean منطقي واستخدام true ويمكن أيضا المقارنة العدد -1 11. البحث عن مجموع مصروف الطلبة الذين ليس لهم أخ وولدوا في شهر بعد الذي سيتم تحديده ؟ Private Sub cmd11_Click() M = InputBox("الرجاء إدخال الشهر", "ادخال") w = Nz(DSum("[sexp]", "[student]", "[shasbrother] = false and month([sdate]) > " & Str(M)), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub لاحظ كيفية صياغة الشروط المركبة مع and 12. البحث عن معدل مصروف الطلبة الذين لم يولدوا في السنة المحددة ؟ Private Sub cmd12_Click() Y = InputBox("الرجاء إدخال السنة", "ادخال") w = Nz(DAvg("[sexp]", "[student]", "year([sdate]) <> " & Str(Y)), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub <> تعني لا يساوي 13. البحث عن أخر طالب في الجدول له أخ ؟ Private Sub cmd13_Click() w = Nz(DLast("[sname]", "[student]", "[shasbrother] = True"), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub 14. عرض اسم وتاريخ ميلاد أول طالب يظهر في الجدول ؟ Private Sub cmd14_Click() w = Nz(DFirst("[sname] & ' ' & [sdate]", "[student]"), Empty) If Not IsEmpty(w) Then MsgBox w Else MsgBox "لا يوجد نتيجة" End If End Sub لاحظ علاملات التنصيص المفردة ' وذلك لترك فراغ بين الرقم والاسم المثال : aggregate.rar تحياتي
-
أرجو فضلا تصحيح عنوان الموضوع إلى (سلسلة الأمثلة المشروحة) ولكم جزيل الشكر والامتنان تحياتي
-
السلام عليكم تمام ، على كل الأحول ما فعلناه سابقا بخصوص عدم تكرار الحقل عند الادخال في النموذج هو مفيد جدا للبرنامج أما بالنسبة لضبط التقرير بالطريقة التي تعرضها فقد تم أيضا في التعديل الجديد ولاحظ أن الطباعة من داخل النموذج من زر طباعة المعلومات. الملف المعدل :update3.rar تحياتي