بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
3007 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
117
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
هكذا ؟؟ base_TN.accdb
-
وعليكم السلام ورحمة الله وبركاته أخي @سامر محمود .. إضافةً لما تقدم به أستاذنا ومعلمنا ووالدنا الحبيب @ابوخليل ، اعتقد ان بنية الجداول لديك قد تكون الى حد ما غير سليمة أو غير مكتملة ,, وعليه فإن لي اقتراح بتنفيذ فكرة معلمي الحبيب بأن يكون لديك جدول واحد فقط للحركات ويضم عمليات البيع والشراء وحركة الأصناف ... إلخ كاملة في هذا الجدول . وللسير في تنفيذ ذلك قمت بالتعديل التالي ( رغم انني غير مقتنع بأن تكون أسماء الحقول باللغة العربية ) قمت بإنشاء جدول "الحركات" ويضم جميع الحركات السابق ذكرها ، مع ربط العلاقات بالشكل الذي رأيت أنه منطقي . الق نظرة على هذا التعديلات في المرفق التالي :- Transfer.accdb
-
ظننت الأمر قد لا يحتاج إلى شرح . على العموم الفكرة بسيطة جداً وهي أن نتجه لأن يكون عدد التنبيهات في مربع نص ، ونستخدم التنسيق الشرطي كما في المثال المرفق التالي بحيث يصبح لون خلفية مربع النص أحمر إذا كان هناك عدد تنبيهات ، وأخضر إذا لم يكن هناك تنبيهات . base_TN.accdb
-
جزاك الله خيراً أخي الكريم على مجهودك هدية مقبولة منك
-
وعليكم السلام ورحمة الله وبركاته .. الأمر ان شاء الله يسير أخي الكريم @moho58 . بدايةً لتطبيق فكرتك يجب أن نضع شرط إضافي في استعلام مصدر سجلات النموذج frm_agenda_suive في الحقل oui_non = False ليتم إظهار السجلات الغير منجزة فقط . ثانياً بما انك تريد عرض عدد السجلات في اللليبل تسمية154 في النموذج wajiha ، هنا لا بد من جعل الاستدعاء لجلب العدد في حدث عند التحميل بحيث يصبح بالشكل التالي :- Private Sub Form_Load() Me.تسمية154.Caption = DCount("*", "tab_agenda_suive", "oui_non = False") End Sub وإذا عزمت على تحويله الى مربع نص غير منضم ، فاجعل قيمة مصدر بياناته بهذا الشكل :- =DCount("*", "tab_agenda_suive", "oui_non = False") بعد تعديل المشاركة هذه ( سهوت عن إضافة فكرة عدد الأيام المتبقية للإنجاز ) قمت أولاً بإنشاء استعلام جديد ، وأضفت فيه حقول الجدول كما في السابق ولكن مع إضافة حقل جديد ، وأضفته كمصدر سجلات النموذج بدلاً من استخدام الجدول كمصدر سجلات بشكل مباشر :- عدد الأيام المتبقية: DateDiff("d",Date(),tab_agenda_suive.date_fait) لحساب عدد الأيام المتبقية من تاريخ اليوم حتى تاريخ الإنجاز المتوقع . ثالثاً وأخيراً في زر الجرس اجعل الحدث عند النقر لفتح النموذج frm_agenda_suive مثالك بعد التعديل : base_TN.accdb
-
مشكور ، والله يعطيك العافية على مجهودك.. اتفق معك تماما في المثال 2 ، ولا أخالفك الرأي في باقي الأمثلة أو التقليل من أهمية موضوعك لا سمح الله ، لكن في الريجستري يجب ان تكون ضليعاً في التعامل معه وبحذر - كما قلت - ولكن كموضوع تم طرحه ليست الفكرة ان نقوم بإنشاء أكواد فقط ، بل دعمها بأفكار تنفيذية حتى يثبت الموضوع جدارته في ما هو قادر على فعله . كمثال وليس الحصر ، هل تستطيع من خلال الكود التعرف على البرامج المثبتة على الكمبيوتر وجلب مسار تثبيت كل برنامج والإصدار له والمساحة التي استخدمها ( مساحة مجلد البرنامج ) ... إلخ ❗وجميع هذه النقاط أفضل طريق لها هو الريجستري 😉
- 9 replies
-
- ريجيستري
- windows registry
-
(و1 أكثر)
موسوم بكلمه :
-
الله يعطيك العافية على مجهودك اخي الكريم @Ahmos . عندي نقطة اذا سمحت بتوضيحها لي وهي ؛ ما الهدف من الفكرة والذي سيحققه الكود من الريجستري !!!!!! ارجو التوضيح بشكل مبسط 😇
- 9 replies
-
- ريجيستري
- windows registry
-
(و1 أكثر)
موسوم بكلمه :
-
وعليكم السلام ورحمة الله وبركاته.. ما يجب التحقق منه عدة نقاط ، أذكر منها :- 1. تحقق من لغة الـ Unicode في الويندوز . 2. تنسيقات الوقت والتاريخ في الويندوز . 3. نسخة الأوفيس وإصدارها . 4. بعد النقطة 3 اذا كان الملف مفتوح المصدر قم بضغط وإصلاح القاعدة على نفس الجهاز . 5. الأصل و قبل هذا كله ، التأكد من سلامة قاعدة البيانات والتنسيقات لهذه العناصر ( مربعات النص ) ومصادر بياناتها في الجداول . 💡 هذا من وجهة نظري والله أعلم.
-
العفو يا صديقي ، إذا انتهت مشكلتك ووجدت الحل ، قم بإغلاق الموضوع باختيار افضل اجابة 🙏
-
اخي الكريم ، اذا كان هدفك هو فتح النموذج بشرط السجل المحدد :- DoCmd.OpenForm "calculated_frm", , , "CustomerID = " & Me!CustomerID او ، قم بالتوضيح كونك قمت بتعديل طلبك في المشاركة الأولى
-
أهلا بك أخونا Hema24 ، نرجو ان تجد ما تحتاجه من معلومة في عالمنا المتواضع هنا . بداية عليك ان تلتزم ببعض القوانين هنا ليسهل على ما يساعدك ايجاد الحل المناسب لك بحيث :- ارفاق ملف بسيط يساعد في فهم المطلوب الذي تريده . حاول الابتعاد عن المسميات العربية والتيتتضمن مسافات في اسماء الحقول والجداول والنماذج ... الخ , وكذلك ان لا تجعل أسماء الحقول والعناصر تبدأ بأرقام ، ولا تستخدم اسماء محوزة لآكسيس مثل (Name , Date , From , To .... إلخ ) . الشرح الوافي والكافي والواضح للمطلوب مستقبلاً كي تجعل الأمر سهلاً وعسيراً على من يقدم المساعدة لك . ايضاً اهتم بالعنوان ليكون ذا دلالة على المطلوب كعنوان . الآن فيما يخص طلبك :- على افتراض ان اسم النموذج : Form1 اسم مربع النص الذي تريد نقل قيمته والموجود في النموذج : TextBox1 اسم النموذج الثاني : Form2 اسم مربع النص الذي خصائصه غير ممكن ومخفى : TextBox2 الآن لنفترض انه من خلال الزر Command2 تريد فتح النموذج الثاني Form2 ، وعليه فإن كود الزر سيكون كما يلي :- DoCmd.OpenForm "Form2", acNormal Forms!Form2!TextBox2 = Me.TextBox1 طبعاً خصائص مربع النص غير ممكن و مخفي لا علاقة لها بالحل ، وهذا مرفق بسيط لتتوضح الصورة لديك :- Test.accdb
-
وعليكم السلام ورحمة الله وبركاته أخي الكريم @2saad .. حاول جعل الشرط في الحقل id_student في استعلام النموذج يكون في الخانة Or بدلاً من الخانة Criteria .. ثم تأكد من مصدر مربعات النص التي لديك في النموذج حتى يتم عرض بيانات الطالب الذي اخترته . كما ارجو منك ان تتأكد من اسم الكومبوبوكس ComboSaf في الشرط الموجود في استعلام مصدر بيانات stud_id ، أو الصق الاستعلام التالي بدلاً منه SELECT Tbl_student.id_student, Tbl_student.Studentname, Tbl_student.alsaf_Id, * FROM Tbl_student WHERE (((Tbl_student.alsaf_Id)=[Forms]![frm_result_end_saf_ola]![ComboSaf])); وكذلك الأمر تأكد من مصدر بيانات جميع مربعات النص في النموذج بسبب وجود أخطاء في معظمها . ملفك بعد التعديل حسب رؤيتي وفهمي لمطلوبك البحث وتعديل درجات.zip
-
وعليكم السلام ورحمة الله وبركاته أخي الكريم غسان بدايةً وبما انك قلت انك عضو سابق في المنتدى فهذا سبب كافي لفهمك أساسيات انشاء موضوع وشروط وسياسة المنتدى ، ففي البداية أتيت بطلب ضمن سطر ونصف فقط ، وعند تزويدك بملف مرفق كان الملف دون اي بيانات ، ومع ذلك تقدم معلمنا الجليل @ابوخليل بتقديم حل يسير لك غير معقد . وتبعه المهندس @Moosak بالتعديل على ملفك وإدراج بيانات فيه - مشكوراً - وقد أضاف الحل الى الملف . ثم تبعت خطاهم بتقديم حل لك يعتمد على فكرة الفلترة ، ومع هذا تأتي الآن بتوضيح غير الذي في طلبك الأول . وهذا ما يسبب مشكلة في حصول الأخوة على حلول تساعدهم معتقدين أن من يقرأ حروفهم قد يسمع أفكارهم التي فكروا بها أثناء الطلب . متأملاً منك ارفاق الجداول والاستعلام والنموذج الذي تريد الحصول فيه على ترقيم متسلسل حسب الفلترة التي تريدها .
-
وعليكم السلام ورحمة الله وبركاته ,, بدايةً قمت بتغيير بعض اسماء العناصر من العربية الى الانجليزية ، ولكنها ليست ذات صلة بالحل . اجعل هذا الاستعلام مصدر سجلات التقرير SELECT tbl_info_fonctionnaire.grade_poste_actuel, Sum(IIf(tbl_info_fonctionnaire.sex="ذكر" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=0 And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())<30,1,0)) AS عدد_الذكور_أقل_من_30, Sum(IIf(tbl_info_fonctionnaire.sex="أنثى" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=0 And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())<30,1,0)) AS عدد_الإناث_أقل_من_30, Sum(IIf(tbl_info_fonctionnaire.sex="ذكر" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=30 And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())<=40,1,0)) AS عدد_الذكور_بين_30_و_40, Sum(IIf(tbl_info_fonctionnaire.sex="أنثى" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=30 And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())<=40,1,0)) AS عدد_الإناث_بين_30_و_40, Sum(IIf(tbl_info_fonctionnaire.sex="ذكر" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=41 And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())<=50,1,0)) AS عدد_الذكور_بين_41_و_50, Sum(IIf(tbl_info_fonctionnaire.sex="أنثى" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=41 And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())<=50,1,0)) AS عدد_الإناث_بين_41_و_50, Sum(IIf(tbl_info_fonctionnaire.sex="ذكر" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=51 And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())<=55,1,0)) AS عدد_الذكور_بين_51_و_55, Sum(IIf(tbl_info_fonctionnaire.sex="أنثى" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=51 And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())<=55,1,0)) AS عدد_الإناث_بين_51_و_55, Sum(IIf(tbl_info_fonctionnaire.sex="ذكر" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=56 And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())<=59,1,0)) AS عدد_الذكور_بين_56_و_59, Sum(IIf(tbl_info_fonctionnaire.sex="أنثى" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=56 And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())<=59,1,0)) AS عدد_الإناث_بين_56_و_59, Sum(IIf(tbl_info_fonctionnaire.sex="ذكر" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=60,1,0)) AS عدد_الذكور_أكبر_من_60, Sum(IIf(tbl_info_fonctionnaire.sex="أنثى" And DateDiff("yyyy",tbl_info_fonctionnaire.date_naissance,Date())>=60,1,0)) AS عدد_الإناث_أكبر_من_60, Count(IIf(tbl_info_fonctionnaire.sex="أنثى",1,Null)) AS عدد_الإناث_حسب_الدرجة, Count(*) AS المجموع_الكلي FROM tbl_info_fonctionnaire GROUP BY tbl_info_fonctionnaire.grade_poste_actuel; الملف بعد التعديل base_S - Copy.accdb اعتذر ، لم أر تعليق الأستاذ @ابو البشر ، ولكن له الأصل في حق الإجابة كنت في الصفحة ولم اقم بعمل تحديث لها قبل الرد أثناء كتابة الاستعلام والتجارب عليه
-
دي ما عنديش فيها مشكلة لأني فعلاً مسطب نسختين مختلفتي الإصدار والنواة على جهاز واحد . وده اللي حصل فعلاً
-
أهلاً مهندسنا الغالي .. بدايةً صدقاً ليس تعدياً ولكن كانت فكرتي ان يتم انشاء استعلام مبني على استعلام فرعي بحيث عند الفلترة على سبيل المثال في المرفق الذي وضعه أخونا غسان - ( مع إنه فارغ ولا بيانات ) وجزاك الله خيراً على طرحك للبيانات - يتم الترقيم حسب القيم الموجودة في الاستعلام النهائي . لذا في مديول بسيط نضع الكود التالي :- Dim Counter As Long Function GetSequentialNumber() As Long Counter = Counter + 1 GetSequentialNumber = Counter End Function وقمت بانشاء نموذج بسيط يحتوي مربع نص كمثال على الفلترة بالتاريخ في الحقل "تاريخ المباشرة" وزر لتنفيذ الأمر بأن يتم انشاء استعلام ( داخلي ) واستعلام مبني على الاستعلام الداخلي لعد السجلات وإدراج الترقيم التسلسلي في حقل جديد . في الزر ، وضعت هذا الكود ليقوم بالمهمة :- Dim db As DAO.Database Dim qdf As DAO.QueryDef Dim sql As String Dim userCriteria As String Dim whereClause As String If Not IsNull(Me.Txt_Date) And Trim(Me.Txt_Date) <> "" Then userCriteria = Trim(Me.Txt_Date) whereClause = "WHERE M.[تاريخ المباشرة] = '" & Format(dateValue(userCriteria), "dd-mm-yyyy") & "'" Else whereClause = "" End If sql = "SELECT (SELECT COUNT(*) FROM Table1 AS T " & _ "WHERE T.ID IN (SELECT ID FROM Table1 AS M " & _ whereClause & " ) AND T.ID <= M.ID) AS [رقم تسلسلي], " & _ "M.ID, M.[اسم الموظف], M.[اسم الدائرة], " & _ "M.[تاريخ المباشرة], M.[العنوان الوظيفي], " & _ "M.[الدرجة الوظيفية] " & _ "FROM Table1 AS M " & _ whereClause & ";" Set db = CurrentDb On Error Resume Next db.QueryDefs.Delete "Foksh" On Error GoTo 0 Set qdf = db.CreateQueryDef("Foksh") qdf.sql = sql qdf.Close DoCmd.OpenQuery "Foksh" حيث يتم انشاء استعلام داخلي ( مع أو بدون المعيار ) ، ثم يتم انشاء استعلام جديد Foksh ويتم فتحه ليتم ترقيم السجلات بتسلسل حسب عددها وليس حسب رقمها في الجدول . الملف المرفق : Ghassan - 1.accdb
-
المرفق في مشاركة المعلم @ابوخليل يعمل على إصدارين 2019 / 2010 وهنا النسخة محفوظة على 2010 مرة أخرى بدون ضغط 5تعديل بالنشاط.accdb
-
لا حاجة لإرسال المشروع كاملاً .. فقط الاستعلام والجداول الخاصة به ( بدون النماذج أو العناصر التي ليست لها علاقة في المطلوب ) .
-
على حسب ما أعرف فإنه عند تحويل الملف الى Accde فإنه يأخذ تشفير إصدار نسخة آكسيس التي قامت بحفظ الملف بهذه الصيغة . وعليه فإنه ليس من السهل ان يقوم إصدار 64 بت بتحويل الملف الى Accde لإصدار 32 بت . أرجو تصحيح معلومتي إن كانت غير صائبة أو أنني قد سلكت اتجاه آخر في فهمي للحديث ورزقنا وإيكم الصحة والتوفيق والثبات على الدين
-
وعليكم السلام ورحمة الله وبركاته ,, وهذه مشاركة مع ومعلمي الحبيب @ابوخليل أيضاً . إذا أردت الحصول على ترقيم تسلسلي منتظم بغض النظر عن الفلاتر أو عوامل التصفية داخل الاستعلام سيتوجب عليك استخدام اسلوب الاستعلام المتداخل أو الفرعي ( استعلام داخل استعلام ) وهنا الحاجة لإرسالك ملف . هذا من وجهة نظري والله أعلم
-
-
كمحاولة لما فهمته ,, انشئ استعلام جديد دون تحديد جداول ، وفي SQL ألصق الكود التالي :- SELECT [المتغيرات الشهرية].[رقم العامل], [المتغيرات الشهرية].[عدد الايام الفعلية], [المتغيرات الشهرية ساب].[عدد الايام الفعلية] AS عدد_الأيام_الفعلية_ساب, [المتغيرات الشهرية].الاضافي, [المتغيرات الشهرية ساب].الاضافي AS الاضافي_ساب, [المتغيرات الشهرية].[أيام الراحات للمهندس], [المتغيرات الشهرية ساب].[أيام الراحات للمهندس] AS أيام_الراحات_للمهندس_ساب, [المتغيرات الشهرية].[راحات الورادي المستح], [المتغيرات الشهرية ساب].[راحات الورادي المستح] AS راحات_الورادي_المستح_ساب, [المتغيرات الشهرية].[وردية 12 ساعه], [المتغيرات الشهرية ساب].[وردية 12 ساعه] AS وردية_12_ساعة_ساب, [المتغيرات الشهرية].[وردية 12 ساعة متعاقب], [المتغيرات الشهرية ساب].[وردية 12 ساعة متعاقب] AS وردية_12_ساعة_متعاقب_ساب, [المتغيرات الشهرية].الوجبات, [المتغيرات الشهرية ساب].الوجبات AS الوجبات_ساب, [المتغيرات الشهرية].[اجازات سنوية مدفوعة], [المتغيرات الشهرية ساب].[اجازات سنوية مدفوعة] AS اجازات_سنوية_مدفوعة_ساب, [المتغيرات الشهرية].[عدد ايام الغياب], [المتغيرات الشهرية ساب].[عدد ايام الغياب] AS عدد_أيام_الغياب_ساب FROM [المتغيرات الشهرية] INNER JOIN [المتغيرات الشهرية ساب] ON [المتغيرات الشهرية].[رقم العامل] = [المتغيرات الشهرية ساب].[رقم العامل] WHERE ((([المتغيرات الشهرية].[عدد الايام الفعلية])<>[المتغيرات الشهرية ساب].[عدد الايام الفعلية])) OR ((([المتغيرات الشهرية].الاضافي)<>[المتغيرات الشهرية ساب].[الاضافي])) OR ((([المتغيرات الشهرية].[أيام الراحات للمهندس])<>[المتغيرات الشهرية ساب].[أيام الراحات للمهندس])) OR ((([المتغيرات الشهرية].[راحات الورادي المستح])<>[المتغيرات الشهرية ساب].[راحات الورادي المستح])) OR ((([المتغيرات الشهرية].[وردية 12 ساعه])<>[المتغيرات الشهرية ساب].[وردية 12 ساعه])) OR ((([المتغيرات الشهرية].[وردية 12 ساعة متعاقب])<>[المتغيرات الشهرية ساب].[وردية 12 ساعة متعاقب])) OR ((([المتغيرات الشهرية].الوجبات)<>[المتغيرات الشهرية ساب].[الوجبات])) OR ((([المتغيرات الشهرية].[اجازات سنوية مدفوعة])<>[المتغيرات الشهرية ساب].[اجازات سنوية مدفوعة])) OR ((([المتغيرات الشهرية].[عدد ايام الغياب])<>[المتغيرات الشهرية ساب].[عدد ايام الغياب]));
-
لدي نسختين آكسيس في جهازي ، نسخة 2010 إصدار 32X و نسخة 2019 إصدار 64X ، وقمت بحفظ النسخة 32X من الأوفيس 32 . وكذلك الأمر في نسخة الـ 64X تم حفظها من نسخة الأوفيس 64 . لا أعلم ما المشكلة أو أين تكون ، ولكن على العموم أتمنى من أحد الإخوة من يملك إصدار 32 أن يفوم بالتجربة وإفادتي بالنتيجة . لأ لسه ، النسخة دي بس 4 مراحل يا معلم وصلت في تجهيز المراحل لغاية 14 .. ولسه الطريق قدامي محتاج شوية وقت
-
قمت بنسخ الصور من المشاركة السابقة ، وغفلت عن تجديد الرابط .. اعتذر منك تم تعديل الرابط 32x