اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

Foksh

أوفيسنا
  • Posts

    3997
  • تاريخ الانضمام

  • Days Won

    167

كل منشورات العضو Foksh

  1. وعليكم السلام ورحمة الله وبركاته .. أخي الكريم من باب أن تجد تفاعلاً واستجابة لطلباتك لاحقاً ، نرجو منك :- أولاً أن يكون العنوان ذات صلة ودلالة على المشكلة . ثانياً الشرح المفصل للمشكلة التي تواجهها . ثالثاً استخدامك لللغة العربية في أسماء الحقول والجداول والنماذج ... إلخ يجعلك تعاني من مشاكل كبيرة وكثيرة فيما بعد . وهذا لن يشجع أحد على التفكير في حل لمشكلتك . رابعاً أن تأخذني برحابة صدرك على ما سلف . وما هو إلا من باب النصيحة .
  2. وعليكم السلام ورحمة الله وبركاته .. معلمي الفاضل ، استخدام كلمة "الوقت" في وصفك هنا ؛ هل هذا دلالة على الفرق بين وقتين كما في الأفكار السابقة ( مواضيع سابقة ) ، وبالتالي نوع البيانات في الحقل = نصي أم تاريخ و وقت 🤔 أم ماذا ؟؟ وعلى الأرجح هو من نوع نص ( لا يمكن أن تكون قيمة حقل نوعه تاريخ و وقت = قيمة سالبة ) ؛ فقط للتأكيد !! وعليه فإن أفضل فكرة خطرت لي هي تحويل الوقت الى رقم ، كمثال القيم الموجبة بالدقائق= 250 ( لـ 04:10 ) القيم السالبة بالدقائق = -250 ( لـ 04:10- ) وفي التالي فكرة بسيطة في استعلام لجلب القيم السالبة للوقت :- SELECT * FROM Table1 WHERE (((IIf(Right([Modah],1)='-',-1,1)*(Val(Left([Modah],2))*60+Val(Mid([Modah],4,2))))<0)); TimeMin.accdb
  3. اهاااا ، وهو بالفعل ما قمت به ولكن بطريقة أخرى
  4. أيعقل أن يكون اسم مربع النص هو السبب 😅 !!!!
  5. بدايةً الخطأ ان اسم مربع النص ID وليس الكود !! ثانياً لازم تمرر مسار واسم النموذج الفرعي اللي موجود فيه الشرط ID . وفي الدالة :- Public Function f11(الكود As Integer) DoCmd.OpenForm "Customer Details", , , "[الكود] = " & الكود End Function لا يتم تمرير الشرط أو المعيار للفلترة . لذا توجهت الى فكرة غريبة نوعاً ما بحيث من خلال الكود يتم البحث عن أول نموذج فرعي يحتوي مربع النص ID كشرط ومعيار للفلترة وتمريره الى جملة فتح النموذج على السجل المحدد . لتصبح الدالة مع مساعد بسيط :- '---------- ( ID تم التعديل هنا بحيث يتم البحث عن أول نموذج فرعي يحتوي مربع النص ) ---------- Public Function f11() On Error GoTo ErrHandler Dim frmMain As Form Dim ctrl As Control Dim frmSub As Form Dim val As Variant Set frmMain = Screen.ActiveForm For Each ctrl In frmMain.Controls If ctrl.ControlType = acSubform Then Set frmSub = ctrl.Form If HasControl(frmSub, "ID") Then val = frmSub.Controls("ID").Value DoCmd.OpenForm "Customer Details", , , "[الكود] = " & val Exit Function End If End If Next ctrl MsgBox ". 'ID' لم يتم العثور على نموذج فرعي يحتوي على الشرط", vbExclamation + vbMsgBoxRight, "" Exit Function ErrHandler: MsgBox "حدث خطأ: " & Err.Description, vbCritical + vbMsgBoxRight, "" End Function Private Function HasControl(frm As Form, ctrlName As String) As Boolean On Error Resume Next HasControl = Not frm.Controls(ctrlName) Is Nothing End Function '---------- ( نهاية التعديل ) ---------- ملفك بعد التعديل :- date-2025 - Copy (4).zip
  6. خلاااااص !! دلوقتي ارتحت ، وأقدر أنسحب بهوووووووووء وانام مرتاح البال والضمير
  7. انا عارف والله ان فكرتك أسرع من فكرتي لما يكون الفرق بين التاريخين كبير .. وعارف ان استخدامك للمصفوفة أفضل لأنه ببنيها مرة وحدة وبعدين يجمعها كلها مرة وحدة برضو ، على عكس فكرتي لأن السلسة التراكمية اللي استعملتها يتم بناءها كل مرة ,,, ، انا لقيت نفسي فاضي ، قلت أحاول أتعب دماغي شوية واحاول انام 😴
  8. مهو برضو ممكن يكون الحل كالآتي :- Public Function FokshDates(startD As Date, endD As Date) As String Dim d As Date, s As String For d = startD To endD s = s & Format(d, "yyyy-mm-dd") & "," Next If Len(s) > 0 Then s = Left(s, Len(s) - 1) FokshDates = s End Function والإستعلام الصغير ده :- SELECT tbl1.id, tbl1.user_id, tbl1.startA, tbl1.endA, FokshDates([startA],[endA]) AS التواريخ FROM tbl1; والنتيجة :- Query2 id المعرف بداية نهاية التواريخ 1 11 2025-07-02 2025-07-05 2025-07-02,2025-07-03,2025-07-04,2025-07-05 2 22 2025-07-04 2025-07-04 2025-07-04 مجرد تفكير بصوتك ، لأنه بجد فاضل تكة هي بسيطة ، وانت عارفني ما بحبش أفوت في تفاصيل قد تكون بعيدة ,,
  9. وخطر لي حيلة يمكن تكون غريبة نوعاً ما .. وهي كما في الاستعلام التالي :- SELECT tbl1.id, tbl1.user_id, tbl1.startA, tbl1.endA, IIf(DateDiff("d",[startA],[endA])>=0,Format([startA],"yyyy-mm-dd"),"") & IIf(DateDiff("d",[startA],[endA])>=1,"," & Format([startA]+1,"yyyy-mm-dd"),"") & IIf(DateDiff("d",[startA],[endA])>=2,"," & Format([startA]+2,"yyyy-mm-dd"),"") & IIf(DateDiff("d",[startA],[endA])>=3,"," & Format([startA]+3,"yyyy-mm-dd"),"") & IIf(DateDiff("d",[startA],[endA])>=4,"," & Format([startA]+4,"yyyy-mm-dd"),"") AS التواريخ FROM tbl1; والنتيجة :- Query3 id المعرف بداية نهاية التواريخ 1 11 2025-07-02 2025-07-05 2025-07-02,2025-07-03,2025-07-04,2025-07-05 2 22 2025-07-04 2025-07-04 2025-07-04 طبعاً هنا اذا كان الفرق بين التاريخين كبير فسيكون الاستعلام كبيراً نوعاً ما .. لكني وددت المشاركة 😅
  10. رغم أنني لن ألحظ الخطأ ولم أواجهه في أي من أجهزتي ( كما رأيت سابقاً ) ، إلا أنني سأحاول بعد تجربتي بهذا التعديل :- Private Sub Form_Current() On Error GoTo ErrorHandler If Not IsNull(Me.ID) And Not IsNull(Me.mouadel_3am) Then Dim strSQL As String Dim rs As DAO.Recordset strSQL = "SELECT COUNT(*) FROM (" & _ "SELECT m.mouadel_3am " & _ "FROM info_stagiere i " & _ "INNER JOIN modul m ON i.ID = m.id " & _ "WHERE i.annee='" & Replace([Forms]![frm_examen_fin_formation]![annet], "'", "''") & "' " & _ "AND i.grade='" & Replace([Forms]![frm_examen_fin_formation]![grade1], "'", "''") & "' " & _ "AND i.wilaya='" & Replace([Forms]![frm_examen_fin_formation]![wilaya1], "'", "''") & "'" & _ ") AS T WHERE mouadel_3am >= " & Replace(Me.mouadel_3am, ",", ".") Set rs = CurrentDb.OpenRecordset(strSQL) If Not rs.EOF Then Me.نص73 = rs.Fields(0).Value Else Me.نص73 = Null End If rs.Close Set rs = Nothing Else Me.نص73 = Null End If Exit Sub ErrorHandler: MsgBox "حدث خطأ في حساب الترتيب", vbExclamation + vbMsgBoxRight, "خطأ" Me.نص73 = Null If Not rs Is Nothing Then rs.Close Set rs = Nothing End If End Sub الهدف هو إلمام الحدث بالتأكد من أن mouadel_3am ليس NULL . وحاولت استخدام Replace لتحويل الفاصلة إلى نقطة في الأعداد والقيم الرقمية الكسرية . وإذا استمرت المشكلة لديك ، تحقق من إعدادات الإقليمية (Regional Settings) في الويندوز التي قد تؤثر على تنسيق الأرقام 🤔
  11. وعليكم السلام ورحمة الله وبركاته .. على سبيل اني فهمت الفكرة ، هل هذه النتيجة المطلوبة ؟؟ المعرف dateField 11 2025-07-02 11 2025-07-03 11 2025-07-04 11 2025-07-05 22 2025-07-04 كما في مشاركة أستاذي @ابو جودي ؟؟
  12. جزاكم الله خيرا اخي وأستاذنا الفاضل 😇 تسرني مشاركتك ومرورك اللطيفين 💐
  13. وعليكم السلام ورحمة الله وبركاته 🤗 سأرى ما يمكنني فعله بطريقة أخرى ، ولا يهمك. في المرات القادمة حاول استخدام الرمز <> لوضع الأكواد فيه اخي الكريم 😇
  14. التحديث الجديد من مرسال الواتس أب - الإصدار الثاني . يحتوي على الإضافات والتحسينات التالية :- 1️⃣ التحسينات :- تحسين التعامل مع المرفقات الأكثر من مرفق واحد ، بحيث يتم التعامل معها دفعة واحدة بدلاً من التعامل مع كل مرفق بشكل مستقل ( تقليل الوقت ) . تحسين عمليات المحاكاة للوحة المفاتيح للصق الرسالة والملفات داخل تطبيق واتس أب سطح المكتب . 2️⃣ الإضافات الجديدة :- إنشاء جداول الخدمة ( عددها 3 ) بشكل تلقائي . إضافة ميزة الإستيراد من ملفات VCF ( النسخة الإحتياطية من قائمة الأسماء من الجوال ) . بحيث يتم استيراد الأرقام والأسماء الى جدول Tbl_Contacts ، من خلال زر ، مع دعم التعامل مع الترميزات والتشفيرات المختلفة . وأيضاً الأرقام يتم تحويلها إلى صيغة دولية تلقائيًا (مثلاً: 079xxxx → +96279xxxx) . إضافة ميزة إنشاء جهة اتصال جديدة ( قيد التطوير للأفضل ) ، من خلال الزر . إضافة ميزة "إرفاق التوقيع مع الرسالة" . ويمكن التحكم بها من خلال جدول الإعدادات Tbl_SendSettings . إضافة ميزة الإرسال من دفتر العناوين ( متعدد الإختيار ) ، أو ادخال رقم هاتف بشكل يدوي . عند ادخال رقم هاتف يدوي ( محلي ) بدون مفتاح الدولة ، يتم قراءة قيمة رمز الدولة الإفتراضي من الجدول Tbl_SendSettings الخاص بالإعدادات . وعليه فسلت بحاجة لإضافة مفتاح الدولة المحلية بشكل يدوي وإلزامي . إضافة ميزة تقييد مفتاح الإيموجي من خلال جدول الإعدادات . فمنح أو رفض الصلاحية بالوصول اليه . ( قيد التطوير بحيث يتم المنع حتى من خلال لوحة المفاتيح ) . إضافة ميزة تحديد أنواع الملفات المسموح للمستخدم بإرسالها في جدول الإعدادات نفسه . إضاقة التحكم بفترة الإنتظار بين الرسالتين عند الإرسال المتعدد ( بالثواني - القيمة الإفتراضية = 2 ) . إضافة ميزة التحكم بالحد الأقصى لحجم الملفات المرفقة ( فردي أو أكثر من مرفق ) من خلال جدول الإعدادات أيضاً . إضافة رابط لتحميل نسخة برنامج واتس أب سطح المكتب من مصدره على موقع Whatsapp ، من خلال الزر . إضافة ميزة الحفظ التلقائي للأرقام الغير مخزنة في دليل الهاتف ( الجدول Tbl_Contacts ) . بحيث يتم تعريف الرقم بأنه "غير معروف" . وفي التعديلات اللاحقة سيتم إضافة ميزات لها . جميع الرسائل المرسلة ( الناجحة والغير ناجحة ) سيتم تخزينها في الجدول Tbl_Message . أيضاً في التعديلات اللاحقة سيتم إضافة ميزات لها . :- دعوة لتجربة الإستيراد من ملفات الـ VCF ، وإخباري بالنتيجة عن مدى صحة الإستيراد . السبب في سؤالي هذا هو اختلاف إصدارات هذه الملفات الناتجة عن اختلاف إصدارات أنظمة التشغيل في الهاتف الخلوي ، أو اختلاف الحصول عليها حسب البرنامج . وللعلم الـ VCF هي ملفات تستخدم لتخزين معلومات جهات الاتصال . كيف نحصل عليها :- في الأندرويد : الذهاب إلى تطبيق جهات الاتصال ثم الإعدادات ثم ابحث عن استيراد و تصدير جهات الإتصال ثم حفظ كملف VCF . في الآيفون : لا يدعم آيفون هذه الميزة ( تصدير جهات الإتصال ) إلا من خلال تطبيقات كمبيوتر مثل 3UTools وشبيهاته . 3️⃣ صور الواجهة الجديدة :- 4️⃣ تحميل الإصدار الجديد :- WhatsApp Sender 2025.zip 😬 يوجد سطر لم أقم بحذفه سهواً أثناء التعديلات في دالة الإستيراد الرئيسية من المديول في الدالة Public Function ImportVCF . السطر :- Forms("Frm_Sender").Controls("Text0").Requery حيث أن هذا العنصر تم الإستغناء عنه . ومرفق في طيه ملف VCF تجريبي للتجربة Test VCF.zip
  15. ما رأيك بهذه الفكرة أيضاً .. On Error GoTo ErrorHandler Dim folderNames As Variant Dim folderPath As String Dim result As Long Dim i As Long folderNames = Array( _ "DDB_Control", "IMG_Company", "IMG_Company_ReP", "IMG_Wallpaper_backgreound", _ "App_IMG_Wallpaper_backgreound", "IMG_Editor_Menu", "Cantry_IMG", "fonts", _ "Icon_Button", "Icon_Msgbox", "Sound", "Wallpaper", "Video", "db_BE", _ "ExE", "IMG_Report", "File_word", "File_Excel", "Book", "File_PowerPoint", _ "File_Text", "File_Code", "All_InFile_One_Zip_Rar", "ICOn", "Icon_bar_DB", _ "Icon_bar_Form_Report", "Icon_Button", "icon_Gif", "Icon_Msgbox", _ "LinkedDB_Backups", "Office_Video", "Qr", "QR_User", "Resources", _ "World_Cantry", "Gif_IMG", "Fix_Photo", "db_db_db_test_link", _ "Corrupted_DBs", "Corrupted_Archives", "Change_Dy_Time_All_Table", _ "Add Fonts.bmp" _ ) For i = LBound(folderNames) To UBound(folderNames) folderPath = Application.CurrentProject.Path & "\" & folderNames(i) If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\" result = SetFileAttributes(folderPath, FILE_ATTRIBUTE_NORMAL) If result <> 0 Then Me.lblStatus.Caption = "تم إظهار المجلد بنجاح: " & folderPath Me.lblStatus.ForeColor = vbGreen Else Me.lblStatus.Caption = "فشل في إظهار المجلد أو غير مخفي أساساً! " & folderPath Me.lblStatus.ForeColor = vbRed End If DoEvents Next i Exit Sub ErrorHandler: Me.lblStatus.Caption = "حدث خطأ: " & Err.Description Me.lblStatus.ForeColor = vbRed
  16. ولا يهمك أخي الفاضل .. استكمل باقي المطلوب بشكل واضح ، وإن شاء الله تجد مطلبك ..
  17. طيب ، جرب هذا الحل الذي لا يعتمد على اي تقرير أو جدول , حيث سيتم قراءة الصور من المجلد A1 ، ثم دمجها إلى ملف PDF داخل المجلد PDF . لم أضف فكرة حذف الصور بعد الدمج حتى تتأكد من أن هذا طلبك 100% Arshafah.zip
  18. طيب تمام ، الآن اللي وضح لي كالآتي :- 1. من خلال الزر ، تريد ان يتم دمج الصورة الى المجلد PDF بملف بصيغة PDF بحيث كل صورة في صفحة . 2. بعد التصدير ونجاح العملية ، حذف الصور وتفريغ المجلد A1 من محتوياته . لكن الغير واضح هو :- أرجو منك التوضيح بشكل يسير أخي الفاضل !!
  19. يعني باختصار لما تفضلت به أعلاه :- تريد ان يتم دمج الصور التي في المجلد A1 بغض النظر عن عددها أو طبيعتها أو تكراراتها ، في ملف PDF داخل المجلد A2 !!!!!؟ وإذا كان غير صحيح ما فهمته ، ارجو منك التوضيح بشكل أكثر دقة . وتحديد وظيفة الجدول tblAttach ؟؟؟؟؟
  20. تمازحني بلا شك معلمي الفاضل 😅 .. هذه محاولة قديمة تتعامل مع الأمر نفسه بدون جدول أو تقرير من خلال Word . ولكني لم أدرجها خشية أن يقول لي أحد أنه ماذا لو لم يكن هناك برنامج Word . Dim fd As Object Dim selectedFile As Variant Dim pdfPath As String Dim wordApp As Object Dim wordDoc As Object Dim imgPath As String Dim imgCount As Integer Dim firstImage As Boolean Set fd = Application.FileDialog(3) With fd .Title = "اختر الصور المطلوبة" .AllowMultiSelect = True .Filters.Clear .Filters.Add "ملفات الصور", "*.jpg;*.jpeg;*.png;*.bmp;*.gif" If .Show = -1 Then pdfPath = CurrentProject.Path & "\A2\الصور_المحددة_" & Format(Now(), "yyyy-mm-dd_hh-mm-ss") & ".pdf" If Dir(CurrentProject.Path & "\A2", vbDirectory) = "" Then MkDir CurrentProject.Path & "\A2" End If Set wordApp = CreateObject("Word.Application") Set wordDoc = wordApp.Documents.Add wordApp.Visible = False With wordDoc.PageSetup .Orientation = 0 .TopMargin = 36 .BottomMargin = 36 .LeftMargin = 36 .RightMargin = 36 End With imgCount = 0 firstImage = True For Each selectedFile In .SelectedItems imgPath = CStr(selectedFile) imgCount = imgCount + 1 With wordDoc.Content If Not firstImage Then .InsertBreak 2 ' فاصل صفحة قبل الصورة الجديدة (ماعدا الأولى) Else firstImage = False End If .InsertAfter vbCrLf .ParagraphFormat.Alignment = 1 .InlineShapes.AddPicture imgPath, False, True End With With wordDoc.InlineShapes(wordDoc.InlineShapes.Count) .LockAspectRatio = True If .Width > 500 Then .Width = 500 End With Next selectedFile wordDoc.Range(0, 0).Delete wordDoc.SaveAs2 pdfPath, 17 wordDoc.Close False wordApp.Quit MsgBox "بنجاح إلى المسار PDF تم تصدير الصور لملف " & vbCrLf & _ pdfPath, _ vbInformation + vbMsgBoxRight, "" Else MsgBox "لم يتم اختيار أي صور", vbExclamation + vbMsgBoxRight, "" End If End With Set wordDoc = Nothing Set wordApp = Nothing Set fd = Nothing وتم توضيح بعض الأجزاء بتعليقات بسيطة ..
×
×
  • اضف...

Important Information