بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
4177 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
179
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
💫 تألق جديد.. @Foksh الأخ فادي ينضم لقائمة مشرفي أوفيسنا 🎉
Foksh replied to Moosak's topic in قسم الأكسيس Access
جزاكم الله كل خير على تهنئتكم الكريمة ، وأسأل الله لكم مزيداً من التوفيق والنجاح 💐 -
⭐ هدية ~ مرسال الواتس أب الجديد 2025⭐ محدّث 4.0
Foksh replied to Foksh's topic in قسم الأكسيس Access
المبدعون هم أمثالكم في لطفهم ومرورهم ،، جزاكم الله كل الخير على دعواتكم ، وأسأل الله لكم التوفيق والنجاح 💐 -
أخي الكريم وعليكم السلام ورحمة الله وبركاته 🤗 وبما أن المشروع ليس من تأسيسك ، فأعتقد انك بحاجة الى إعادة بناء المشروع ، وليس كما تظن 3 طلبات فقط. لذا .. أنصحك بالتوجه الى عرض طلباتك واحداً واحداً في مواضيع مستقلة ، مع الشرح الكافي مصحوباً بملف يحتوي سجلات بسيطة . ملاحظة:- لم أطلع على الملف .
-
وعليكم السلام ورحمة الله وبركاته 🤗 باعتقادي ، وبما أنك تجعل اسم الوثيقة هو رقم ، فهنا يجب أن تجعل اسم الوثيقة مربوطاً أيضاً برقم الموظف ( الأفضل ) ، أو اسم الموظف على سبيل المثال . هنا الوثيقة 1 للموظف1 ستختلف في الاسم عن الوثيقة 1 للموظف2 ، صحيح 😁 . لم أطلع على الملف ، أتابع من الهاتف حالياً.
-
💫 تألق جديد.. @Foksh الأخ فادي ينضم لقائمة مشرفي أوفيسنا 🎉
Foksh replied to Moosak's topic in قسم الأكسيس Access
أهلاً يا فنان .. وحشتني يا راجل ، طمني عنك عامل إيه 🤗 .. الله يبارك فيك على كلامك اللطيف الجميل 😇😇 -
هل لنا بمرفق لتوضيح كيف تم اعتبار يوم 8 غياب ، بينما 3 ، 4 ، 5 إجازة !!
-
اريد زيادة حجم الخط في مربع النص في التقرير اكبر من 127
Foksh replied to عبد الله قدور's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 🤗 كإجابة على سؤالك ، للأسف لا يمكن تحقيق طلبك . كأحد الحلول هو استخدام صورة جاهزة يتم إضافتها للتقرير. أو تصدير تقريرك الى وورد وهناك تقوم بالتكبير لحجم الخط إما بشكل يدوي أو من خلال كود التصدير للوورد . ما لم يكن هناك أفكار أخرى من الأساتذة والمعلمين -
جميل ، وهذا ما كنت اعمل عليه في هذه الفكرة ,, ودون شرحها هنا ، في المرفق نموذجين كأفكار قابلة للتحوير والتعديل حسب حاجتنا . مع العلم أنني قمت بإضافات قد لا تحتاجها ، ولكنها من باب الفضول والزيادة 😅 data1-1.zip
-
وعليكم السلام ورحمة الله وبركاته .. جرب هذه الخطوط كمثال .. Fonts.zip
-
وعليكم السلام ورحمة الله وبركاته .. كمشاركة أولى بدون دالة ، وتتكون من 3 أشكال متدرجة ، الإستعلام الأول :- SELECT c.UserId, c.chekIn, c.chekOut, IIf( TimeValue(c.chekIn) > DateAdd("n", f.start_free, f.start_work), DateDiff("n", DateAdd("n", f.start_free, f.start_work), TimeValue(c.chekIn)), 0 ) AS In_Loss, IIf( TimeValue(c.chekOut) < DateAdd("n", -f.end_free, f.end_work), DateDiff("n", TimeValue(c.chekOut), DateAdd("n", -f.end_free, f.end_work)), 0 ) AS out_Loss, Format( IIf( TimeValue(c.chekIn) > DateAdd("n", f.start_free, f.start_work) OR TimeValue(c.chekOut) < DateAdd("n", -f.end_free, f.end_work), DateDiff("n", IIf(TimeValue(c.chekIn) > DateAdd("n", f.start_free, f.start_work), TimeValue(c.chekIn), DateAdd("n", f.start_free, f.start_work) ), IIf(TimeValue(c.chekOut) < DateAdd("n", -f.end_free, f.end_work), TimeValue(c.chekOut), DateAdd("n", -f.end_free, f.end_work) ) ) / 1440.0, f.countWorkHours ), "hh:nn" ) AS work_Hours_count FROM tblcomIn AS c, tbl_Ftrat AS f WHERE f.ftraName = 'الفترة الرئيسية' ORDER BY c.UserId, c.chekIn; Query2 UserId chekIn chekOut In_Loss out_Loss work_Hours_count 1111 2025-07-05 3:50:10 PM 2025-07-05 11:50:12 PM 0 0 07:30 2222 2025-07-05 4:20:16 PM 2025-07-05 11:20:28 PM 0 0 07:30 3333 2025-07-05 4:32:20 PM 2025-07-05 11:28:31 PM 2 0 06:28 4444 2025-07-05 5:01:25 PM 2025-07-05 11:32:34 PM 31 0 05:59 الإستعلام الثاني :- SELECT c.UserId, c.chekIn, c.chekOut, IIf(TimeValue(c.chekIn)>DateAdd("n",f.start_free,f.start_work),DateDiff("n",DateAdd("n",f.start_free,f.start_work),TimeValue(c.chekIn)),0) AS In_Loss, IIf(TimeValue(c.chekOut)<DateAdd("n",-f.end_free,f.end_work),DateDiff("n",TimeValue(c.chekOut),DateAdd("n",-f.end_free,f.end_work)),0) AS out_Loss, Format(IIf(TimeValue(c.chekIn)>DateAdd("n",f.start_free,f.start_work) Or TimeValue(c.chekOut)<DateAdd("n",-f.end_free,f.end_work),DateDiff("n",IIf(TimeValue(c.chekIn)>DateAdd("n",f.start_free,f.start_work),TimeValue(c.chekIn),DateAdd("n",f.start_free,f.start_work)),IIf(TimeValue(c.chekOut)<DateAdd("n",-f.end_free,f.end_work),TimeValue(c.chekOut),DateAdd("n",-f.end_free,f.end_work)))/1440,f.countWorkHours),"Short Time") AS work_Hours_count, 'التفاصيل: ' & IIf(TimeValue(c.chekIn)>DateAdd("n",f.start_free,f.start_work),'تأخر ' & DateDiff("n",DateAdd("n",f.start_free,f.start_work),TimeValue(c.chekIn)) & ' دقيقة','حضور في الموعد') & ' - ' & IIf(TimeValue(c.chekOut)<DateAdd("n",-f.end_free,f.end_work),'انصراف مبكر ' & DateDiff("n",TimeValue(c.chekOut),DateAdd("n",-f.end_free,f.end_work)) & ' دقيقة','انصراف في الموعد') AS Details FROM tblcomIn AS c, tbl_Ftrat AS f WHERE (((f.ftraName)='الفترة الرئيسية') And ((DateValue(c.chekIn))=#7/5/2025#)) ORDER BY c.UserId; Query3 UserId chekIn chekOut In_Loss out_Loss work_Hours_count Details 1111 2025-07-05 3:50:10 PM 2025-07-05 11:50:12 PM 0 0 07:30 التفاصيل: حضور في الموعد - انصراف في الموعد 2222 2025-07-05 4:20:16 PM 2025-07-05 11:20:28 PM 0 0 07:30 التفاصيل: حضور في الموعد - انصراف في الموعد 3333 2025-07-05 4:32:20 PM 2025-07-05 11:28:31 PM 2 0 06:28 التفاصيل: تأخر 2 دقيقة - انصراف في الموعد 4444 2025-07-05 5:01:25 PM 2025-07-05 11:32:34 PM 31 0 05:59 التفاصيل: تأخر 31 دقيقة - انصراف في الموعد الإستعلام الثالث :- SELECT c.UserId, c.chekIn, c.chekOut, IIf(TimeValue(c.chekIn)>DateAdd("n",f.start_free,f.start_work),DateDiff("n",DateAdd("n",f.start_free,f.start_work),TimeValue(c.chekIn)),0) AS In_Loss, IIf(TimeValue(c.chekOut)<DateAdd("n",-f.end_free,f.end_work),DateDiff("n",TimeValue(c.chekOut),DateAdd("n",-f.end_free,f.end_work)),0) AS out_Loss, Format(DateDiff("n",IIf(TimeValue(c.chekIn)<f.start_work,f.start_work,TimeValue(c.chekIn)),IIf(TimeValue(c.chekOut)>f.end_work,f.end_work,TimeValue(c.chekOut)))/1440,"Short Time") AS work_Hours_count, 'التفاصيل: ' & IIf(TimeValue(c.chekIn)>DateAdd("n",f.start_free,f.start_work),'تأخر ' & DateDiff("n",DateAdd("n",f.start_free,f.start_work),TimeValue(c.chekIn)) & ' دقيقة',IIf(TimeValue(c.chekIn)<f.start_work,'حضور مبكر ' & DateDiff("n",TimeValue(c.chekIn),f.start_work) & ' دقيقة','حضور في الموعد')) & ' - ' & IIf(TimeValue(c.chekOut)<DateAdd("n",-f.end_free,f.end_work),'انصراف مبكر ' & DateDiff("n",TimeValue(c.chekOut),DateAdd("n",-f.end_free,f.end_work)) & ' دقيقة',IIf(TimeValue(c.chekOut)>f.end_work,'انصراف متأخر ' & DateDiff("n",f.end_work,TimeValue(c.chekOut)) & ' دقيقة','انصراف في الموعد')) AS Details FROM tblcomIn AS c, tbl_Ftrat AS f WHERE (((f.ftraName)='الفترة الرئيسية') And ((DateValue(c.chekIn))=#7/5/2025#)) ORDER BY c.UserId; Query4 UserId chekIn chekOut In_Loss out_Loss work_Hours_count Details 1111 2025-07-05 3:50:10 PM 2025-07-05 11:50:12 PM 0 0 07:30 التفاصيل: حضور مبكر 10 دقيقة - انصراف متأخر 20 دقيقة 2222 2025-07-05 4:20:16 PM 2025-07-05 11:20:28 PM 0 0 07:00 التفاصيل: حضور في الموعد - انصراف في الموعد 3333 2025-07-05 4:32:20 PM 2025-07-05 11:28:31 PM 2 0 06:56 التفاصيل: تأخر 2 دقيقة - انصراف في الموعد 4444 2025-07-05 5:01:25 PM 2025-07-05 11:32:34 PM 31 0 06:29 التفاصيل: تأخر 31 دقيقة - انصراف متأخر 2 دقيقة data1.zip أم تفضل استخدام دالة 😁 .. ؟
-
انا ما عملتش حاجة .. انا بسألك حضرتك
-
أعلم ذلك أخي الأستاذ عبدالله ، جزاكم الله كل الخير وهنا أيضاً كلامك سليم 100% ، وأثني على كلامك بأنه يوجد أمور تحتاج لتعديل في الأكواد . ولكن حسب المطلوب ألتزم لأني لا أعلم بنية باقي المشروع .. أثابكم الله ، ورزقكم الصحة والعافية ,, وأطال في عمركم ,, التقاعد ده حاجة متعبة هههههه
-
وعليكم السلام ورحمة الله وبركاته.. سؤال واحد محيرني 😇 !!! تعبئة تلقائية سيكون لها مصدر ، اللي هو إييييه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟
-
في الحقيقة ، كانت من بين الأمور التي بحاجة لتعديلات ، و وجهة نظرك سليمة 100% أستاذنا الفاضل .. مبدعون في تخصصكم ، وما أنا إلا بمبتدئ في مجال الكسل أخي عبدالله ، ولكني وجدت أن المسار بين آكسيس وأكسل متشابه الى حد ما ، ما دفعني الى الخوض في تجربة التعرف على اكسل بشكل أعمق ( تعميق علاقة بيني وبينه 😂 ) .
-
تمام أخي الكريم ،، نستطيع تلافي المشكلة بإخفاء النموذج بشكل مؤقت أثناء المعاينة !! استخدم الكود التالي في زر المعاينة ، وجرب Private Sub btnPrint_Click() If lstResults.ListCount = 0 Then MsgBox "لا توجد نتائج لطباعتها", vbExclamation: Exit Sub End If Dim sh As Worksheet, nextRow As Long, i As Long, j As Long Const REPORT_SHEET As String = "تقرير الغياب" Me.Hide On Error Resume Next: Application.DisplayAlerts = False Worksheets(REPORT_SHEET).Delete Application.DisplayAlerts = True: On Error GoTo 0 Set sh = Worksheets.Add(After:=Worksheets(Worksheets.Count)) sh.Name = REPORT_SHEET For j = 0 To lstResults.ColumnCount - 1 sh.Cells(1, j + 1).Value = "العمود " & j + 1 Next j sh.Range("A1:" & sh.Cells(1, lstResults.ColumnCount).Address).Font.Bold = True nextRow = 2 For i = 0 To lstResults.ListCount - 1 For j = 0 To lstResults.ColumnCount - 1 sh.Cells(nextRow, j + 1).Value = lstResults.List(i, j) Next j nextRow = nextRow + 1 Next i sh.Columns.AutoFit sh.PageSetup.Orientation = xlPortrait sh.PageSetup.Zoom = False sh.PageSetup.FitToPagesWide = 1 sh.PageSetup.FitToPagesTall = 1 sh.PrintPreview Me.Show End Sub
-
رغم أن معظم الأكواد تحتاج الى إعادة هيكلة وتصحيح ، ولكن جرب هذا المقترح ، بعد ما تمت تجربته على ملفك السابق :- Private Function GetDateColumn(ByVal searchDate As Date) As Long Dim cell As Range Dim searchRange As Range Set searchRange = wsData.Range(wsData.Cells(HEADER_ROW, DATE_COL_START), _ wsData.Cells(HEADER_ROW, wsData.Columns.Count)) For Each cell In searchRange If IsDate(cell.Value) Then If CDate(cell.Value) = searchDate Then GetDateColumn = cell.Column Exit Function End If End If Next cell GetDateColumn = 0 End Function جرب الملف التالي وشوف النتيجة Book5.zip
-
⭐ هدية ~ مرسال الواتس أب الجديد 2025⭐ محدّث 4.0
Foksh replied to Foksh's topic in قسم الأكسيس Access
-
وعليكم السلام ورحمة الله وبركاته .. اخي الكريم ، الدالة GetDateColumn غير موجودة في الأكواد ، وهذا سبب الرسالة .
-
محتاج اعرف الخطأ فين - شريط القوائم المختصرة
Foksh replied to مومن الشيمى's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته ، أخي الكريم ، بدايةً أهلاً وسهلاً بك معنا في منتديات أوفيسنا - آكسيس .. ونرجو أن تجد جميع الحلول للمشاكل التي قد تواجهك . واسمح لي بتذكيرك بضرورة :- أولاً :- إرفاق ملف بسيط للأجزاء المتعلقة بالمشكلة . ثانياً :- الإفصاح والتوضيح والشرح الكافي الوافي للمشكلة - لاحقاً . ثالثاً :- الإهتمام بالعنوان ليكون دالاً بإيجاز عن المشكلة . رابعاً :- استخدم الزر المشار اليه بالمربع الأحمر الموجود في المكان الذي تكتب فيه الموضوع عندما تريد أن تكتب أكواد VBA على سبيل المثال في مواضيعك أو ردودك . شكراً لسعة صدرك -
أخي الكريم ، على حسب ما فهمت من كلامك ، انظر التعديلات التالية :- المديول :- Public Function GetTxtHeight(annee As String, grade As String, wilaya As String, ByRef rapport As String) As Single Dim db As DAO.Database Dim rs As DAO.Recordset Dim hauteur As Single Set db = CurrentDb Set rs = db.OpenRecordset( _ "SELECT hauteur_rang, nom_raport FROM tab_hauteur_range " & _ "WHERE annee = '" & Replace(Trim(annee), "'", "''") & "' " & _ "AND grade = '" & Replace(Trim(grade), "'", "''") & "' " & _ "AND wilaya = '" & Replace(Trim(wilaya), "'", "''") & "'", dbOpenSnapshot) If Not rs.EOF Then hauteur = Nz(rs!hauteur_rang, 0) * 567 rapport = Nz(rs!nom_raport, "") Else hauteur = 0.7 * 567 rapport = "" End If rs.Close: Set rs = Nothing: Set db = Nothing GetTxtHeight = hauteur End Function حدث الزر :- Private Sub أمر2_Click() Dim h As Single Dim rapport As String h = GetTxtHeight(Me.annet, Me.grade1, Me.wilaya1, rapport) TempVars!Temp_Hauteur = h If rapport <> "" Then DoCmd.OpenReport rapport, acViewPreview Else MsgBox ". لم يتم العثور على تقرير مطابق", vbInformation + vbMsgBoxRight, "" End If End Sub حدث فتح التقرير :- Private Sub Report_Open(Cancel As Integer) Dim h As Single Dim ctrl As Control h = Nz(TempVars!Temp_Hauteur, 0.7 * 567) For Each ctrl In Me.Controls If ctrl.ControlType = acTextBox Then If LCase(Trim(Nz(ctrl.Tag, ""))) = "moho58" Then ctrl.Height = h End If End If Next ctrl End Sub لاحظ اننا اعتمدنا على Tag = moho58 لمربعات النص التي نريد التنفيذ عليها ، دون الحاجة الى تحديد الأسماء بشكل يدوي .. الملف :- baseM.zip
-
⭐ هدية ~ مرسال الواتس أب الجديد 2025⭐ محدّث 4.0
Foksh replied to Foksh's topic in قسم الأكسيس Access
مهندسنا الغالي ،، رضي الله عنكم ، و وفقكم لما فيه خير .. أشكرك على المرور العطر .