نجوم المشاركات
Popular Content
Showing content with the highest reputation on 05/29/24 in all areas
-
وعليكم السلام -يمكنك استخدام هذه المعادلة =INDEX($O$3:$O$500,MATCH(B3,$M$3:$M$500,0),MATCH(C3,$N$3:$N$500,0)) نقل النسب2.xls3 points
-
تحويل الوقت والتاريخ المحلى الي التوقيت عن التوقيت العالمي الموحد (UTC) عرض تاريخ و اوقات دول او مدن مختلفة في نفس الوقت بناء على فرق الوقت بينعم ولين التوقيت العالمي الموحد جدول tblTimeZones والذى يتكون من الحقول ShowInForm : اختيار البلدان للعرض في النموذج CountryName : اسماء المدن و البلدان TimeDifference : فرق التوقيت عن التوقيت العالمي الموحد (UTC) الفارق الزمني (بالساعات، مع إشارة "+" أو "-") DaylightSavingTime : التوقيت الصيفي اولا اكواد الوحدة النمطية Option Compare Database Option Explicit #If VBA7 Then Private Declare PtrSafe Function GetSystemTimeAPI Lib "kernel32" Alias "GetSystemTime" (lpSystemTime As SYSTEMTIME) As Long #Else Private Declare Function GetSystemTimeAPI Lib "kernel32" Alias "GetSystemTime" (lpSystemTime As SYSTEMTIME) As Long #End If Private Type SYSTEMTIME ' Structure for SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type Public Function GetUTC() As Date ' Function to get the current UTC time Dim utctime As Date Dim sysTime As SYSTEMTIME Call GetSystemTime(sysTime) utctime = DateSerial(sysTime.wYear, sysTime.wMonth, sysTime.wDay) + TimeSerial(sysTime.wHour, sysTime.wMinute, sysTime.wSecond) GetUTC = utctime End Function Private Function GetSystemTime(lpSystemTime As SYSTEMTIME) As Long ' Declaration to get system time GetSystemTime = GetSystemTimeAPI(lpSystemTime) End Function هذه الدوال توفر الحصول على الوقت الحالي بالتوقيت العالمي (UTC) SYSTEMTIME هو هيكل يستخدم لتخزين التاريخ والوقت GetSystemTimeAPI هى احد دوال API لـ Windows وظيفتها الحصول على الوقت العالمي (UTC) GetUTC هى دالة تستدعي الدالة GetSystemTimeAPI للحصول على الوقت الحالي بالتوقيت العالمي (UTC) ويتم اعادته كقيمة تاريخ/وقت طيب بعد ذلك الاكواد داخل النموذج النموذج يعرض توقيتات متعددة لدول مختلفة بناء على الاعدادات الموجودة في الجدول tblTimeZone Const FormatDisplayDate As String = "dd/mm/yyyy" Const FormatDisplayTime As String = "hh:mm:ss AM/PM" Const CountDisplayCountry As Integer = 5 Private Sub Form_Load() ' Set the form's timer interval to update every 1 second Me.TimerInterval = 1000 ' Call the function to update times and dates UpdateTimes End Sub Private Sub Form_Timer() ' Call the function to update times and dates when the timer event occurs UpdateTimes End Sub Private Sub UpdateTimes() On Error GoTo ErrorHandler Dim rs As DAO.Recordset Dim utctime As Date Dim i As Integer ' Get the current UTC time utctime = GetUTC() ' Debug.Print "UTC Time: "; utctime ' Open the recordset to fetch data from the tblTimeZones table Set rs = CurrentDb.OpenRecordset("SELECT * FROM tblTimeZones WHERE ShowInForm = True") ' Check if recordset is not empty If Not rs.EOF Then rs.MoveFirst i = 1 ' Loop through each record in the recordset and update the form fields Do While Not rs.EOF And i <= CountDisplayCountry ' Limiting to 5 fields as per your requirement ' Assign values to form fields for each country If FieldExists("txtCountry" & i) Then Me("txtCountry" & i) = rs!CountryName Me("txtTimeDifference" & i) = rs!TimeDifference Me("chkDaylightSavingTime" & i) = rs!DaylightSavingTime ' Adjust time and date based on daylight saving time Dim localTime As Date If rs!DaylightSavingTime Then localTime = DateAdd("h", rs!TimeDifference + 1, utctime) Else localTime = DateAdd("h", rs!TimeDifference, utctime) End If Me("txtTime" & i) = Format(localTime, FormatDisplayTime) Me("txtDate" & i) = Format(localTime, FormatDisplayDate) End If rs.MoveNext i = i + 1 Loop Else ' Display a message if no records found for countries to display 'MsgBox "No countries found to display in the form.", vbExclamation, "No Records" Exit Sub End If ' Close the recordset rs.Close Set rs = Nothing Exit Sub ExitHandler: Exit Sub ErrorHandler: Select Case Err.Number Case 2465 ' Can't find the Object Resume ExitHandler Case Else MsgBox "Error in UpdateTimes: " & Err.Number & vbCrLf & Err.Description, vbExclamation 'Debug.Print Err.Number & " " & Err.Description Resume ExitHandler End Select End Sub Private Function FieldExists(fieldName As String) As Boolean ' Check if a field exists in the form On Error Resume Next FieldExists = (Me(fieldName).Name <> "") On Error GoTo 0 End Function الاعلان عن الثوابت Const FormatDisplayDate : للتحكم فى شكل تسيق التاريخ الذى سوف يتم عرضه Const FormatDisplayTime : للتحكم فى شكل تسيق الوقت الذى سوف يتم عرضه Const CountDisplayCountry : تحديد عدد الدول التى نريد عرض اوقاتها فى النموذج والذى على اساسة ايضا عدد العناصر فى النموذج لهذه البيانات Form_Load: عند تحميل النموذج، يتم تعيين الفاصل الزمني للمؤقت إلى ثانية واحدة ثم يتم استدعاء الدالة UpdateTimes Form_Timer: يتم استدعاء الدالة UpdateTimes كل ثانية لتحديث التوقيتات UpdateTimes وظيفة هذه الدالة هي الحصول على الوقت الحالي بالتوقيت العالمي (UTC) باستخدام الدالة GetUTC فتح مجموعة السجلات من الجدول tblTimeZones لجلب البيانات بناؤ على شرط أن يكون الحقل ShowInForm مضبوطًا على True في حلقة تكرارية يتم تحديث البيانات في العناصر في النموذج بناء على بيانات السجلات مع الأخذ بعين الاعتبار التوقيت الصيفي إذا كان مفعلاً يتم التعامل مع الأخطاء باستخدام كتلة ErrorHandler لضمان عدم تعطل البرنامج بسبب الأخطاء FieldExists: دالة للتحقق مما إذا كان عنصر معين موجودا في النموذج جدول tblTimeZones يحتوي على بيانات عن بلدان مختلفة بما في ذلك فرق التوقيت والتوقيت الصيفي وما إذا كانت البيانات يجب عرضها حيث يتم عرض البلدان المحددة فقط من خلال (ShowInForm = True) في النموذج العناصر فى النموذج كالاتى txtCountry1, txtCountry2, txtCountry3, txtCountry4, txtCountry5 المفروض يتم جلب اسماء البلدان من الجدول هنا ----------------------------------- txtTime1, txtTime2, txtTime3, txtTime4, txtTime5 المفروض يتم عرض التوقيت المحلى لكل بلد هنا ----------------------------------- txtTimeDifference1, txtTimeDifference2, txtTimeDifference3, txtTimeDifference4, txtTimeDifference5 المفروض يتم جلب الفرق في التوقيت لكل بلد هنا ----------------------------------- chkDaylightSavingTime1, chkDaylightSavingTime2, chkDaylightSavingTime3, chkDaylightSavingTime4, chkDaylightSavingTime5 المفروض يتم عرض ان كان التوقيت الصيفي مفعلا ام لا هنا ----------------------------------- txtDate1, txtDate2, txtDate3, txtDate4, txtDate5 المفروض يتم عرض التاريخ طبقا للتوقيت المحلى لكل بلد هنا ----------------------------------- المفروض كل ذلك يحدث من خلال الكود بمجرد فتح النموذج بطريقة الية والشرط طبعا هو جلب البيانات بناء على البلدان المختارة عرض بيناتها من خلال اختيارها من الحقل ShowInForm واخيرا المرفقات المرفق الاول وهو الاساس والذى تم استعراض الافكار والاكواد السابقة طبقا له المرفق الثانى فقط تم اضافة عدد نماذج لساعات على ان تكون نماذج فرعية TimeZones.zip TimeZones UP 2.zip2 points
-
رائعة كروعتك أخي فادي 😊🌼🌹 التحسينات الجديدة فعلا أضافة الحياة إلى اللعبة وخصوصا تعابير اللعبين قمة في الإبداع تبارك الله 🙂 لمساتك وفنياتك وخبرتك الكبيرة واضحة جدا ما شاء الله تبارك الله .. 😉👌🏻 ولدي بعض الملاحظات ( مجرد ملاحظات 😜 ) : 1- في وضع التصغير موقع اللاعب الأول غير مضبوط 2- تصحيح إملائي : اللاعب وليس اللعب 😁😅 3- بعد القرعة .. عندما تبدأ اللعبة يبقى زر رمي النرد فارغا بدون نص 4- لا تزال نقطة أنه لا يظهر هناك ما يدل على (لمن الدور القادم) ، وأقترح أن تستفيد من التنسيق الشرطي لمربعات النص اللتي تحمل أسماء اللاعبين 😉 5- أثناء حركة اللاعب يضل الموقع الأول للـ في مكانه أثناء التنقل بين المربعات إلى أن يصل للمربع النهائي ثم تختفي 🙂 6- هذه اللوحة تحتاج المزيد من لمساتك الجميلة التي عودتنا عليها ( ترتيب وتنسيق أماكن الأزرار والصور ) 😅 وأما الباقي ما نقول إلا ( بدهاش إلا منسف يا زلمة 😂😋 )1 point
-
يمكنك إضافة دوال مخصصة باستخدام VBA في Excel 2021. فيما يلي مثال بسيط لكيفية إنشاء دالة مخصصة تحاكي وظيفة vstack (دمج البيانات عموديا): 1. قم بفتح Excel وانقر على Alt + F11 لفتح محرر VBA. 2. انقر بزر الماوس الأيمن على اسم المشروع على اليسار واختر "Insert" ثم "Module" لإنشاء وحدة جديدة. 3. اكتب الكود التالي في وحدة VBA الجديدة: Function vstack(range1 As Range, range2 As Range) As Variant Dim destRange As Range Set destRange = range1.Offset(0, range1.Columns.Count) range2.Copy destRange Set vstack = destRange.Resize(range2.Rows.Count, range2.Columns.Count) End Function 4. احفظ الكود وأغلق محرر VBA. 5. الآن يمكنك استخدام الدالة المخصصة "vstack" في ورقة Excel الخاصة بك. على سبيل المثال، يمكنك كتابة الصيغة التالية في الخلية حيث ترغب في استخدام الدالة: =vstack(A1:B3, C1:D3) هذا سيقوم بدمج محتويات نطاقي A1:B3 و C1:D3 عموديا. تذكر أنه يمكنك تعديل هذا الكود وإضافة وظائف أخرى حسب احتياجاتك. بمجرد القيام بهذه الخطوات، ستكون قادرًا على إضافة دوال مخصصة وتخصيص Excel 2021 بشكل متقدم.1 point
-
وعليكم السلام ورحمه الله وبركاته تفضل اخي تنفيذ ماكرو بناء على قيمة خليه2.xlsb1 point
-
1 point
-
1 point
-
1 point
-
تم الحل الحمد لله وقمت بالتعديل على الكود وأصبح lig = lig & " " & "-" & " " & Cnt.Cells(i, 0).Value & " " & "مبلغ" & " " & " " & Cnt.Cells(i, 1).Value1 point
-
تفضل جرب هل هدا ما تقصده تم تمييز الاظافات التي قمت بتعديلها داخل الاكواد يرجى مراجعتها وتعديلها بما يناسبك sell-the-first-quantity- V3.xlsm1 point
-
1 point
-
وعليكم السلام ورحمة الله تعالى وبركاته جرب وضع الوظيفة التالية في : Module Option Explicit Function Xformula(Search_string As String, _ Cpt As Range, Cnt As Range) Dim i As Long Dim lig As String For i = 1 To Cpt.Count If Cpt.Cells(i, 1) = Search_string Then lig = lig & " " & Cnt.Cells(i, 1).Value End If Next Xformula = Trim(lig) End Function وفي الخلية E3 ضع المعادلة التالية مع سحبها للأسفل =@Xformula(A3;Sheet1!$A$2:$A$200;Sheet1!$D$2:$D$200) sumifs.xlsb1 point
-
1 point
-
1 point
-
BookID غير ID حيث (ID) الترقيم التلقائي لبيانات الجدول سواء كان بها بيانات أو خالية .... نوع الحقل (AutoNumber). وحيث (BookID) ترقيم متسلسل لرقم الكتاب .هنا لابد من كتابة اسم الكتاب كي يأخذ الرقم الذي يليه وهكذا ..... نوع الحقل (Text)1 point
-
تفضل استاذ @احمد عبدالرحمن الغوري طلبك حسب ما فهمت بالفورم (SwichBoard) . ووافني بالرد . برنامج مشتريات ومبيعات-1.rar1 point