-
Posts
211 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
3
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Gamal.Saad
-
@Amr Ashraf أستاذنا شكرا على التشجيع ههههه أنا خايف تكون جربت 1 + 1 ولم تجرب المرفق عاوزين نعرف لو فيه مشاكل ولا لأ ؟
-
سيبك من الأجانب دول تفكيرهم تقليدي 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
-
تمام الحمد لله أنا وصلت لنسبة فهم مرتفعة تتجاوز 50% وهذا يكفي لبدء التجربة وسأوافيك بالجديد إن شاء الله
-
ههههههه مش عارف أنت مش محظوظ معايا ليه على العموم الملف كان عندي شغال ولما أنا غيرت الاسم لكي ألأرفعه لك لم أنتبه لوجود مسافات بالاسم الجديد والمسافات تسبب مشكلة عند استخدام معاملات برنامج الضغط لذلك حذفت المسافات واشتغل عندي طبيعي النسخ_الاحتياطي.rar
-
تعديل كود فى استعلام مبنى على وحدة نمطية
Gamal.Saad replied to حمدى الظابط's topic in قسم الأكسيس Access
باستخدام الاستعلام يمكنك تحديد الاسماء المكررة وعدد مرات التكرار كما بالصورة http:// وهناك معالج انشاء الاستعلام يمكنك انشاء استعلام باختيار نوع استعلام القيم المكررة Find duplicate query wizard فعلا أنا لم أستخدم دالة استخراج وفصل اسم الاب الموجودة في مرفقك الأول وعملت كود جديد -
هل تقصد : أن طريقة حساب متوسط السعر لن تعمل لأصناف المكونات مثل الماوس ولوحة المفاتيح والهادر دسك وخلافه وستعمل فقط مع الاصناف المسجلة في جدول المنتجات في حالة وجودها في جدول الحركة النقطة دي مبهمة كما قلت لك سأبدأ بالدالة الحسابية التي تبدأ مع جدول الحركة لذلك أخبرني لو السجل به صنف مكونات منتج معين وقمنا بالاضافة أو الخصم ولو السجل به منتج رئيسي وقمنا بالاضافة أو الخصم ودور الدالة الحسابية التي تحسب متوسط السعر هل تحسب للجميع أم ماذا ؟ واعذرني فالموضوع كله تنظيمي وتخطيطي لا أكثر ومن السهل تطبيق المعادلات واحضار القيم لكن طبقا لطريقة شرح عملية بأصناف و أرقام حسابية
-
@ابوخليل بعد إذن أستاذنا @رمهان وبعد إذن أستاذنا @alzahrani07 أستاذ سيادتك ما تريد فلتر وما تريد قيمة افتراضية فهل تريد حل يعتمد على استخدام دالة Function وتؤدي طلبك بدون فلتر وبدون استبدال قيم ؟ وتعتمد على تكوين استعلام مخصص لطلبك ويمكن أن تبحث بحث متعدد للثلاثة مربعات بحث معا أو فرادي أو حسب ما تريد الجمع بينهم وأنا أريد أن أعرف رأيك كي لا أضيع الوقت في الدالة ثم تقول لي لا أريد هذه الطريقة
-
حاول تكون أي طريقة تبدأ وتعتمد على الدالة الحسابية السابق عملها ثم نقوم بدخال تعديلات عليها
-
اسم برنامجك مميز هههههههه المفروض مصدر البيانات يكون مربع النص الذي تكتب فيه وليس العنوان المرافق لمربع النص مستخدم 2.rar
-
أعتقد أهم مشكلة نبدأ بيها هي هذه النقطة هههههههه ووعد الحر دين عليه تمام تمام هحاول إن شاء الله أطبق كلامك على ملف تقييم 6 وزي ما أنت قلت كلها تجارب وتعديلات مفيش حاجة فنية مستحيلة لكن اليوم عندي الوقت ضيق لذلك أعطني وقتا طوال اليوم وأقرب تعديل سأوافيك به إن شاء الله
-
جرب المرفق النسخ_الاحتياطي 2 .rar
-
أوك تقريبا أنا أشعر أني أفهمك لكن شعور مش أكيد بمعنى لو المنتج مثلا جهاز كمبيوتر غير موجود سعر له سنتبع الطريقة القديمة لحساب السعر ثم نسجل السعر في جدول المنتجات وفي المرة التالية نستعين بهذا الرقم وهو عبارة عن متوسطات أسعار مكوناته لحساب القيمة أليس كذلك ؟ طيب بالنسبة للمكونات الفرعية للمنتج زي لوحة المفاتيح مثلا فين هيتسجل سعرها ؟ هل في جدول المنتجات زي جهاز الكمبيوتر ؟ على العموم جرب المرفق وممكن نعدل عادي 2.rar
-
هلا أخي أرجو أن تلتمس لي وللزملاء العذر فلديك جدول باسم Ded_K4_In وأنت ذكرت جدول K4_History فما علاقة الجدولين ببعض؟ وأين التاريخ الذي تقصده؟ شو اسم الحقل المسجل به التاريخ؟ لم أجد أي تواريخ مسجلة بالجداول وأرجو ارفاق مثال يحتوى فقط على النماذج والاستعلامات والجداول والتقارير التي تخدم طلبك حتى لا يتشتت من يريد مساعدتك وتقبل تحياتي وكل عام وأنتم بخير
-
تمام تمام الحمد لله فهمت برغم أن ملف الاكسل الارقام والخامات مش مطابقة لنفس ملف الأكسس على العموم ينقص فقط استعلام أخير للتحديث وسأرفع لك الملف إن شاء الله لتجربته لكن بعد عودتي من العمل وإن شاء الله خير
-
زين علشان أتأكد أني فهمت في مثالك: المطلوب قيمة السعر في جدول المنتجات field: price ________ table: products وهذا يساوي آخر متوسط سعر لكل مكون من مكونات هذا المنتج مضروباً في العدد الموجود بالجدول بوم field: con____________ table: Bom ثم نجمع ما سبق اذا كان فهمي خطأ فأرجو التوضيح بأرقام حسابية من خلال التطبيق على المثال السابق ارفاقه أو مثال آخر مع توضيح العدد 0.0002083335 الموجود بجدول بوم هو ناتج ايه ؟
-
مشكور أخي محمد بك زينة شباب المنصورة أنا أتمنى طبعا من الله التوفيق لك والمساعدة سواء عن طريقي أو طريق أساتذة المنتدى المحترفين لكن نبدأ بطلبك الأول حيث عندي استفسارين: واعذرني بسبب تداخل الكلمات الانجليزية مع العربية وصعوبة ربطهما بالنسبة لي حيث تبدو متداخلة عندي في المتصفح هل تريد حساب تكلفة الأصناف وذلك بالمعادلة الحسابية في جدول الحركة وهي حاصل ضرب متوسط السعر في الكمية الواردة أم حاصل ضرب متوسط السعر في العدد con ? وهل تريد حساب التكلفة للأصناف الرئيسية بجدول المنتجات أو بالأصناف الفرعية بجدول Bom ؟
-
تعديل كود فى استعلام مبنى على وحدة نمطية
Gamal.Saad replied to حمدى الظابط's topic in قسم الأكسيس Access
نفذت لك الفكرة التي أخبرتك عنها سابقا وهي الاستعانة بجدول وسيط لكن ارجو أن تنتبه إلى أن البرنامج يتعامل مع الاسماء التالية باعتبار أنهم ليسوا أخوة مثلا "حمدي الظايط طه عبدالرحمن" " فتحي الظايط طه عبدالرحمن محمد" نظرا لعدم كتابة الاسم الرباعي في أحدهم الناجحين3.rar -
أهااا تريد أن تكتب داخل vba لكل نموذج وليس أن يعمل الكود لكل النماذج ! يبدو أن النماذج لديك كثيرة للغاية على العموم سأجرب لك [Event Procedure] ولو توصلت لنتيجة سأوافيك إن شاء الله
-
هههههههه لا أعلم من الذي يجب عليه أن يقولها أنا أم أنت للرفع + up
-
تعديل كود فى استعلام مبنى على وحدة نمطية
Gamal.Saad replied to حمدى الظابط's topic in قسم الأكسيس Access
تمام وصلت الفكرة ولكي تحل المشكلة جرب تقوم بعمل جدول مؤقت لالحاق البيانات من استعلام1 ثم تقوم باستخراج الاسماء المتشابهة من الجدول المؤقت ثم تحدث الجدول الأصلي والنجاح مؤكد إن شاء الله لكن تبقى مشكلة تصحيح البيانات يعني تحذف المسافات الزائدة وتوحد الهمزات وخلافه في الجدول الأصلي قبل بداية الحل حتى تكون النتيجة صحيحة -
وعليكم السلام ورحمة الله وبركاته فعلا ويعطيك امكانية لاختيار الحقل الذي تريد البحث فيه ويظهر كل شيئ أمامك في النموذج أرفق ملف بسيط لبرنامج لك وسنحاول إن شاء الله التطبيق كما ترى الطريقة تتلخص في كود الفلترة التالي 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 وأخيرا : ربما يكون عدم التطبيق في برامجك راجع إلى الفلترة في اللغة العربية حيث أن المثال لا يدعم الحروف المتشابهة مثل الهمزات إلى آخره ولكن طبعا يمكن تطويره سواء للبحث في داخل كل الحقول في نفس الوقت أو في دعم الحروف العربية المتشابهة لأنه مثال رائع وقوته في البساطة والفكرة الجديدة وشكرا جزيلا لمن قام بهذا العمل ولكل أساتذة المنتدى الأكفاء
-
تعديل كود فى استعلام مبنى على وحدة نمطية
Gamal.Saad replied to حمدى الظابط's topic in قسم الأكسيس Access
أعتقد أن الخطأ ليس في البرنامج ولكن في البيانات المدخلة وستجد اختلاف في كثير من أسماء أولياء الأمور المفترض أنهم متشابهين لكن بكل منهم حروف مختلفة أو زائدة والأفضل مرجعية اسم ولي الأمر لشيئ أكثر ثباتا مثل الرقم القومي لولي الأمر أثناء عملية ادخال البيانات أنا بس عندي استفسار بخصوص الدالة التجميعية هل وظيفتها هي استخراج اسم الأب فقط ؟ بمعنى آخر لماذا نفصل الاسم لأجزاء ثم نعيد تجميعه مرة أخرى لتكوين اسم الأب ؟ كان ممكن نكتفي باستبعاد الاسم الأول الممثل للطالب فقط ويتبقى اسم الأب أم أن هناك وظيفة أخرى وشيئ غير واضح لي بالنسبة لهذه النقطة وأرجو أن تعذرني على سؤالي فربما أستفيد من موضوعك -
برمجيا كيف اجعل العنصر ممكن او غير ممكن بشروط ؟؟؟؟
Gamal.Saad replied to ali2017's topic in قسم الأكسيس Access
@Shivan Rekany بعد إذن الأستاذ أقترح عليك يا أستاذ /علي تضغط على مفتاح الشفت ثم تقوم بالتعديل أضف الكود هذا إلى البرنامج Private Sub a1_KeyDown(KeyCode As Integer, Shift As Integer) If (Shift) Then Me.a1.Locked = False End Sub