بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
211 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
3
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه Gamal.Saad
-
-
1 hour ago, alzahrani07 said:
لكن إذا أضطر الأمر أستخدم كود خاص
Function
مو مشكلة المهم يكون سهل التعديل لإني شفت حل عن طريق موقع أجنبي لكن طويل جداً وصعب جداً ..........
سيبك من الأجانب دول تفكيرهم تقليدي
1 + 1
= 2
وده طبعا مينفعش معانا
لازم تبتكر يعني مثلا
1+1
= 3 - 1
المهم فكرة الدالة على السريع إنها بتشوف القيم المسجلة في المربعات الثلاثة مجتمعة
وبناءا على تلك القيم يتم انشاء كود استعلام
ثم نجعله مصدر النموذج
لذلك لكي تطبق الدالة عليك أولا أن تختار مصدر بيانات النموذج هو الجدول
وثانيا تكتب الكود التالي في محرر الفيجوال بيسك
وجرب
واعمل أكثر من تجربة
مرة قيمة خالية هنا
ومرة قيمتين خاليتين هناك وهكذا
Option Compare Database Dim strSQL, a, b, c As String Private Sub SectionSearch_AfterUpdate() rs End Sub Private Sub StatusSearch_AfterUpdate() rs End Sub Private Sub UserSearch_AfterUpdate() rs End Sub Function rs() strSQL = "" a = strSQL & IIf(Nz(Me.UserSearch, 0) = 0, "", " (Table1.User) Like '*" & "" & Me.UserSearch & "" & "*'") b = strSQL & IIf(Nz(Me.SectionSearch, 0) = 0, "", " (Table1.Section) Like '*" & "" & Me.SectionSearch & "" & "*'") c = strSQL & IIf(Nz(Me.StatusSearch, 0) = 0, "", " (Table1.Status) Like '*" & "" & Me.StatusSearch & "" & "*'") If Nz(Me.UserSearch, 0) = 0 And Nz(Me.SectionSearch, 0) = 0 And Nz(Me.StatusSearch, 0) = 0 Then Me.RecordSource = "SELECT Table1.ID, Table1.User, Table1.Section, Table1.Status FROM Table1; " Else strSQL = "SELECT Table1.ID, Table1.User, Table1.Section, Table1.Status FROM Table1 WHERE " If Nz(Me.UserSearch, 0) <> 0 Then strSQL = strSQL & a If Nz(Me.SectionSearch, 0) <> 0 Then strSQL = strSQL & " and " & b If Nz(Me.StatusSearch, 0) <> 0 Then strSQL = strSQL & " and " & c Else If Nz(Me.StatusSearch, 0) <> 0 Then strSQL = strSQL & " and " & c End If Else If Nz(Me.SectionSearch, 0) <> 0 Then strSQL = strSQL & b If Nz(Me.StatusSearch, 0) <> 0 Then strSQL = strSQL & " and " & c Else If Nz(Me.StatusSearch, 0) <> 0 Then strSQL = strSQL & c End If End If Me.RecordSource = strSQL End If Me.Requery End Function
- 3
-
تمام
الحمد لله أنا وصلت لنسبة فهم مرتفعة تتجاوز
50%
وهذا يكفي لبدء التجربة
وسأوافيك بالجديد إن شاء الله
- 1
-
ههههههه
مش عارف أنت مش محظوظ معايا ليه
على العموم الملف كان عندي شغال
ولما أنا غيرت الاسم لكي ألأرفعه لك لم أنتبه لوجود مسافات بالاسم الجديد
والمسافات تسبب مشكلة عند استخدام معاملات برنامج الضغط
لذلك حذفت المسافات واشتغل عندي طبيعي
-
باستخدام الاستعلام يمكنك تحديد الاسماء المكررة وعدد مرات التكرار كما بالصورة
وهناك معالج انشاء الاستعلام يمكنك انشاء استعلام باختيار نوع استعلام القيم المكررة
Find duplicate query wizard
32 minutes ago, حمدى الظابط said:الكود المودود فى المرفق اعلاه يعمل جيدا اذا كام بدون دله تجميعية ولا يعمل مع الدلة التجميعية ويرسل رسالة خطأ فى الدلة
فعلا أنا لم أستخدم دالة استخراج وفصل اسم الاب الموجودة في مرفقك الأول
وعملت كود جديد
-
Quote
طيب فى حالة انه ملقاش التصنيف ده فى جدول المنتجات او كان التصنيف فارغ يبقى الصنف ده مكونات وبالتالى يقوم عامل اضافة او صرف بدون حساب اى معادلات او اى شئ ولكن ادراج سجل عادى بصورة طبيعية
هل تقصد :
أن طريقة حساب متوسط السعر لن تعمل لأصناف المكونات مثل الماوس ولوحة المفاتيح والهادر دسك وخلافه
وستعمل فقط مع الاصناف المسجلة في جدول المنتجات في حالة وجودها في جدول الحركة
النقطة دي مبهمة
كما قلت لك سأبدأ بالدالة الحسابية التي تبدأ مع جدول الحركة
لذلك أخبرني لو السجل به صنف مكونات منتج معين
وقمنا بالاضافة أو الخصم
ولو السجل به منتج رئيسي وقمنا بالاضافة أو الخصم
ودور الدالة الحسابية التي تحسب متوسط السعر هل تحسب للجميع أم ماذا ؟
واعذرني فالموضوع كله تنظيمي وتخطيطي لا أكثر ومن السهل تطبيق المعادلات واحضار القيم
لكن طبقا لطريقة شرح عملية بأصناف و أرقام حسابية
-
@ابوخليل بعد إذن أستاذنا
@رمهان وبعد إذن أستاذنا
@alzahrani07 أستاذ
سيادتك ما تريد فلتر
وما تريد قيمة افتراضية
فهل تريد حل يعتمد على استخدام دالة
Function
وتؤدي طلبك بدون فلتر وبدون استبدال قيم ؟
وتعتمد على تكوين استعلام مخصص لطلبك
ويمكن أن تبحث بحث متعدد للثلاثة مربعات بحث معا أو فرادي أو حسب ما تريد الجمع بينهم
وأنا أريد أن أعرف رأيك كي لا أضيع الوقت في الدالة ثم تقول لي لا أريد هذه الطريقة
-
1 hour ago, elkareee said:
بالطريقة دى هتوقعنا فى مطبات ومشاكل مش معمول حسابها
حاول تكون أي طريقة تبدأ وتعتمد على الدالة الحسابية السابق عملها
ثم نقوم بدخال تعديلات عليها
-
اسم برنامجك مميز
هههههههه
المفروض مصدر البيانات يكون مربع النص الذي تكتب فيه
وليس العنوان المرافق لمربع النص
- 1
-
أعتقد أهم مشكلة نبدأ بيها هي هذه النقطة
8 hours ago, elkareee said:على فكرة هعزمك على أكلة كوارع لما الفكرة دى تتم
هههههههه
ووعد الحر دين عليه
8 hours ago, elkareee said:لما اكتب الكمية فى خانة الوارد (In AfterUpdate) يقوم باحث عن الكود فى جدول المنتجات لو لقاه يبقى الصنف ده منتج تام يقوم جامع اخر متوسطات اسعار لمكونات المنتج ويكتبها فى AvgPrice ثم يضربها فى قيمة الوارد اللى انا هكتبها ويكتب الناتج فى zvalue ثم ينسخ الناتج ويضيفه فى Price فى الجدول التانى يعنى نفس طريقة مرفقك بس بيها بعض التعديل طيب فى حالة انه ملقاهوش فى جدول المنتجات يبقى يضيف الكمية بدون ما يشغل اى معادلات خااالص لأنه فى الحالة دى هيبقى مكون وبالتالى هندخل فى الفورم التانى بتاع التقييمات نديله قيمه وساعتها هيتحسب زى ماحنا عاوزين معايا ؟؟ .
طيب الحالة التانية طبعا منطقيا الصرف بيتم بعد الاضافة تمام ؟. طيب فى حالة الصرف يعنى Out AfterUpdate
صاحبنا هيقوم باحث عن الكود فى جدول المنتجات ولو لقاه يقوم جايب اخر متوسط سعر للمنتج (ماهو هنا بقى هيبقى اتقيم قبل كده وقيمته موجودة فى الجداول ) ويقوم كاتبه فى AvgPrice ويضربه فى كمية الصادر ويكتب فى zvalue قيمة الحركة وبلاش يكتب متوسط السعر تانى فى جدول المنتجات لأنه فى الحالة دى متغيرش اساسا عن المرة اللى فاتت طيب ولو ملقاهوش برده يضيف حركة الصرف بدون تشغيل اى معادلات زى فوق كده واحنا فى نموذج التقييم هنتعامل معاه تماااام ؟؟؟
وطبعا فى كل الحالات بيحسب رصيد بعد الحركة الأول عشان يحسب بناء عليه قيمة الرصيد المتبقى زى مانتا عارف
تمام تمام
هحاول إن شاء الله أطبق كلامك على ملف تقييم 6
وزي ما أنت قلت كلها تجارب وتعديلات
مفيش حاجة فنية مستحيلة
لكن اليوم عندي الوقت ضيق لذلك أعطني وقتا طوال اليوم
وأقرب تعديل سأوافيك به إن شاء الله
-
جرب المرفق
-
5 hours ago, elkareee said:
مشكور استاذ جمال بس حابب اوضحلك الخطوة الجاية بالنسبة ليا عشان متعملش حاجة ونرجع نغير فى الفكرة
أوك
تقريبا أنا أشعر أني أفهمك لكن شعور مش أكيد
بمعنى
لو المنتج مثلا جهاز كمبيوتر غير موجود سعر له سنتبع الطريقة القديمة لحساب السعر ثم نسجل السعر في جدول المنتجات
وفي المرة التالية نستعين بهذا الرقم وهو عبارة عن متوسطات أسعار مكوناته لحساب القيمة
أليس كذلك ؟
طيب
بالنسبة للمكونات الفرعية للمنتج زي لوحة المفاتيح مثلا
فين هيتسجل سعرها ؟ هل في جدول المنتجات زي جهاز الكمبيوتر ؟
على العموم جرب المرفق وممكن نعدل عادي
- 1
-
هلا أخي
أرجو أن تلتمس لي وللزملاء العذر
فلديك جدول باسم
Ded_K4_In
وأنت ذكرت جدول
K4_History
فما علاقة الجدولين ببعض؟
وأين التاريخ الذي تقصده؟ شو اسم الحقل المسجل به التاريخ؟ لم أجد أي تواريخ مسجلة بالجداول
وأرجو ارفاق مثال يحتوى فقط على النماذج والاستعلامات والجداول والتقارير
التي تخدم طلبك
حتى لا يتشتت من يريد مساعدتك
وتقبل تحياتي
وكل عام وأنتم بخير
- 1
-
31 minutes ago, elkareee said:
تفضل مثال على الاكسل لتأكيد المطلوب
تمام تمام
الحمد لله فهمت برغم أن ملف الاكسل الارقام والخامات مش مطابقة لنفس ملف الأكسس
على العموم ينقص فقط استعلام أخير للتحديث وسأرفع لك الملف إن شاء الله لتجربته لكن بعد عودتي من العمل
وإن شاء الله خير
- 1
-
زين
علشان أتأكد أني فهمت
في مثالك:
المطلوب قيمة السعر في جدول المنتجات
field: price ________ table: products
وهذا يساوي
آخر متوسط سعر لكل مكون من مكونات هذا المنتج مضروباً في العدد الموجود بالجدول بوم
field: con____________ table: Bom
ثم نجمع ما سبق
اذا كان فهمي خطأ فأرجو التوضيح بأرقام حسابية من خلال التطبيق على المثال السابق ارفاقه أو مثال آخر
مع توضيح العدد
0.0002083335
الموجود بجدول بوم هو ناتج ايه ؟
- 1
-
2 hours ago, elkareee said:
أستاذنا @Gamal.Saad وحشتنا محتاجك هنا اظنك هتندمج فى الموضوع بسرعة لدرايتك السابقة به وهتفهم انا محتاج ايه بالظبط
مشكور أخي محمد بك زينة شباب المنصورة
أنا أتمنى طبعا من الله التوفيق لك والمساعدة سواء عن طريقي أو طريق أساتذة المنتدى المحترفين
لكن نبدأ بطلبك الأول حيث عندي استفسارين:
واعذرني بسبب تداخل الكلمات الانجليزية مع العربية وصعوبة ربطهما بالنسبة لي حيث تبدو متداخلة عندي في المتصفح
هل تريد حساب تكلفة الأصناف وذلك بالمعادلة الحسابية في جدول الحركة وهي حاصل ضرب متوسط السعر في الكمية الواردة
أم حاصل ضرب متوسط السعر في العدد
con
?
وهل تريد حساب التكلفة للأصناف الرئيسية بجدول المنتجات
أو بالأصناف الفرعية بجدول
Bom
؟
- 1
-
نفذت لك الفكرة التي أخبرتك عنها سابقا وهي الاستعانة بجدول وسيط
لكن ارجو أن تنتبه إلى أن البرنامج يتعامل مع الاسماء التالية باعتبار أنهم
ليسوا أخوة
مثلا
"حمدي الظايط طه عبدالرحمن"
" فتحي الظايط طه عبدالرحمن محمد"
نظرا لعدم كتابة الاسم الرباعي في أحدهم
- 1
-
أهااا
تريد أن تكتب داخل
vba
لكل نموذج
وليس أن يعمل الكود لكل النماذج !
يبدو أن النماذج لديك كثيرة للغاية
على العموم سأجرب لك
[Event Procedure]
ولو توصلت لنتيجة سأوافيك إن شاء الله
- 1
-
13 hours ago, king5star said:
للرفع
هههههههه
لا أعلم من الذي يجب عليه أن يقولها أنا أم أنت
On ٩/٦/٢٠١٧ at 11:09 AM, Gamal.Saad said:في حدث عند التحميل يرفض النموذج أمر الفتح الجديد في وضع التصميم
DoCmd.OpenForm Name_Frm, acViewDesign
أوك
هل تريد تشغيل الكود لكافة النماذج عدا النموذج الحالي في كل مرة يفتح فيها النموذج الحالي ؟
أم تريد تشغيل الكود لكافة النماذج عدا النموذج الحالي مرة واحدة فقط أثناء فتح النموذج الحالي؟
أم تريد تشغيل الكود لكل النماذج بما فيهم النموذج الحالي في كل مرة فتح فيها النموذج الحالي ؟
أم تريد تشغيل الكود لكل النماذج بما فيهم النموذج الحالي مرة واحدة فقط أثناء فتح النموذج الحالي؟
الحالات الأربعة شبه متاحة من الوهلة الأولى فيما عدا حالة واحدة
للرفع
+
up
- 1
-
ممتاز
أفضل الأشياء عندك هي
دعاؤك للغير
استيعابك وتطويرك للحل بعدما تعرفه
وفقك الله في برنامجك وجزاك بمثل ما دعوت به
-
24 minutes ago, حمدى الظابط said:
السلام عليكم استاذ جمال
الغرض من الدلة التجميعية لاستخراج اسم ولى الامر من اسم الطالب فقط لتوفير الجهد على المستخدم وعدم اعادة كتابة اسم ولى الامر مره اخرى وكذالك ظهور تكرار اسم ولى الامر يعنى ظهور عدد الاخوات يعنى اذا ظهر تكرار ولى الامر مرتين يكون عدد الاخوات اتنين ولو ظهر اسم ولى الامر ثلاث مرات يكون عدد الاخوات ثلاثة وهكذا واستطيع من هنا ان يأخذ اسم ولى الامر رقم كود موحد لكل ابن من الابناء فعند استدعاء هذا الكود يظهر لى ولى الامر بعدد الابناء وقيمة المصروفات المدفوعة وكذلك المتبقية
اتمنى ان تكون الفكرة وصلت ولك تحياتى
تمام وصلت الفكرة
ولكي تحل المشكلة جرب تقوم بعمل جدول مؤقت لالحاق البيانات من استعلام1
ثم تقوم باستخراج الاسماء المتشابهة من الجدول المؤقت
ثم تحدث الجدول الأصلي
والنجاح مؤكد إن شاء الله
لكن تبقى مشكلة تصحيح البيانات
يعني تحذف المسافات الزائدة وتوحد الهمزات وخلافه في الجدول الأصلي قبل بداية الحل حتى تكون النتيجة صحيحة
-
وعليكم السلام ورحمة الله وبركاته
16 minutes ago, alwasili said:صراحة وجدت مثال رائع للبحث عن السجلات
فعلا ويعطيك امكانية لاختيار الحقل الذي تريد البحث فيه ويظهر كل شيئ أمامك في النموذج
17 minutes ago, alwasili said:ولكني عجزت في تطبيق ذلك على اعمالي
أرفق ملف بسيط لبرنامج لك وسنحاول إن شاء الله التطبيق
19 minutes ago, alwasili said:شرح الطريقة حتى يستفيد منها جميع الاعضاء بالمنتدى .
كما ترى الطريقة تتلخص في كود الفلترة التالي
Private Sub comb_Search_AfterUpdate() On Error Resume Next Me.Filter = Nz(comb_Search, "id") & " Like ""*" & txt_Search & "*""": Me.FilterOn = True End Sub ''ÑãåÇä ''ÇæÝíÓäÇ Private Sub txt_Search_Change() On Error Resume Next FindAsType = txt_Search.Text Me.Filter = (Nz(comb_Search, "ID")) & " Like ""*" & FindAsType & "*""": Me.FilterOn = True txt_Search.SetFocus txt_Search = FindAsType txt_Search.SelStart = Len(FindAsType) End Sub
الجزء الأول من الكود يقوم بالفترة اذا قمت باختيار حقل الفلترة وتستند الفلترة على القيم الموجودة في مربع البحث
والجزء الثاني يقوم بالفلترة مع كتابة أي شيئ في مربع البحث
لكن هناك خطأ في الكود التالي :
Nz(comb_Search, "id")
المفترض أنه اذا لم تقم باختيار حقل للبحث فإنه تلقائيا يختار الحقل
ID
وهو حقل غير موجود في مصدر البيانات مما تظهر معه رسالة خطأ
وربما هذا ما يحدث معك عندما تحاول تطبيق المثال لذلك يجب أن تستبدله في مثالك المرفق وفي برامجك باسم الحقل الصحيح
شيئ آخر :
جرب استبدال الكود كاملاً بهذا الكود التالي وانظر الفرق
Option Compare Database Private Sub comb_Search_AfterUpdate() Me.Filter = Nz(comb_Search, "CustomerID") & " Like ""*" & txt_Search & "*""": Me.FilterOn = True End Sub Private Sub txt_Search_Change() Me.Filter = (Nz(comb_Search, "CustomerID")) & " Like ""*" & txt_Search.Text & "*""": Me.FilterOn = True txt_Search.SetFocus txt_Search.SelStart = Len(txt_Search.Text) End Sub
وأخيرا :
ربما يكون عدم التطبيق في برامجك راجع إلى الفلترة في اللغة العربية حيث أن المثال لا يدعم الحروف المتشابهة مثل الهمزات إلى آخره
ولكن طبعا يمكن تطويره سواء للبحث في داخل كل الحقول في نفس الوقت أو في دعم الحروف العربية المتشابهة
لأنه مثال رائع وقوته في البساطة والفكرة الجديدة
وشكرا جزيلا لمن قام بهذا العمل ولكل أساتذة المنتدى الأكفاء
- 2
-
17 hours ago, حمدى الظابط said:
ومن هنا تأتى المشكلة بعد تجربة البرنامج عندما نبحث يدويا عن اسماء اولياء الامور المتشابه فى اكثر من 3000 سجل يعطى نتائج غير مضمونة وغير صحيحة ومجهود على المستخدم
المطلوب كيف يتم استخراج اسماء اولياء الامور الذين لهم اخوات بالمدرسة واستدعائهم من السجلات تلقائيا
أعتقد أن الخطأ ليس في البرنامج ولكن في البيانات المدخلة وستجد اختلاف في كثير من أسماء أولياء الأمور المفترض أنهم متشابهين لكن بكل منهم حروف مختلفة أو زائدة
والأفضل مرجعية اسم ولي الأمر لشيئ أكثر ثباتا مثل الرقم القومي لولي الأمر أثناء عملية ادخال البيانات
17 hours ago, حمدى الظابط said:ولكن المهمة فشلت لان اسم ولى الامر معتمد على دله تجميعية من وحدة نمطية
أنا بس عندي استفسار بخصوص الدالة التجميعية
هل وظيفتها هي استخراج اسم الأب فقط ؟
بمعنى آخر
لماذا نفصل الاسم لأجزاء ثم نعيد تجميعه مرة أخرى لتكوين اسم الأب ؟ كان ممكن نكتفي باستبعاد الاسم الأول الممثل للطالب فقط ويتبقى اسم الأب
أم أن هناك وظيفة أخرى وشيئ غير واضح لي بالنسبة لهذه النقطة
وأرجو أن تعذرني على سؤالي فربما أستفيد من موضوعك
-
بعد اذن الأستاذ عبدالفتاح كيرة
ومعذرة أستاذ طارق
سأجيب سؤالك الأول في بداية الموضوع
وسويت لك تقرير اسمه
Query1
يضم الثلاثة استعلامات المستهدفة
-
9 hours ago, ali2017 said:
اخ شيفان تسلم ايدك جزاك الله كل خير على سرعة الرد هذا هو المطلوب
ولكن اذا ما اردت التعديل على الدرجة ما العمل ؟؟
@Shivan Rekany بعد إذن الأستاذ
أقترح عليك يا أستاذ /علي تضغط على مفتاح الشفت ثم تقوم بالتعديل
أضف الكود هذا إلى البرنامج
Private Sub a1_KeyDown(KeyCode As Integer, Shift As Integer) If (Shift) Then Me.a1.Locked = False End Sub
البحث في استعلام مع وجود حقول خالية
في قسم الأكسيس Access
قام بنشر
@Amr Ashraf أستاذنا
شكرا على التشجيع ههههه
أنا خايف تكون جربت
1 + 1
ولم تجرب المرفق
عاوزين نعرف لو فيه مشاكل ولا لأ ؟