نجوم المشاركات
Popular Content
Showing content with the highest reputation on 01/17/21 in all areas
-
شكرا لك استاذ ماجد مجهود كبير بارك الله فيك3 points
-
3 points
-
وعليكم السلام-فقط يمكنك استخدام هذه المعادلة =IF([@[تاريخ الإنتهاء الفعلي]]="",[@[التاريخ المخطط للإنتهاء]]-[@[تاريخ إرسال المهمة]],[@[تاريخ الإنتهاء الفعلي]]-[@[تاريخ إرسال المهمة]]) المهام -2.xlsx3 points
-
بارك الله فيك استاذ ماجد وزادك الله من فضله3 points
-
اتفضل اخى الكريم كلمة السر لفتح ملفك 3058142 points
-
2 points
-
الطريقة الثانية : بدون تغيير في عناصر النموذج و لكن ستواجه مشكلة الحفظ في حدث ما قبل التحديث للنموذج وهذا يستلزم معالجته بطريقة اخرى لأن الطريقة الثانية هذه تستلزم تحديث النموذج وأنت جعلت حقل الفرع مطلوب Private Sub idate_AfterUpdate() On Error GoTo i_err Me.Refresh i_err: If Err.Number = 3022 Then 'Or Err.Number = 2115 Response = acDataErrContinue Beep MsgBox "التاريخ مكرر" Undo End If End Sub مساعدة2.rar2 points
-
صحيح اخي احمد .... اوقات الواحد يحاول يعدلها في راسه وما تتعدلش دعنا ننزل على رغبة الأخ مصطفى اولا حقل التاريخ مرتبط بحقل هو بالاصل مفتاح يعني ماراح يسمح بالتكرار فيمكننا معالجته بأكثر من طريقة الطريقة الاولى : ادخال التاريخ في حقل غير منضم فإن قبله اكسس يتم نقله الى الفورم وتسجيله في الجدول وإلا يتم الغاء العملية Dim x As Boolean On Error Resume Next x = DLookup("[تاريخ الدفعة]", "[تسجيل دفعات الصرف]", "[تاريخ الدفعة]=#" & Me.idate & "#") If x = True Then DoCmd.CancelEvent MsgBox "التاريخ مكرر" Exit Sub Else End If مساعدة.rar2 points
-
وعليكم السلام-عليك بإستخدام هذه المعادلة =IFERROR(IF($A2="خاص",VLOOKUP($O2,المسافة!$B$2:$G$110,6,0)/2,VLOOKUP($O2,المسافة!$B$2:$G$110,6,0)),"") معادلة - 1خاص.xlsm2 points
-
وعليكم السلام-تفضل يمكنك استخدام هذه المعادلة =IFERROR(DATEDIF(TODAY(),E12,"y") & "سنة " &DATEDIF(TODAY(),E12,"ym")&" شهور "&DATEDIF(TODAY(),E12,"md")&" يوم ","") 1رقم قومي - نسخة.xlsx2 points
-
بارك الله فيك استاذ جعفر وزادك الله من فضله2 points
-
وعليكم السلام-تفضل لك ما طلبت بمعادلات المصفوفة ... لابد من الضغط على (Ctrl+Shift+Enter) بعد نسخ المعادلة وليس Enter فقط كباقى المعادلات MM1.xlsx2 points
-
وعليكم السلام-يمكنك ذلك بهذه المعادلة =IF(DATEDIF(A4,B4,"md")>22,1+DATEDIF(A4,B4,"M"),DATEDIF(A4,B4,"M")) أما اذا كنت تريد ان تتأكد من امكانية تطبيق هذه المعادلة بالأكسيس فعليك برفع مشاركة اخرى بقسم الأكسيس فرق بالشهور1.xlsx2 points
-
وعليكم السلام-يمكنك استخدام هذه المعادلة لطلبك =IFERROR(VLOOKUP($A2,$K$2:$L$60,2,0),"") numbers1.xlsx2 points
-
أحسنت استاذ ماجد بارك الله فيك وزادك الله من فضله2 points
-
ملف اكسل فيه اوراق لتسهيل قضاء الصلوات الفائته اعرض الملف السلام عليكم 🙂 احتجت لطريقة لمتابعة قضاء بعض الصلوات الفائته ، فعملت هذا الملف وفيه 3 اوراق مختلفه ، حسب ذوق كل شخص ، ورقة لكل سنة ، اطبعها و أشّر على كل صلاة قضيتها ، وافضّل الورقة الثانية او الثالثة ، لانك تتحدى نفسك بملازمة تاريخك اليومي 🙂 مع مراعة اني لم التفت للسنة الهجرية ، وانما عملت على الاشهر الميلادية لتسهيل قضاء الصلوات اليومية مقارنة مع تاريخ اليوم الميلادي ، وللعلم ، فإن التاريخ الهجري اقل من التاريخ الميلادي بحوالي 11 يوم لكل سنة : 1. . 2. . 3. . جعفر صاحب الملف jjafferr تمت الاضافه 14 ينا, 2021 الاقسام أدوات عامة1 point
-
سلسلة تعليم بور كويري ........الجزء السابع لماذا نستخدم الاتصال فقط بالبيانات في بور كويري WHY LOAD DATA AS CONNECTION ONLY???? في الفيديو دة تقدر تجيب بيانات كتير وتعمل اتصال فقط بيها علشان متعملش حمل على الشيت وتقلل مساحته وكمان هانضف البيانات ونشيل البيانات اللي موش عايزنها ونفصل الاسم الاول عن الاسم الأخير وندمج الجدولين مع بعض ونعمل التعديلات والاضافات اللي عايزينها https://www.youtube.com/watch?v=HXEFMfPYyH0&t=25s1 point
-
ما المقصود محسوبة يدوياً اود ان ابنهك الى شىء هام دالة DateDiff في الاساس تقوم بعرض الفاصل بين تاريخين سواء يوم او شهر او سنة فمثلاً الفاصل الزمني بين 01/01/2021 الى 31/12/2021 لن يكون 1 سنة بل سيكون 11 شهر + 30 يوم الفاصل الزمني بين 01/01/2021 الى 31/01/2021 لن يكون شهر بل سيكون 30 يوم الفاصل الزمني بين 01/01/2021 الى 31/03/2021 لن يكون ثلاثة اشهر بل سيكون 2 شهر + 30 يوم وبناءأ عليه فالكود المستخدم صحيح 100% باذن الله والشكر موصول لصاحب الكود الاساسي جعله الله في ميزان حسناته تحياتي1 point
-
إن شاء الله هبقى ارفع البرنامج فى موضوع منفصل واشرح البرنامج ليستفيد منه أعضاء الموقع الكرام1 point
-
وعليكم السلام ورحمة الله وبركاته والله اتأخر ردك حبتين ان كان ما تعني مرفق من نوع OLE فاطلع علي هذا الربط للأستاذ جعفر حفظه الله تمنياتي بالبتوفيق ومن باب النصح اضافة المرفقات داخل قاعدة البيانات يزيد من حجمها بشكل مبالغ فيه وان كان ولا بد بامكانك أن ترفق المرفقات بفولدر بجوار البرنامج وتضع لنك لها داخل قاعدة البيانات1 point
-
1 point
-
1 point
-
السلام عليكم تفضل اخي الكريم Option Compare Database Option Explicit Private Const IDC_HAND = 32649& Private Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long Private Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long Private Sub Cmd01_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) SetCursor LoadCursor(0, IDC_HAND) End Sub تحياتي1 point
-
هذه المعادلة =LOOKUP(MAX(ورقة2!$B$1:$B$100)+1,ورقة2!$B$1:$B$100,ورقة2!$B$1:$B$100) salman.xlsx1 point
-
السلام عليكم لديا مشاركة بسيطة في الاحتساب لقيمة معينة بناء على ثلاث شرائح او نسب بطريقة بسيطة ومختصرة بدلا من المعادلة المطولة وصولا للمعلومة بسرعة ويدويا بمجرد النظر للمبلغ ولاي شريحة يندرج فيتم تخفيض (تنقيص)مبلغ ثابت من المبلغ الاساسي وضرب الباقي في قيمة النسبة المئوية او العكس من صافي المبلغ كيف اضيف له قيمة الشرائح للحصول على المبلغ الاساسي والشرح موضح في ملف الاكسل المرفق طبعا المثال الذي عملت عليه تم اقتباسة من احدى مشاركات المنتدى وكذلك الحل وعملت حل بطريقة مختصرة قد يستفيد البعض من ذلك. وتقبلوا خالص تحياتي معادلة مختصرة لايجاد القيمة بناءعلى عدة شرائح.xlsx1 point
-
نعم يمكن استخدام دالة nz اذا كان حقلي التاريخ فارغاً Frook3: CalcAgem(Nz([AGAM1];0);Nz([AGAM2];0))+IIf(CalcAgeD(Nz([AGAM1];0);Nz([AGAM2];0))>22;1;0) UP-New Microsoft Access 11111.rar تحياتي1 point
-
السلام عليكم ورحمة الله اخى الكريم يمكنك تعديل هذا الجزء من المعادلة بحيث لا تتخطى الصف الذى تطهر فيه النتائج =INDEX($A$2:$D$6;COUNTA($A$2:$A$6) مثلا ان الرقم 6 فى المعادلة يمكنك تغييره الى 10 او 50 او 100 او 1000 وهكذا الى آخر نطاق قد تظهر فيه البيانات و بذلك سوف تطهر لديك كل النتائج1 point
-
وعليكم السلام 🙂 وههلا وسهلا بك في المنتدى 🙂 للإستفادة القصوى من المنتدى ، رجاء قراءة قوانين المنتدى : https://www.officena.net/Tips/Questions.htm الطرق الاسهل: 1. استخدم الامر OpenArgs لإرسال اسم النموذج ، عند فتح النموذج Z02_Load_File ، هكذا : DoCmd.OpenForm "Z02_Load_File",,,,,,me.name او لإرسال الرقم 123456 DoCmd.OpenForm "Z02_Load_File",,,,,,"123456" وفي اي من احدات النموذج Z02_Load_File ، يمكنك قراءة هذه القيمة بإستعمال me.OpenArgs ، وطبعا تقدر ترسل اي عدد من القيم بهذه الطريقة ، الشرط ان القيم تكون بين "" ، مثل : DoCmd.OpenForm "Z02_Load_File",,,,,,"123456|Finance_Department" ثم في النموذج Z02_Load_File ، تستعمل الامر Split لتفرق بين هذه القيم. 2. ان تعمل متغير في وحدة نمطية مستقلة ، هكذا : Option Compare Database option explicit Global myValue as string او public myValue2 as integer ثم لم تعطي القيمة قبل ان تفتح النموذج Z02_Load_File ، هكذا: myValue = "This is a test" DoCmd.OpenForm "Z02_Load_File" او myValue = 998877 DoCmd.OpenForm "Z02_Load_File" وفي اي من احدات النموذج Z02_Load_File ، يمكنك قراءة هذه القيمة بإستعمال اسم المتغير myValue او myValue2 ، 3. او نفس طريقة #2 ، ولكن باستعمال TempVar جعفر1 point
-
هذه الحالة تظهر حين تقوم بعملية فلترة للبيانات... يكفي إلغاء الفلترة وستعود الأمور إلى مجاريها -اختفاء اللون الأزرق لأرقام الصفوف مع ظهور هذه الصفوف- (مع مراعاة إظهار الصفوف المخفية إن تم إخفاءها يدويا)... تحياتي الخالصة1 point
-
1 point
-
وعليكم السلام ... يمكنك استخدام هذه المعادلة بالتنسيقات الشرطية =OR(AND(I5=$F5,I5<>""),AND(I5=$G5,I5<>"")) حساب.xlsx1 point
-
عمل رائع بارك الله فيك استاذ ماجد وزادك الله من فضله1 point
-
تفضل جرب هذا الملف , يمكنك التعديل عليه كما تشاء UserformKeypad.xls1 point
-
1 point
-
1 point
-
1 point
-
وعليكم السلام استاذ صالح .. جرب هذا وأتمنى ان يفيدك فقد تم نقاش وتناول هذا الموضوع من قبل عمل برنامج يعمل علي الموازين التي تطبع باركود كيف يتم احتساب وزن وسعر واسم الصنف في ملصق الباركود1 point
-
1 point
-
1 point
-
This Macro Sub transfer_data() Application.ScreenUpdating = False Dim D As Worksheet Dim array_sheet, Itm Dim Flter_rg As Range, Ro% array_sheet = Array("رصيد", "ديون", "حالص") Set D = Sheets("Data") D.Select Set Flter_rg = D.Range("A2").CurrentRegion For Each Itm In array_sheet With Sheets(Itm) .Range("A2").CurrentRegion.Clear Flter_rg.AutoFilter 9, .Name Flter_rg.SpecialCells(12).Copy .Range("A2").PasteSpecial Ro = Cells(Rows.Count, 1).End(3).Row If Ro > 2 Then .Range("A3").Resize(Ro - 2).Value = _ Evaluate("Row(1:" & Ro - 2 & ")") End If End With Next Itm D.Select D.AutoFilterMode = False Application.ScreenUpdating = True Application.CutCopyMode = False End Sub file included Aziz_filter.xlsm1 point
-
بالخدم استاذي العزيز ويارب مشافى ان شاء الله انت وجميع الناس بحق محمد وال محمد1 point
-
السلام عليكم ورحمة الله وبركاته ممكن تجرب الملف .. الالماني .. الاختصار de .. المعادلة =Translate(A4,"ar","en") translate.xlsm1 point
-
السلام عليكم ورحمة الله وبركاته تفضل اخوي العزيز .. إيميلات الطلبه.xlsx1 point
-
جرب هذا الكود Option Explicit Sub auto_formula() Dim Mx% With Sheets("النتيجة") Mx = .Cells(Rows.Count, "B").End(3).Row .Range("A10").Resize(Mx - 9).Value = _ Evaluate("Row(1:" & Mx - 9 & ")") With .Range("AK10").Resize(Mx - 9, 3) .Formula = _ "=IF($AJ10=AK$7,COUNTIF($AJ10:$AJ$10,$AJ10),"""")" .Value = .Value End With End With End Sub1 point
-
1 point
-
السلام عليكم ورحمة الله وبركاته اقدم الى المكان الذى لا انسى فضله علي هذا العمل المتواضع تقبل الله منا ومنكم صالح الاعمال . بسم الله ◀مؤشرات قياس الاداء (KPIS) Key Performance Indicators وهو مقياس كمى لقياس هدف الاعمال والتى ترتبط بالاستراتيجية الخاصة بالشركة وهى مقياييس تسمح للاداره بتقييم الاداء بصوره سريعة وهى تستخدم مؤشرات مالية وغير مالية لمقارنة الاهداف الموضوعه . ◀وقد تناولنا فى هذا النموذج الخاص KPI كيفية قياس مدى تحقيق الهدف لمديرى ومشرفين وفريق المبيعات وتكون هذا النموذج من ◀ورقة عمل الهدف الاستراتيجى : وهنا يتم ادخال فترة التطبيق وشكل مؤشرات الهدف ورد الفعل المناسب فى حالة تحققه ◀ورقة عمل من 1 : 20 : وهى بمثابة اجنده شهرية لكل فرد يسجل فيها التارجيت او الهدف واجمالى المتحقق اليومى وهنا سيعرض لك KPI يومى وشهرى وايضا يوجد ملخص عام فى الاعلى ◀ورقة عمل التقرير العام : وهى تشمل قياس الاهداف لكل فرد بشكل يومى وشهرى وهنا يتم طباعة هذه الصفحة وارسالها لمتخذى القرار باى شكل . هذا وماكان من توفيق فمن الله وحده وماكان من خطأ او سهوا او نسيان فمنى ومن الشيطان والله والرسول منه براء ------------------- النموذج متاح للجميع تحميله وكلمة المرور هى 123 نصيحة : يمكنك التعديل على النموذج كما تريد خذ الافكار وطبق على مجال عملك --------------- تحميل الملف http://www.mediafire.com/file/501t47bzv7oh3zh/KPI-2018.xlsm/file ------------------- #خبير_اكسيل #KPI_EXCEL #EXCEL_BI #زكاة_العلم_نشره لاتنسونا بصالح دعاؤك يرجى مشاركة الجميع KPI-2018.xlsm1 point
-
السلام عليكم ورحمة الله وبركاته إخواني الكرام .. أحاول دائماً أن آتي إليكم بما هو مفيد وجديد ، في عالم الإكسيل ، اللامتناهي ، والممتد أقدم لكم اليوم دالة معرفة .. تقوم الدالة باستخراج البريد الإلكتروني أو الايميل Email من داخل النصوص ... قد تفيد أحد ما في وقت ما .. أترككم مع الدالة ومع الملف المرفق .. تقبلوا تحياتي Extract Email Address.rar1 point
-
الكود يتم كتابته في شاشة الكود والتي يمكن إظهارها عن طريق الضغط على alt + F11 .. على سبيل المثال قم بتصميم نموذج جديد يحتوي على أداتي زري Command Button وأداة مربع نص TextBox .. قم بالنقر بزر الماوس الأيمن على الأداة Command Button وقم باختيار إنشاء حدث ثم منشئ البرامج .. هنا ستظهر نافذة الكود .. ستجد بأعلى نافذة الكود قائمتين منسدلتين بجوار بعضهما البعض .. اختر في اليسرى General وهنا سينقلك لقسم التصريحات العامة حيث يمكنك تعريف المتغيرات العامة هنا أو استخدام دوال ال API كما هو الحال بالنسبة لهذا الخلاص .. الخلاصة: قم بنسخ السطر التالي هناك Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long ثم بعد ذلك اختر من القائمة المنسدلة إحدى أدوات ال Command Button وقم بوضع هذا السطر: LoadKeyboardLayout "00000401", 1 وفي الأداة الثانية قم بوضع السطر الآخر LoadKeyboardLayout "00000409", 1 بعد ذلك قم بتجربة البرنامج وانظر كيف نقوم بالتحويل بين اللغتين عن طريق الضغط على الأزرة .. تحياتي :(1 point
-
هذ السطر في قسم التصريحات العامة General_Declarartion: Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long وهذا للتحويل إلى اللغة العربية: LoadKeyboardLayout "00000401", 1 وهذا للتحويل إلى اللغة الإنجليزية: LoadKeyboardLayout "00000409", 1 :)1 point
-
اذا أردت نسخ سجل بالكامل فلا أفضل استخدام استدعاء أوامر القوائم و لكن يتم ذلك بال dao أو ال ado هذا مثال لنسخ السجل الموجود فى النموذج الي سجل جديد مع تغيير الترقيم باضافة 1 و هو يحتاج الي اضافة مرجع dao و يتم فيه نسخ السجل فى النموذج الحالي و اضافة سجل و فتح النموذج علي السجل الجديد Private Sub copyRec_Click() Dim MYDB As Database, MYSET1 As Recordset Set MYDB = CurrentDb() Set MYSET1 = MYDB.OpenRecordset("Query-or-Tablename") MYSET1.AddNew Dim n As Long n = DMax("inID", "Query-or-Tablename") + 1 MYSET1![ID] = n MYSET1![Field1] = Me![TextBox1] MYSET1![Field2] = Me![TextBox2] MYSET1![Field3] = Me![TextBox3] MYSET1![Field4] = Me![TextBox4] MYSET1.Update MYSET1.Close Set MYDB = Nothing DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 MsgBox " Copy Record Data Completed into record no. :" & Str(n), 64, "Alert" Dim stLinkCriteria As String stLinkCriteria = "[ID]=" & n DoCmd.OpenForm "Formname", , , stLinkCriteria End Sub1 point