-
Posts
2,354 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
85
Community Answers
-
Foksh's post in اصلاح اخطاء برنامج فواتير الكهرباء was marked as the answer
وعليكم السلام ورحمة الله وبركاته ..
أخي الكريم @عبده الطوخى 1970 ، في زر البحث وفي نهاية الكود ، فقط اضف السطر التالي
[Forms]![Frm_Data_entry]![Frm_Fatura_Main].[Form]![Net_Teams] = [Forms]![Frm_Data_entry]![Frm_Fatura_Main].[Form]![Total_Main_Meter] - [Forms]![Frm_Data_entry]![Frm_Fatura_Sub].[Form]![Total_Sub_Meter] وشوف النتيجة اذا صحيحة أو لأ
-
Foksh's post in ادراج قيمة من الجدول الرئيس وغير موجودة في الجدول الفرعي في الاستعلام المبني على الجدول الفرعي was marked as the answer
الآن تجري مباراة كرة قدم بين فريق المنتخب الأردني والمنتخب العراقي ، وأنا لست من متابعي كرة القدم ، ومتفرغ بانتظار انتهاء وقت العمل
هل هذه النتيجة المرجوة والمطلوبة ؟
في الإستعلام Query2 فكرة بسيطة باستخدام IIF ، وهذا ما لا تريده . لكن في الاستعلام Query3 فكرة مختلفة باستخدام NZ كما يلي :-
SELECT Table1.text1, Nz(Table2.text2,Table1.text2) AS text2 FROM Table1 LEFT JOIN Table2 ON Table1.txt_id = Table2.txt_id2 WHERE (((Table2.id)=(SELECT MAX(T2.id) FROM Table2 AS T2 WHERE T2.txt_id2 = Table1.txt_id) Or (Table2.id) Is Null));
Database2.accdb
-
Foksh's post in مطلوب اظهار القيمة العليا في كل سجل مرتبط was marked as the answer
قمت بإضافة الحقل id من الجدول Table2 في الاستعلام ، و استخدمت المعيار التالي
(SELECT MAX(T2.id) FROM Table2 AS T2 WHERE T2.txt_id2 = Table1.txt_id) وقد استخدمت دالة من دوال التجميع
المرفق مع الاستعلام الجديد "Query2" للوضوح فقط
Database1.accdb
-
Foksh's post in ارجوكم المساعدة في اذن تحويل بين المخازن was marked as the answer
أخي سامر ، دائماً ما نوجه الأخوة الذين يصادفهم مشاكل ألى ضرورة بناء الجداول بشكل سليم وصحيح ، وفي حالة مشروعك لا يسعني إلا تقديم المساعدة في الجزء الأول فقط .
التعديل الذي رأيته صحيحاً بالنسبة لي ما يلي :-
مصدر بيانات الكومبوبوكس المحول منه = رقم المخزن1 = سليم مع إضافة كود لتحديث الكومبوبوكس المحول اليه ( التوضيح لاحقاً )
مصدر بيانات الكومبوبوكس المحول اليه = رقم المخزن المحول اليه = مع إضافة شرط لإستعلام مصدر بياناته بحيث تم إضافة شرط في الحقل رقم المخزن كالآتي :-
<>[Forms]![نموذج1]![المحول منه] بحيث يتم عرض المخازن التي ليست في المخزن المحول منه .
الملف بعد التعديل
Transfer (1).accdb
وأضف على ما سلف ، هذا استعلام يعطيك اجمالي الكمية الواردة والمنصرفة لكل صنف حسب المخزن ، وطبعاً الشروط تستطيع إدارتها كما هي حاجة مشروعك ، قم بإنشاء استعلام جديد وألصق الكود التالي فيه ، واختر المخزن 1 أو 2
SELECT [حركة صنف].[رقم الصنف], Sum([حركة صنف].[الكمية الواردة]) AS إجمالي_الواردة, Sum([حركة صنف].[الكمية المنصرفة]) AS إجمالي_المنصرفة, الاصناف.[اسم الصنف] FROM الاصناف INNER JOIN [حركة صنف] ON الاصناف.[كود الصنف] = [حركة صنف].[رقم الصنف] WHERE ((([حركة صنف].[رقم المخزن2])=[Forms]![نموذج1]![المحول منه])) GROUP BY [حركة صنف].[رقم الصنف], الاصناف.[اسم الصنف];
-
Foksh's post in اظهار بيانات الفورم في نتيجة طالب was marked as the answer
العفو يا صديقي ، إذا انتهت مشكلتك ووجدت الحل ، قم بإغلاق الموضوع باختيار افضل اجابة 🙏
-
Foksh's post in ازاى انقل قيمة حقل من فورم الى اخر was marked as the answer
اخي الكريم ، اذا كان هدفك هو فتح النموذج بشرط السجل المحدد :-
DoCmd.OpenForm "calculated_frm", , , "CustomerID = " & Me!CustomerID او ، قم بالتوضيح كونك قمت بتعديل طلبك في المشاركة الأولى
-
Foksh's post in عرض تقرير حسب فئات العمر للعمال was marked as the answer
وعليكم السلام ورحمة الله وبركاته ,,
بدايةً قمت بتغيير بعض اسماء العناصر من العربية الى الانجليزية ، ولكنها ليست ذات صلة بالحل .
اجعل هذا الاستعلام مصدر سجلات التقرير
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
اعتذر ، لم أر تعليق الأستاذ @ابو البشر ، ولكن له الأصل في حق الإجابة
كنت في الصفحة ولم اقم بعمل تحديث لها قبل الرد أثناء كتابة الاستعلام والتجارب عليه
-
Foksh's post in مشكلة مع كود سكانر was marked as the answer
حاول استخدام مكتبة WIA (Windows Image Acquisition) التي قد تكون متوافقة مع سكانر من نوع الـ HP -
Foksh's post in كيف يمكن تلوين صف باكملة فى النموذج الفرعى باى لون ـ عند التركيز على اى عمود was marked as the answer
إذاً يا صديقي ، الخطوات يا صديقي كالآتي ..
قمت بإنشاء مربع نص غير منضم ومخفي اسميته txtCurrentID ، وفي حدث في الحالي On Current للنموذج الفرعي ، قمت بوضع هذا السطر البسيط :-
Me.txtCurrentID = Me.itemcod لجعل قيمة مربع النص هذا في كل صف = قيمة مربع النص itemcod .
الآن قمت بتحديد جميع مربعات النص في النموذج الفرعي التي اريد ان يتم تغيير خلفيتها وفي التنسيق الشرطي لها ، قمت بإضافة شرط جديد
Expression Is : [txtCurrentID]=[itemcod]
واخترت لون الخلفية للمربعات كما اريد :-
والنتيجة في الملف المرفق :-
تلوين الفرعى.accdb
-
Foksh's post in مساعدة في جمع حقل حسب نوع الحركة was marked as the answer
أخي سامر ، ارجو منك مستقبلاً أن تركز في طبيعة المعلومات التي تقدمها لنا .
ففي المشاركة الأولى كان النموذج اسمه "الحركة" ، وهو بعد ارسالك للمرفق يقوم بفتح التقرير "حركة حالية" من خلال زر "الطباعة" . وبعد ارسالك للكود التالي :-
توضح بعد المرفق انك قفزت لموضوع آخر مختلف في نموذج آخر وتقرير آخر ..
على العموم بالنسبة للطلب الأخير وهو بخصوص الكود ؛ فقد تم تصويب الكود بوضعه في المكان الصحيح - وليس في حدث عند تحميل التقرير ، ودون الإعتماد على مربع النص "نوع الحركة" في التقرير نفسه ؛ بل بالقائمة المنسدلة "نوع الحركة" من النموذج "التقرير" - إلى الحدث عند التنسيق للقسم الموجود فيه المربعين ( w , m ) .
المرفق بعد التعديل .
الخزينة test.accdb
-
Foksh's post in طلب : فلترة وفرز البيانات was marked as the answer
اخونا الكريم @samyegypt1 ، قرأت طلبك أكثر من مرة محاولاً فهم طلبك ، إلا انني وجدت في نقاط طلبك نقص في المعلومات في معظمها . وأعتقد أن حال من مر من هنا هو كحالي .
فأرجو أن تمنحنا تفصيلاً أكثر لكل نقطة منفصلة بشكل واضح حتى تحصل على طلبك في الحلول تبحث عنها 🤗 .
-
Foksh's post in مشكلة عدم تطاببق نتائج البحث في النموذج الفرعي او التقرير was marked as the answer
وعليكم السلام ورحمة الله وبركاته..
مشاركة و إضافة لما تفضل به معلمي الجليل الأستاذ أبو خليل ، جرب حصر المعيار بعلامتي تنصيص ، كالآتي :-
If Not IsNull(Me.Mo) Then varFilter = (varFilter + " AND ") & "[Mo] = " & Me.Mo End If جرب وأخبرنا بالنتيجة 😇
-
Foksh's post in مساعدة في فتح قاعدة بيانات was marked as the answer
قد يكون مفتاح الشيفت محمي ،
اذا قاعدة البيانات بصيغة Accde أو Mde فلاااااااا تتعب نفسك في البحث عن حل
أما إذا كانت قاعدة البيانات بصيغة Accdb أو Mdb فهناك عدة طرق . منها إنشاء قاعدة بيانات جديدة واستيراد المكونات لها ، وإذا طلب منك كلمة مرور لقاعدة البيانات فاكتب الباسوورد الذي تملكه.
غير ذلك.......... ليس لي دخل 😅
-
Foksh's post in تقسيم مديونية عملاء الى مدين ودائن was marked as the answer
من خلال استعلام جديد ، اختر الجدول ، وبالافتراض ان الحقل اسمه "رصيد" اضف التعبيرات الثلاثة التالية في الحقول :-
دائن: IIf([رصيد] < 0, [رصيد], Null) مدين: IIf([رصيد] > 0, [رصيد], Null) منتهى: IIf([رصيد] = 0, [رصيد], Null) جرب واخبرني بالنتيجة
-
Foksh's post in مساعدة في التواريخ was marked as the answer
وعليكم السلام ورحمة الله وبركاته ،،
استخدم الكود التالي لتقسيم التاريخ الحالي وتوزيعه الى مربعات النص :-
Private Sub oktxt_Click() Me.yn.Value = Year(Date) Me.mn.Value = Month(Date) Me.dn.Value = Day(Date) Me.mt.Value = Format(Date, "mmmm") Me.dt.Value = Format(Date, "dddd") End Sub
ملفك بعد التعديل : time.accdb
-
Foksh's post in هل هنالك دالة في استعلامات الاكسس يعطي الفرق بين تاريخين 360 يوم بدلا من 365 يوم في كل سنة was marked as the answer
أعتقد أنه يمكنك ذلك ، من خلال الكود التالي ، قم بالتجربة والرجوع بالنتيجة ( لأنني لا استوعب فكرة أم تكون السنة 360 ، أو اعتبار أن جميع الشهور 30 يوم )
Function DateDiff360(date1 As Date, date2 As Date) As Long Dim monthsDiff As Long monthsDiff = DateDiff("m", date1, date2) Dim daysDiff As Long daysDiff = DateDiff("d", DateAdd("m", monthsDiff, date1), date2) DateDiff360 = monthsDiff * 30 + daysDiff End Function ويتم الإستدعاء كالتالي :-
Dim daysDifference As Long daysDifference = DateDiff360([Date1], [Date2])
-
Foksh's post in تغيير اسم تقرير ( pdf او ورد ) الذي يتم تصديرة الى قيمة (لمتغير او حقل ) مع تاريخ والوقت was marked as the answer
تفضل يا صديقي ،، التعديل الجديد :-
Private Sub ExportReport(formatType As String, userName As String) On Error Resume Next Dim fileName As String Select Case formatType Case "PDF" fileName = userName & " - " & Format(Now(), "yyyy-mm-dd") & " " & Format(Now(), "hh nn AM/PM") & ".pdf" Case "RTF" fileName = userName & " - " & Format(Now(), "yyyy-mm-dd") & " " & Format(Now(), "hh nn AM/PM") & ".doc" Case "Excel" fileName = userName & " - " & Format(Now(), "yyyy-mm-dd") & " " & Format(Now(), "hh nn AM/PM") & ".xls" End Select Dim filePath As String With Application.FileDialog(2) .Title = "اختر موقع الحفظ" .AllowMultiSelect = False .InitialFileName = fileName If .Show = -1 Then filePath = .SelectedItems(1) Else Exit Sub End If End With Dim outputFormat As Variant Select Case formatType Case "PDF" outputFormat = acFormatPDF Case "RTF" outputFormat = acFormatRTF Case "Excel" outputFormat = acFormatXLS End Select DoCmd.OutputTo acOutputReport, namerpts, outputFormat, filePath, True, , , acExportQualityPrint End Sub
الملف بعد التعديل :- ( شريط طباعة.accdb )
-
Foksh's post in اظهار اخر قيمة فى النموذج الفرعى was marked as the answer
وعليكم السلام ورحمة الله وبركاته ،،
فقط استبدل مصدر سجلات النموذج الفرعي ، بالإستعلام التالي ( SQL ) :-
SELECT s10.g10s1, s10.g1s1, s10.g1s29, s10.g1s30 FROM s10 WHERE (((s10.g1s1)=[Forms]![copy2]![g1s1]) AND ((s10.g1s30)=(SELECT MAX(g1s30) FROM s10 WHERE g1s1 = [Forms]![copy2]![g1s1] ))); حيث تم اضافة شرطين للإستعلام دون تغيير أو تعديل أي شيء في تصميمك ، ولكني أنصحك بالإبتعاد عن المسميات المحجوزة في آكسيس مثل Copy لإنه اسم إجراء في آكسيس ؛ وهذا سيلافيك حدوث أخطاء ومشاكل في المستقبل .
ملفك بعد التعديل : ( copy.accdb )
-
Foksh's post in دالة دي لوك اب DLoockup was marked as the answer
وعليكم السلام ورحمة الله وبركاته ,,
اخي الكريم انت استخدمت الدالة DLookup لجلب رقم المقترض ( على ما أعتقد ) بناءً على اسم الموظف في الكومبوبوكس ، هل هذا صحيح ؟؟
وبإمكانك بدلاً من ذلك استخدام نفس مصدر الكومبوبوكس com1 ولكن هنا سنختار العمود رقم 2 حيث :-
( العمود 0 = اسم الموظف ، والعمود 1 = الجهة ، والعمود 2 = رقم المقترض ) ،
لذا تم استبدال الجملة التالية :-
Me.n2 = DLookup("[num]", "karz", "nam LIKE '*" & Me.com1 & "*'") بالجملة :-
Me.n2 = com1.Column(2) أيضاً تم إجراء تعديل بسيط على عدد الأعمدة في الكومبوبوكس com1 وعرض كل عمود ؛ كما في الصورة :-
الملف بعد التعديل
القرضة الحسنة اصدار 31.zip
-
Foksh's post in التحويل إلى حروف كابتيل capital was marked as the answer
ومشاركة مع أستاذي الجليل @jjafferr
Me.YourTextBox = UCase(Me.YourTextBox)
-
Foksh's post in عدم تعارض المستخدمين لقاعدة بيانات مقسمة was marked as the answer
لا اعلم ما هي تسلسل الأحداث في مشروعك ، ولكن هذه الطريقة التي اعتمدها من زمااان ولم أواجه بها أي مشكلة ؛ كما وجدت أنها تغنيني عن أكواد أو دوال كثيرة قد لا يكون لها ضرورة
-
Foksh's post in جمع قيم فى نموذج ماستر وتفاصيل was marked as the answer
هي جمع ولا طرح
جرب كده اذا كان طلبك ولا انا فهمت غلط
tofee.accdb
-
Foksh's post in مطلوب نقل كود من زر أمر إلى مربع نص عند ضغط إنتر عليه ينفذ كود الزر was marked as the answer
انقل الحدث من الزر الى بعد التحديث لمربع النص فقط ، وهنا تستغني عن الزر كاملاً اذا أردت .
أو استدعاء حدث في حدث آخر ..
db1.mdb