بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
1010 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
1
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو منتصر الانسي
-
اخي العزيز بالإمكان ذلك ولكن نتيجة إنك عامل الرئيس والمعاونين في حقول مستقلة والأعضاء في حقل واحد سيعقد المسألة من حيث تصميم التقرير وتكون هذه الطريقة هي الأنسب أما فيما يخص الاستعلام التوحيدي فإنه عبارة عن دمج جملتي SQL (أو أكثر) في جملة واحدة عن طريق ربطها بكلمة (Union) ويشترط في الجملتين أن تشمل نفس عدد الحقول وبنفس الترتيب فمثلاً في هذا المثال شملت الجمل على الحقول (رقم اللجنة - اللجنة - الاسم - الصفة) وبنفس الترتيب أي لا يتم جعل الاسم بعد الصفة في إحدى الجمل مثلاً وبالإطلاع على الاستعلام في المثال فهو مكون من جملة Sql التالية SELECT [Al-lejan].Nlejna, [Al-lejan].NAlejna, [Al-lejan].name,"الرئيس" As [TheJob] FROM [Al-lejan]; UNION SELECT [Al-lejan].Nlejna, [Al-lejan].NAlejna, [Al-lejan].name1,"المعاون الاول" As [TheJob] FROM [Al-lejan]; UNION SELECT [Al-lejan].Nlejna, [Al-lejan].NAlejna, [Al-lejan].name2,"المعاون الثاني" As [TheJob] FROM [Al-lejan]; UNION SELECT [Al-lejan].Nlejna, [Al-lejan].NAlejna, [Al-Musad].Name, "عضو اللجنة" AS TheJob FROM [Al-lejan] INNER JOIN [Al-Musad] ON [Al-lejan].Nlejna = [Al-Musad].Nlj; وستلاحظ أنها مكونة من الجمل التالية SELECT [Al-lejan].Nlejna, [Al-lejan].NAlejna, [Al-lejan].name,"الرئيس" As [TheJob] FROM [Al-lejan]; SELECT [Al-lejan].Nlejna, [Al-lejan].NAlejna, [Al-lejan].name1,"المعاون الاول" As [TheJob] FROM [Al-lejan]; SELECT [Al-lejan].Nlejna, [Al-lejan].NAlejna, [Al-lejan].name2,"المعاون الثاني" As [TheJob] FROM [Al-lejan]; SELECT [Al-lejan].Nlejna, [Al-lejan].NAlejna, [Al-Musad].Name, "عضو اللجنة" AS TheJob FROM [Al-lejan] INNER JOIN [Al-Musad] ON [Al-lejan].Nlejna = [Al-Musad].Nlj; ولو قمت بنسخ كل جملة لوحدها ولصقتها في محرر SQL في الاستعلامات سينتج عنها إستعلام مستقل وتم ربطها (توحيدها) بكلمة Union أرجو أن يكون الشرح واضح تحياتي,,,
-
حساب الفارق بين تاريخين بالأيام والشهور والسنين
منتصر الانسي replied to عبد الفتاح كيرة's topic in قسم الأكسيس Access
اخي العزيز kemas طلبك ستجده في الموضوع هنــا في آخر مرفق تحياتي,,, -
اريد عمل المتبقي من المستلم والمصروف
منتصر الانسي replied to ali3llawi's topic in قسم الأكسيس Access
اخي العزيز الموضوع لايحتاج الى شرح كل ما في الامر انه تم انشاء استعلامين يقومان بتجميع كميات المستلم والمنصرف بحسب الصنف ثم تم عمل استعلام لطرح اجمالي المنصرف من اجمالي المستلم وبصدق لا اعرف طريقة الشرح هكذا ولكن قم بفتح الاستعلامات الثلاثة في وضع التصميم لتعرف ماتم واذا كان هناك استفسار حول نقاط معينة يمكنك طرحها تحياتي,,, -
تفضل اخي تم إضافة إستعلام وتقرير تحياتي,,, اللجان.rar
-
تفضل اخي مثالك بعد التعديل تحياتي,,, الاسماء.rar
-
اريد عمل المتبقي من المستلم والمصروف
منتصر الانسي replied to ali3llawi's topic in قسم الأكسيس Access
اخي العزيز مرفق لك تعديل أرجو ان يكون هو طلبك وستجده في الاستعلامات الثلاثة والتي تقوم بتجميع المستلم والمنصرف بحسب الصنف والثالث لإظهار الرصيد رغم تحفظي على تصميم الجداول فكان من الأفضل لك لو جمعت جدولي (المستلم والمصروف) في جدول واحد مع إضافة حقل وليكن اسمه (نوع الحركة) يتم فيه تحديد (وارد-منصرف) بدلاً من التشتت تحياتي,,, قاعدة بياناتي 6-9-2011.rar -
اخي العزيز قد يكون الامر مرتبط بالمراجع افتح محرر فيجوال في برنامجك ثم افتح قائمة Tools واختر اول خيار References عندها سيظهر لك صندوق يحتوى على المراجع المعتمدة في برنامجك وإذا ظهرت كلمة Missing أمام احد المراجع قم بالبحث عنه سواء داخل الجهاز أو في الانترنت وقم بنسخه الى مجلد System32 في الويندوز يرجى التأكد مما سبق والافادة بالنتيجة تحياتي,,,
-
كود ترقيم تلقائى شغال كويس بس يبدا من الصفر
منتصر الانسي replied to safwatscc's topic in قسم الأكسيس Access
المعذرة المعذرة المعذرة كنت حاسس اني وقعت في خطأ بسبب الإرهاق وبالفعل كنت على خطأ اخي العزيز الكود الذي معك صحيح وليس عليه غبار وماعليك سوى استبدال السطر For I = Val(txtCount) To co + Val(txtCount) - 1 بهذا السطر For I = 1 To co + Val(txtCount) - 1 ولكنك ستواجه مشكلة في اول مرة حيث سيبدأ بالترقيم من 1 مما سيؤدي الى تكرار الرقم لذا يجب اولاً ان تجعل خاصية الحقل ID في الجدول قابل للتكرار ثم قم بتنفيذ الامر واذا اردت ان تعيد الخاصية كما كانت فليس هناك مشكلة مرفق لك المثال الاصلي بعد التعديل المذكور والمعذرة مرة أخرى (هذه من مساوئ السهر) تحياتي,,, Nu.rar -
كود ترقيم تلقائى شغال كويس بس يبدا من الصفر
منتصر الانسي replied to safwatscc's topic in قسم الأكسيس Access
اخي العزيز من اطلاعي للبرنامج لا يوجد كود ترقيم تلقائي وللتأكد غير آخر رقم برقم 1000 مثلا ثم نفذ الأمر ستلاحظ أنه سيبقى كما هو ولكن الترقيم التلقائي ينفذ عند إضافة سجل جديد فقط وحتى وإن أردت تنفيذ الترقيم التلقائي فإن العملية تتطلب تصفير جميع السجلات في البداية ثم تنفيذ الترقيم لأن الكود Me!ID = Nz(DMax("[id]", "[student]"), 0) + 1 يقوم بأخذ أكبر رقم موجود ويضيف له 1 فإذا لم تصفر الأرقام أولاً فسيظل يزيد 1 على أكبر رقم ولن يبدأ من 1 وتصفير الارقام غير ممكنة لأنك جاعلها لا تقبل التكرار لذا فالمطلوب منك أولاً تعديل خصائص الحقل ID لتجعلها تقبل التكرار ثم إضافة كود التصفير قبل تنفيذ الترقيم مرفق لك مثالك معدل على عجل في هذا الوقت المتأخر لتجربه وإذا كان هناك أي مشكلة فالسبب الإرهاق تحياتي,,, Nu.rar -
اخي العزيز في اصدارات 2007 و 2010 هذه الميزة مضمنة في البرنامج اما في 2003 فقد وضع حل كما في المرفق ويتطلب مايلي - إستيراد الوحدة النمطية (modMouseHook) الى برنامجك - في حدث (On Load او عند التحميل) في النموذج المراد إيقاف الماوس فيه يكتب الكود التالي Dim blRet As Boolean blRet = MouseWheelOFF(False) - وفي حدث (On Unload او عند إلغاء التحميل) يكتب الكود التالي Dim blRet As Boolean blRet = MouseWheelON وذلك لإعادة تشغيل عجلة الماوس - ضمن المرفقات ستجد أداة إسمها (MouseHook.dll) ويجب عليك إما أن تجعلها في نفس المجلد مع البرنامج أو تنسخها إلى المجلد (System32) في مجلد الويندوز لتعمل مع جميع البرامج في الجهاز تحياتي,,, الماوس.rar
-
تفضل اخي مثالك بعد التعديل تحياتي,,, db31.rar
-
سؤال في طريقة إستعمال خاصية الإختيار
منتصر الانسي replied to فريد الحياة's topic in قسم الأكسيس Access
اخي العزيز من خلال ردك (أجبت عن نفسك بنفسك) فطالما أن تلك المجاميع تظهر في الإستعلام فما فائدة إدخالها مرة أخرى إلى الجدول فلو فتحت الجدول أو الإستعلام ستظهر لنا صفحة بيانات لافرق بينهما سوى أن بيانات الإستعلام محتسبة أما بيانات الجدول مدخلة إدخال ولو قارنا بين فوائد وعيوب كل منها سنجد أن : في مثالك وبناء على قيمة الحقل (المبلغ) والذي يساوي (الكمية × سعر الوحدة) وسنطلق عليها أساس الإحتساب - البيانات المحتسبة تكون متغيرة ومتجددة ومحدثة بتحديث بيانات أساس الإحتساب وبالتالي تظهر لنا بيانات حقيقية تعكس الواقع ولا تؤثر في حجم قاعدة البيانات - أما البيانات المدخلة تظل جامدة (حتى ولو تغيرت بيانات أساس الإحتساب) مالم يتم تحديثها يدويا أو حتى عن طريق الكود وسيكون هناك إمكانية لظهور بيانات خاطئة وفوق هذا وذاك سيتم زيادة حجم الجدول بحجم تلك البيانات وفي إعتقادي أن جوهر قواعد البيانات هو عملية (إدارة البيانات) أي أن يتم إدخال بيانات خام وبحدها الأدنى (مالم تكن هناك ضرورة لها) وإستخراجها كمعلومات مفهومة ولها هدف المعذرة على الإطالة ولكن كان يجب توضيح هذه الفكرة للعلم فقط ولك أن تختار مايناسبك فإن كنت ترى من الضرورة إثبات هذه البيانات في الجدول فكل ماعليك هو - تغير إسم الحقل (Soum) إما في الجدول أو الإستعلام ليتم الإشارة إليه ولا يحدث خلط عند تنفيذ الكود حيث أن الحقل المحتسب في الإستعلام لايمكن تحديثه بواسطة الكود (المهم لو قمنا بتعديل إسم الحقل في الجدول الى Total) بدلاً من Soum - نكتب كود الإحتساب في حدث (بعد التحديث أو After Update) لحقلي (الكمية وسعر الوحدة) ليتم تنفيذ الإحتساب بعد كل تعديل لبيانات هذين الحقلين والذين هما أساس الإحتساب والكود هو على الشكل التالي Total = Contit * Unit_price ومرفق لك مثالك بعد التعديل المذكور تحياتي,,, PARPAIN_Email.rar -
اخي العزيز ليكون في معلومك فإن الدالة في المثال تشمل التمدد الأفقي والرأسي ومرفق لك مثالك للتأكد ولكني فضلت أن يكون العرض ثابتاً حتى لا يتغير تصميم النموذج فالتمدد سيصل الى مايصل اليه طول النص الذي سيتم إدخاله (وهذا غير جيد من وجهة نظري) وأما بخصوص تصميم أستاذنا الكبير أبو هادي فما زلت (افصفصه بإنبهار) حتى أفهمه وأستوعبه جيداً (وأتعجب من عقلية واضعه)ولكن الكود الذي ذكرته أنت فأعتقد أنه خاص بصندوق الرسائل ككل اما مايخص مربع التسمية (LblPrompt) فالكود هو With Me.LblPrompt .Caption = BoxStyle.Prompt .Height = Height - 1200 .Move 50, _ IIf(.Height > 275, 180, (Height - 875 - .Height) / 2), _ Width - IconWidth - 365 If Height = 1785 Then .TopMargin = 85 End With تحياتي,,, 100.rar
-
اخي العزيز لماذا تُعقد المسائل على نفسك فبصفتك مصمم قاعدة البيانات يمكنك ان تضع الحلول التي تراها ومنها مايلي - تعديل التصميم لتجعل نوع الحقل نص بدل الرقم - إدخال نسبة العمر (6 أشهر تعادل نصف سنة أي 0.5) مثلاً - الحل الأفضل أن تجعل النتيجة محتسبة وذلك بأن يتم إدخال تاريخ الميلاد ويحتسب العمر حتى تاريخ اليوم أو تاريخ الإدخال مثلاً ويمكنك أن تبتكر حلك الخاص فما يهم المستخدم هو النتيجة وليس الطريقة وما يهمك هو أن تكون طريقة غير معقدة ولا تثقل على برنامجك تحياتي,,,
-
اخي العزيز اجعل اسم الماكرو بهذا الإسم (AutoExec)وعندها سيتم تشغيله عند فتح القاعدة تحياتي,,,
-
اخي العزيز مرفق لك مثالك بعد التعديل وبطريقة غير طريقة أبو هادي المهم هنا أن يكون عرض مربع التسمية ثابت اما الطول فسيتغير مع النص تحياتي,,, 100.rar
-
اخي العزيز هل من الضروري اظهار النص في مربع تسمية (Label)أم يمكن أن يظهر في مربع نص (TextBox) ....؟ ونص التذكير هذا هل سيتم أخذه من جدول أم سيدخل كل مرة من قبل المستخدم ...؟ أرجو توضيح هذين الأمرين وإن شاء الله لا يصير خاطرك إلا طيب تحياتي,,,
-
اخي العزيز بالإعتماد على المثال Resize قم بالخطوات التالية : قم بإستيراد الميدولات (gr & tow) الى قاعدة بياناتك 1- في حدث (عند التحميل او On Load) للنموذج يكتب الكود الذي يقوم بتكبير حجم النموذج للحد الأقصى ثم يقوم بإغلاق بقية النوافذ المفتوحة حتى لا تتأثر من تغيير دقة الشاشة DoCmd.Maximize Shell "taskkill /f /im explorer.exe", vbMinimizedNoFocus ملحوظة : اذا كنت ترغب في تنبيه المستخدم عن التغييرات قبل تنفيذها يمكنك أن تسبق الكود بهذا السطر If MsgBox("سيتم إغلاق خلفية ويندوز فإذا كان لديك برامج لم تحفظها اختر (إلغاء الأمر) وقم بحفظها أولاً", vbOKCancel, "تنبيه") = vbCancel Then DoCmd.Quit 2- في حدث (عند الفتح أو On Open) في النموذج اكتب الكود الذي يقوم بحفظ الإعدادات الحالية وتغييرها الى الإعدادات الخاصة بك Call xg_GetScreenResolution Call ChangeResolution(1024, 768) وهنا يمكنك إستبدال الأرقام 1024 و 768 بالدقة المطلوبة بحسب رغبتك 3- في حدث (عند إلغاء التحميل او On UnLoad) يكتب الكود الذي يسترجع الإعدادات الأصلية ويشغل بقية النوافذ Call ChangeResolution(aa1, aa2) Shell "explorer.exe", vbMinimizedNoFocus ومرفق لك مثال مطبق فيه ماسبق أرجو أن يكون الشرح واضح تحياتي,,, NewResize.rar
-
بالطبع اخي العزيز لأن العملية في الأساس مبنية على جملة Sql التي تقوم بتصفية السجلات بناء على النص الذي يتم إدخاله وجملة Sql يجب أن تستمد البيانات من جدول تحياتي,,,
-
سؤال في طريقة إستعمال خاصية الإختيار
منتصر الانسي replied to فريد الحياة's topic in قسم الأكسيس Access
اخي العزيز هذه الرسالة تعني ان هناك كود يعتمد على عنصر تحكم غير موجود وفي هذه الرسالة يخبرك أن الكود لم يجد عنصر التحكم الذي إسمه (Newbal) لذا كل ما عليك الا أن تفتح محرر فيجوال الخاص بالنموذج وتقوم بالبحث عن الاماكن التي ذكرت فيها هذه الكلمة وستجدها مثلاً في حدث (BeforeInsert أو قبل الإدراج) كما يلي Private Sub Form_BeforeInsert(Cancel As Integer) Me![Nclient] = Me![dl] Me![Soum] = Me![Newbal] End Sub فإن كان وجود عنصر التحكم هذا ضرورياً فيجب عليك إنشاؤه في النموذج مالم فقم بحذف الكود تحياتي,,, -
دالة دالة استخراج اسم ولي الامر كاملا او الاسم الاول مفردا
منتصر الانسي replied to عبدالله باقشير's topic in منتدى الاكسيل Excel
مشكور اخي ابو احمد على الكلام الطيب الموضوع ليس فيه اي عملقة ولا شيئ ولكن هذا مايثبت ان اي دوال تصمم في اكسس يمكن تنفيذها في اكسل وحتى وورد (والعكس صحيح) فجميعها تعمل في بيئة واحدة هي بيئة(VBA)ولكن الصعوبة التي واجهتني كانت انه يتم اخذ الاستثناءات الخاصة بالأسماء كـ(عبد , الله , الدين , ....الخ) من جدول في قاعدة البيانات ولم أكن أعرف طريقة التنفيذ في اكسل فقد كان أفكر ان أجعلها في ورقة مستقلة بحيث يتم أخذها من هذه الورقة وبصراحة فأنا أجهل كيفية التعامل مع اوراق العمل والخلايا في اكسل ولكن الأستاذ خبور (وهو العملاق الحقيقي) قد تجاوزها بواسطة إستخدامه المصفوفة ومن هنا تم عمل التوليفة في الأخير لدي استفسار هل هناك إمكانية لتنفيذ هذه الطريقة (ان يتم وضع الإستثناءات في ورقة مستقلة) لمنح حرية اكبر للمستخدم...؟ تحياتي,,, -
اخي العزيز هذا شكل تقرير وليس استعلام عموماً مرفق لك تعديل بتقرير مشابه تحياتي,,, db31.rar
-
-
دالة دالة استخراج اسم ولي الامر كاملا او الاسم الاول مفردا
منتصر الانسي replied to عبدالله باقشير's topic in منتدى الاكسيل Excel
الأخوة الأعزاء الحقيقة الواحد يدخل على منتدى أكسيل وهو مرعوب من العمالقة اللي فيه اسمحوا لي اخواني بهذا التعديل البسيط حيث قمت بعمل (توليفة) بين دالة تم إعدادها بأكسس بدالة الأستاذ خبور بحيث يصبح بالإمكان إستخراج أي جزء مطلوب من الإسم أرجو أن أكون موفقاً في هذه (التوليفة) تحياتي,,, تجزئة الأسماء.rar