بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
لا يمكن حذف البيانات من جميع الجداول باستعمال استعلام واحد ، لذا يجب عمل استعلام حذف مستقل بكل جدول ، وفي الكود تقوم بتشغيل الاستعلامات واحدة خلف الاخرى ، هكذا: لا تعرض رسالة حذف البيانات التحذيرية docmd.setwarnings false الآن نشغل جميع استعلامات الحذف docmd.openquery "qry_1" docmd.openquery "qry_2" docmd.openquery "qry_3" الآن اعرض جميع الرسائل التحذيرية docmd.setwarnings true . . انا اعطيتك الطريقة لعمل هذا الاستعلام للحقل تاريخ الميلاد ، فكل اللي عليك عمله هو تغيير الحقل الى "تاريخ تقديم المادة" مع الحفاظ على المعيار بين التاريخين. جعفر
-
مربع تحرير وسرد لتحديد لغه الادخال فى الفورم
jjafferr replied to محمد سعيد رشاد's topic in قسم الأكسيس Access
. لما قلت لي: . فهمت منها انك فهمتها وطبقتها!! وإلا ، كان بإمكانك ان تستوضح أكثر!! على العموم ، مثل ما قلت سابقا ، استعمل طريقة أخي محمود ، وياريت انك تسجل اعجابك بمشاركته . لا الفكرة جدا بسيطة ، فبدل ان تعمل alt+shift يدويا ، يقوم الكود بعمله جعفر -
البحث عن اي جزء من الكلمة (عنوان معدل)
jjafferr replied to بسام محمد صالح شعلان's topic in قسم الأكسيس Access
السلام عليكم أخي بسام لأن سؤالك توسع ، فرأيت ان اعمل موضوع منفصل لتعم الفائدة رجاء مراجعة الرابط التالي: http://www.officena.net/ib/topic/65856-هدية-البحث-عن-اي-جزء-من-الكلمة-،-في-اي-عدد-من-الحقول/ جعفر -
السلام عليكم ورحمة الله وبركاته الموضوع هذا بدأ بسؤال الرابط التالي: http://www.officena.net/ib/topic/65783-البحث-عن-اي-جزء-من-الكلمة-عنوان-معدل/ ولكن لأني غيرت الكود وجعلته يبحث في اي عدد من الحقول في السجل ، لذا رأيت ان اجعل له موضوعا مستقلا يمكنك البحث عن اي جزء من الكلمة ، واذا اردت البحث عن كلمة اخرى في السجل او جزء منها ، فما عليك الا ان تضع (مسافة او / او *) بين الكلمات ، فسيعتبرها البرنامج على انها كلمة اخرى يجب البحث عنها. الشئ المهم في الكود هو طريقة إضافة حقول جديدة للبحث فيها: هذا اول حقل يتم البحث فيه fld = "[كلمات ارشادية]" لما نريد ان نضيف حقول إضافية للبحث فيها ، يجب ان يكون الكود كالتالي fld = fld & " & ' ' & " & "[موضوع الخطاب]" fld = fld & " & ' ' & " & "[my other field]" وكل ما عليك الآن هو ان تطبع وترى نتيجة بحثك: . ملاحظة مهمة: اذا كان برنامجك على الشبكة ، فلا تضع الكود على "حدث التغيير" (معناه ، كلما اضفت/حذفت حرف ، فارجع الى الجدول وخذ البيانات منه) ، لأنه سيجعل البرنامج جدا بطئ ، وانما استخدم زر البحث. جعفر 309.Search_as_you_Type_Multiple_Fields_jj.mdb.zip
- 20 replies
-
- 11
-
-
حياك الله
-
مربع تحرير وسرد لتحديد لغه الادخال فى الفورم
jjafferr replied to محمد سعيد رشاد's topic in قسم الأكسيس Access
وعليكم السلام أخي محمود في الواقع اذا كان قصد الاخ محمد سعيد ان يغير لغة الكمبيوتر ، ويحتفظ بهذا التغيير لكل البرنامج (وليس للنموذج الذي هو عليه الان فقط) ،فطريقتك هي الاسهل والافضل ، (مع مراعاة إضافة كود محاذاة الحقل لليمين او اليسار عند الكتابة) اما اذا كان القصد للنموذج الحالي فقط ، فكذلك طريقة الاخ محمود الافضل ، مع مراعاة تغيير اللغة عند الخروج من النموذج الحالي ، (مع مراعاة إضافة كود محاذاة الحقل لليمين او اليسار عند الكتابة) طريقتي لا تلعب/تغير إعدادات الكمبيوتر ، وانما تستغل الاعدادات الموجودة في نماذج/حقول الاكسس جعفر -
وعليكم السلام الظاهر ان الكود اللي عملته الان صحيح ولكنك لم ترسل اي قيمة بالحقل EmpID ، اي ان الحقل EmpID فارغ ، لها السبب لا يوجد لديك سجل حيث قيمة EmpID تساوي لا شئ!! ولأني لا ارى برنامجك ، ومن خلال الصورة السابقة اللي ارفقتها انت ، ارى انك عملت الكود على حدث زر ، ولم تعمله كما قلت لك: . عندما تنقر على EmpID ، فقيمة EmpID ممكن اخذها من السجل الذي تم النقر عليه ، واما عندما تنقر في اي مكان آخر (زر الامر مثلا) ، فقيمة EmpID غير متوفرة!! جعفر
-
ممكن تشوف الرابط التالي ، كيف اني جعلت التقرير (وهو عبارة عن رسالة رسمية) بدون مربعات النص والمسافات اللي بينها ، فالبيانات اصبحت جزء من التقرير: http://www.officena.net/ib/topic/63872-مساعدة-بمعاينة-وطباعة-التقرير/?do=findComment&comment=416983 جعفر رجاء فتح سؤال خاص لهذا الموضوع ، والشباب ما بيقصروا معاك ان شاء الله جعفر
-
تفضل تم تغيير اعدادات النموذج "عقد ايجار" ، حتى يُظهر جميع السجلات (بدل ان يكون لإدخال البيانات فقط) ، تم عمل الاستعلام الالحاقي qry_Contracts_Append ، والذي يعمل نسخة من السجل الحالي في النموذج ، ويغير تاريخ الدخول الى تاريخ اليوم ، الاستعلام الالحاقي يعمل على الزر "عقد جديد" ، والذي يستنسخ العقد الحالي في النموذج ، ويعمل نسخة جديدة منه دون تغيير اي من البيانات ، سوى تاريخ الدخول ، عندك مشكلة اذا اردت تكرار رقم العقد ، فهو "رقم تلقائي" في الجدول ولا يمكن تكراره. جعفر 312.Rent_Renew.accdb.zip
-
طرح أرقام ليكون الناتج (يوم) ، (شهر) ، (سنة)
jjafferr replied to Omar_Kreem's topic in قسم الأكسيس Access
السلام عليكم أخي عمر في الواقع اخي شوقي قد اعطاك الجواب ، وانا جمعته مع بعض هذه النتيجة: . هنا انا استعملت استعلام لأقوم بالحسابات المطلوبة ، واستخدمت هذا الاستعلام كمصدر للتقرير. وستلاحظ اني حولت السنة/الشهر/اليوم الى تاريخ من (1) ، وتاريخ الى (2) ، ثم ارسلت هذين التاريخين الى الوحدة النمطية التي تخص المطلوب (يعني وحدة نمطية للسنين ، واخرى للاشهر وثالثة للايام ، والتي ارفقها الاخي شوقي في مشاركته في الموضوع). وهذا هو الكود: Option Compare Database Function CalcAge(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcAge = vYears & " ÓäÉ, " & vMonths & " ÔåÑ, " & vDays & " íæã" End Function Function CalcYears(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcYears = vYears End Function Function CalcMonths(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcMonths = vMonths End Function Function CalcDays(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcDays = vDays End Function جعفر 310.N1.mdb.zip -
أخي الفاضل لو تكرمت تخبرنا اسم النموذج الذي تريد ان تكرر سجله ، وتعطينا اي معلومات اخرى تفيدنا لهذه العملية
-
اولا العفو ثانيا انا اعتذر ثالثا لو وضعت انا المثال ، فستسألني ان اضعه في برنامجك ، ثم يا أخي انت صاحب السؤال ، تجمّل علينا بالجزئية من برنامجك اللي تريد العمل فيها ، لوسمحت
-
نعم اختي قومي بعمل استعلام الحاقي ، يأخذ بياناته من النموذج ، على اساس ID الموجود في النموذج مثلا ، يعني الحقي هذا السجل بنفس الجدول (وهنا يفضل ان يكون عندك حقل للترقيم التلقائي ، والذي يجب ان لا يكون في الاستعام الالحاقي). جعفر
-
الظاهر انك اخطأت في نسخ الكود الى برنامجك!! قارن بين كودك والكود اللي انا وضعته ، وستلاحظ انك التهمت الفواصل الاربعة ، ماشاء الله عليك ، اربعتهم وما لاحظت!! جعفر
-
وعليكم السلام نفترض ان النموذج الرئيسي اسمه frm_1 ، والنموذج الفرعي فيه اسمه sfrm_1 ، بينما النموذج القاني اسمه frm_2 ، ضع الكود التالي (يجب ان تختار اخد السطربن) على خدث النقر المزدوج على للحقل id في النموذج frm_1 او sfrm_1 : اذا كان id رقم DoCmd.OpenForm "frm_2", , , "[id]= " & Me.id واذا كان id نص DoCmd.OpenForm "frm_2", , , "[id]= '" & Me.id & "'" جعفر
-
وعليكم السلام اخي شوقي شوف الرابط ، المثال سيفيدك: http://www.officena.net/ib/topic/65783-توضيح-في-الاستعلام/ جعفر
-
مربع تحرير وسرد لتحديد لغه الادخال فى الفورم
jjafferr replied to محمد سعيد رشاد's topic in قسم الأكسيس Access
وعليكم السلام نعم تستطيع بكود مشابه: Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then 'English ctl.ReadingOrder = 1 ctl.KeyboardLanguage = 11 'Arabic ctl.ReadingOrder = 2 ctl.KeyboardLanguage = 3 ElseIf ctl.ControlType = acComboBox Then 'English ctl.KeyboardLanguage = 11 'Arabic ctl.KeyboardLanguage = 3 End If Next جعفر -
اعمل استعلام ، واربط الجدولين برقم الموظف ، انزل الحقول اللي تريدها ، واحفظ الاستعلام. الان انظر الى الرابط التالي ، وغير في الكود ، بدل اسم الجدول استعمل الاستعلام ، وغير اسم حقل البحث: http://www.officena.net/ib/topic/65783-توضيح-في-الاستعلام/ جعفر
-
طرح أرقام ليكون الناتج (يوم) ، (شهر) ، (سنة)
jjafferr replied to Omar_Kreem's topic in قسم الأكسيس Access
أخي عمر هل تريد: 1. طرح 11 شهر من 8 اشهر ، 2. ام تريد طرح الشهر 11 من الشهر 8؟ طبعا مافي فرق بينهم بالطريقة الاعتيادية ، ولكن الفرق يكون لما تريد تخصم الايام/الاشهر ، الاصغر من الاكبر ، يعني شوف المثال هذا: 5 يوم ، 8 شهر ، 13 سنة - 18 يوم ، 11 شهر ، 5 سنة = 5 +31 (لأننا اخذنا الشهر 8 وحولناه الى ايام ، والشهر 8 فيه 31 يوم) ، 7 + 12 (لأننا اخذنا سنه وحولناها الى 12 شهر) ، 12 سنة - 18 يوم ، 11 شهر ، 5 سنة وتصبح النتيجة (5+31) - 18 ، (7+12) - 11 ، 12 - 5 = 18 يوم ، 8 شهر ، 7 سنة جعفر -
وعليكم السلام هنا كان في نقاش طويل حول هذا الموضوع ، واتضح ان الاكسس/الكود هو جزء من المشكلة ، وليس كل المشكلة: http://www.officena.net/ib/topic/65045-كود-طباعة-باركود-علي-ملسقات-طابعة-زبرا/ جعفر
-
البحث عن اي جزء من الكلمة (عنوان معدل)
jjafferr replied to بسام محمد صالح شعلان's topic in قسم الأكسيس Access
السلام عليكم المسألة كانت تحدي ، وقبلت التحدي انا غيرت اسماء النموذج الرئيسي والفرعي الى اسماء frm_Search و sfrm_Search. الآن يمكنك البحث عن اي جزء من الكلمة ، واذا اردت البحث عن كلمة اخرى في السجل ، فما عليك الا ان تضع (مسافة او / او *) بين الكلمات ، فسيعتبرها البرنامج على انها كلمة اخرى يجب البحث عنها: . والكود: Option Compare Database Dim mySQL As String Dim mySQL1 As String Private Sub Form_Load() mySQL = "Select * From [المستندات]" Me.n2 = "" If Len(Me.n2 & "") = 0 Then Me.sfrm_Search.Form.RecordSource = mySQL End If End Sub Private Sub n2_Change() 'do the initial subform Record Source mySQL1 = "Select * From [المستندات]" mySQL = mySQL1 & " Where" 'now we want to split the search code into smaller bits, 'if seperate by / \ * or space, then change this seperator to | (a unique letter), 'this way we will have more than ONE word to search for Dim x() As String Dim A As String A = Me.n2.Text A = Replace(A, "/", "|") A = Replace(A, "\", "|") A = Replace(A, " ", "|") A = Replace(A, "*", "|") 'the words are split and ready x = Split(A, "|") If UBound(x) = 0 Then 'Still one word, search for it mySQL = mySQL & " [كلمات ارشادية]" mySQL = mySQL & " Like '*" & x(i) & "*'" Else 'it is ONE word and a seperate by / \ * or space, 'so lets make a Where statement for each seperate word For i = LBound(x) To UBound(x) If i = 0 Then 'its a word and a seperator, the NEXT word is NOT added yet mySQL = mySQL & " [كلمات ارشادية]" mySQL = mySQL & " Like '*" & x(i) & "*'" Else 'its multiple words, add the AND command between each word mySQL = mySQL & " AND [كلمات ارشادية]" mySQL = mySQL & " Like '*" & x(i) & "*'" End If Next i End If 'if the Search field is Empty, use the initial mySQL1 Me.n2.SetFocus If Len(Me.n2.Text & "") = 0 Then mySQL = mySQL1 End If 'Debug.Print mySQL Me.sfrm_Search.Form.RecordSource = mySQL End Sub . ملاحظة مهمة: اذا كان برنامجك على الشبكة ، فلا تضع الكود على "حدث التغيير" (معناه ، كلما اضفت/حذفت حرف ، فارجع الى الجدول وخذ البيانات منه) ، لأنه سيجعل البرنامج جدا بطئ ، وانما استخدم زر البحث. جعفر 309.Search_as_you_Type_jj.mdb.zip 309.Search_as_you_Type_jj.mdb.zip -
أخي محمد ومن قال انه في طريقة واحدة لتحقيق المطلوب!! هناك مجموعة طرق ، والكود دائما موجود ، فلهذا السبب ، وبعيد عن يصير/مايصير ، ارفق مثالك واخبرنا الحقول والجداول ، وخلينا نحاول جعفر
-
Parent بمعنى والدين وبما اننا ننادي من النموذج الفرعي ، ننادي حقل في النموذج الرئيسي ، فلهذا السبب نخبر الكمبيوتر ان الحقل n1 موجود في النموذج الاب (النموذج الرئيسي) جعفر
-
هلا اخوي سلمان بنفس الطريقة اللي قال لك اياها اخونا ابو خليل هنا: http://www.officena.net/ib/topic/61220-مشكله-في-اداه-الصور-وتسجيل-مكتبة/?do=findComment&comment=394460 جعفر
-
هل يمكن اضافة قيم الى اختيارات كومبوبوكس
jjafferr replied to اأبو مصطفى's topic in قسم الأكسيس Access
في اي نموذج؟