اذهب الي المحتوي
أوفيسنا

Foksh

أوفيسنا
  • Posts

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

  • Days Won

    180

Foksh last won the day on نوفمبر 16

Foksh had the most liked content!

السمعه بالموقع

2381 Excellent

عن العضو Foksh

  • تاريخ الميلاد 07/02/1982

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    فني صيانة موبايل وكمبيوتر
  • البلد
    الأردن ♥
  • الإهتمامات
    برمجة وصيانة الموبايل والكمبيوتر

اخر الزوار

9579 زياره للملف الشخصي
  1. وعليكم السلام ورحمة الله وبركاته.. لم أطلع على المرفق ، ولكن خطر ببالي استخدام التالي للسماح للماكرو او المعادلة بالاستمرار بالترقيم وعدم السماح بالتعديل من خلال:- UserInterfaceOnly:=True
  2. 3 سجلات بناءً على ماذا ؟؟؟؟؟؟؟؟؟ انظر لنتيجة الشرط على سبيل المثال 936/2025 من الجدول الأول :- TAB1 innow oprate note_E Awarding SERR 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025.05.28 7071 سجل واحد . والجدول الثاني لنفس الفلترة :- TAB2 innow nooprat oprate MRNo Date Of Recipt id 2025-05-22 9:56:58 AM 2200021005 936/2025 1264/2025 2025.05.22 8222 2025-05-22 10:06:07 AM 2200021007 936/2025 1265/2025 2025.05.22 8223 سجلين اثنين . والجدول الثالث بنفس الفلترة :- TAB3 inday orderNO elcNO oprate id 2025-05-27 7:29:01 AM 5594/2025 5300221097 936/2025 8629 2025-05-27 7:29:55 AM 5595/2025 5300221100 936/2025 8630 2025-05-27 7:30:25 AM 5596/2025 5300221102 936/2025 8631 3 سجلات . فما هو الشرط الذي سيتم عرض 3 سجلات فقط ( بناءً على معرفتك بالسجلات وماهيتها ) ؟؟؟؟؟؟؟؟ فهم السؤال بالنسبة لي = الجواب كاملاً وليس نصفه . جربت هذا الإستعلام :- SELECT TAB1.innow, TAB1.oprate, TAB1.note_E, TAB1.Awarding, TAB1.SERR, TAB2.innow AS T2_innow, TAB2.nooprat, TAB2.MRNo, TAB2.[Date Of Recipt], TAB2.id AS T2_id, NULL AS inday, NULL AS orderNO, NULL AS elcNO, NULL AS T3_id FROM TAB1 INNER JOIN TAB2 ON TAB1.oprate = TAB2.oprate WHERE TAB1.oprate = '936/2025' UNION ALL SELECT TAB1.innow, TAB1.oprate, TAB1.note_E, TAB1.Awarding, TAB1.SERR, NULL AS T2_innow, NULL AS nooprat, NULL AS MRNo, NULL AS [Date Of Recipt], NULL AS T2_id, TAB3.inday, TAB3.orderNO, TAB3.elcNO, TAB3.id AS T3_id FROM TAB1 INNER JOIN TAB3 ON TAB1.oprate = TAB3.oprate WHERE TAB1.oprate = '936/2025'; والذي كانت نتيجته كمثال على نفس الفلترة = Query2 innow oprate note_E Awarding SERR T2_innow nooprat MRNo Date Of Recipt T2_id inday orderNO elcNO 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025-05-28 7071 2025-05-22 9:56:58 AM 2200021005 1264/2025 2025-05-22 9:56:59 AM 8222 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025-05-28 7071 2025-05-22 10:06:07 AM 2200021007 1265/2025 2025-05-22 10:06:07 AM 8223 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025-05-28 7071 2025-05-27 7:29:01 AM 5594/2025 5300221097 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025-05-28 7071 2025-05-27 7:29:55 AM 5595/2025 5300221100 2025-05-22 9:56:02 AM 936/2025 جارى الدراسة 2025-05-28 7071 2025-05-27 7:30:25 AM 5596/2025 5300221102 ومع ذلك لم أفهم شرطك أو المطلوب .
  3. وعليكم السلام ورحمة الله وبركاته .. كمطلب أول :- جرب هذا الإستعلام .. SELECT TAB1.innow, TAB1.oprate, TAB1.note_E, TAB1.Awarding, TAB1.SERR, TAB2.innow AS T2_innow, TAB2.nooprat, TAB2.MRNo, TAB2.[Date Of Recipt], TAB2.id AS T2_id, TAB3.inday, TAB3.orderNO, TAB3.elcNO, TAB3.id AS T3_id FROM (TAB1 LEFT JOIN TAB2 ON TAB1.oprate = TAB2.oprate) LEFT JOIN TAB3 ON TAB1.oprate = TAB3.oprate WHERE (((TAB1.oprate)=[أدخل قيمة للفلترة]));
  4. شكراً للمشاركة الخفيفة .. ولي تعليقان ، قد يكون الأول سهواً أو خطأ مطبعي . وهو أن الإستدعاء ليس صحيحاً باسم الدالة المرفقة . ثانياً الدالة ستقوم بفتح التقرير ، ولكن ليس هناك أي أمر طباعة . وأفترض أنه قد يكون التعديل الصحيح للفكرة :- Public Function PrintMultipleCopies(strReportName As String, _ bytNumberOfCopies As Byte) Dim i As Integer For i = 1 To bytNumberOfCopies DoCmd.OpenReport strReportName, acViewNormal Next i End Function والإستدعاء :- Call PrintMultipleCopies("اسم التقرير", 2) حيث هنا عدد النسخ المطلوب طباعتها = 2
  5. أخي الكريم بداية ، أهلاً بك مرة أخرى في المنتدى ،، ثانياً لتلافي حذف أي موضوع ، ليس عليك تكرار فتحه بموضوع جديد مستقل ، بل يكفي ان تستخدم اسلوب النداء "للرفع" أو "Up" . ثالثاً ، ولضيق الوقت ، سأرفق لك ملف من مكتبتي ، جربته ولعله تستفيد منه بالشكل الصحيح . Menu-1.zip
  6. Private Sub detaché_AfterUpdate() On Error GoTo Err_detaché_Click If IsNull(Me.TxtMonth) Then MsgBox "اختر الشهر" Exit Sub End If Dim Titles1 As Variant Dim Titles2 As Variant Titles1 = Array("مصالح البلدية", "متعاقدين 8 سا", "عمال متعاقدين 5 سا", "حراس متعاقدين 5 سا", "اعوان النظافة والتطهير") Titles2 = Array("للعمال الموظفين", "للعمال المتعاقدين بالتوقيت الكامل", "للعمال المتعاقدين بالتوقيت الجزئي", "للحراس المتعاقدين بالتوقيت الجزئي", "للعمال اعوان النظافة والتطهير") Dim idx As Long idx = Me.detaché.ListIndex If idx < 0 Then Exit Sub Me.Reporte_Title.Visible = False Me.Reporte_Title = Titles1(idx) Me.Report_Title = Titles2(idx) Dim Copies As Long Copies = 3 ' يمكن ربطه بمربع نص في النموذج أو وضع رقم ثابت DoCmd.OpenReport "rptDiscount", acPreview, , , , "qry_rptD|" & Copies Exit Sub Err_detaché_Click: If Err.Number = 2501 Then Resume Next End Sub واعتذر عن المتابعة ، لأسباب صحية
  7. فشلت محاولتي في ضبط الوقت والتاريخ الآلي من خلال آكسيس ، فالأفكار التي كانت لدي تعتمد على تشغيل آكسيس كمسؤول . وهذا ما لا يمكن تقييد المستخدم به . سأحاول بطريقة أخرى
  8. التعليق الموجود بجانب السطر الذي ظهر عنده الخطأ . تركته لك لتمكينك وتخييرك بإدخال قيمة عدد النسخ بشكل يدوي من خلال مربع نص ، أو تستبدل الجزء بقيمة رقمية ثابتة لعدد النسخ . على العموم ، استبدل الجزء بأي رقم تريده ليكون عدد النسخ ، فقط لا غير .
  9. لو أنك قرأت التعليق أخي طاهر .. استبدل الجزء :- Nz(Me.txtCopies, 1) برقم يمثل عدد النسخ التي تريد طباعتها .
  10. جرب هذا التعديل الجذري :- Private Sub detaché_AfterUpdate() On Error GoTo Err_detaché_Click If IsNull(Me.TxtMonth) Then MsgBox "اختر الشهر" Exit Sub End If Dim Titles1 As Variant Dim Titles2 As Variant Titles1 = Array("مصالح البلدية", "متعاقدين 8 سا", "عمال متعاقدين 5 سا", "حراس متعاقدين 5 سا", "اعوان النظافة والتطهير") Titles2 = Array("للعمال الموظفين", "للعمال المتعاقدين بالتوقيت الكامل", "للعمال المتعاقدين بالتوقيت الجزئي", "للحراس المتعاقدين بالتوقيت الجزئي", "للعمال اعوان النظافة والتطهير") Dim idx As Long idx = Me.detaché.ListIndex If idx < 0 Then Exit Sub Me.Reporte_Title.Visible = False Me.Reporte_Title = Titles1(idx) Me.Report_Title = Titles2(idx) Dim Copies As Long Copies = Nz(Me.txtCopies, 1) ' يمكن ربطه بمربع نص في النموذج أو وضع رقم ثابت DoCmd.OpenReport "rptDiscount", acPreview, , , , "qry_rptD|" & Copies Exit Sub Err_detaché_Click: If Err.Number = 2501 Then Resume Next End Sub وداخل التقرير ، في حدث عند الفتح :- Private Sub Report_Open(Cancel As Integer) Dim Args As Variant Dim QryName As String Dim Copies As Long Dim i As Long If Not IsNull(Me.OpenArgs) Then Args = Split(Me.OpenArgs, "|") QryName = Args(0) If UBound(Args) >= 1 Then Copies = Val(Args(1)) Else Copies = 1 End If For i = 2 To Copies DoCmd.PrintOut acPages, 1, 1 Next i End If End Sub
  11. امممم ، وجهة نظر سليمة . طيب سنحاول ضبط الأمور بشكل مختلف كلياً غداً إن شاء الله ، بحيث نحاول ضبط وتصحيح الوقت والتاريخ في الكمبيوتر الى الوقت والتاريخ الفعلي من الانترنت عندما يكون غير صحيح ( ما رأيك ؟؟ ) . بحيث يتم اعتماد الوقت من الكمبيوتر بدلاً من جلبه كل عملية توقيع .
  12. وعليكم السلام ورحمة الله وبركاته .. بدايةً لا تقترف خطأ كبيراً بتسمية المكونات بأسماء محجوزة لآكسيس مثل ، Form أو Group . ثم ان الفكرة بسيطة جداً .. انظر الفكرة التالية في المرفق :- FAST_CA.zip
  13. ولهذا قمت بتقسيم الحدث إلى موضعين ، مع الإضافة التي ذكرتها . حيث تم منع الجمود كلياً ، لأننا سنعتمد على التحديث المحلي كل ثانية على الوقت الحقيقي من الانترنت الذي تم جلبه بدايةً .
  14. وهذا بالضبط ما شعرت به عند تعيين قيمة 1000 في المؤقت بدلاً من 10000 ، وكمحاولة بسيطة للإيجاد حل يمنع حالة الجمود في النموذج عند جلب الوقت الحقيقي في النموذج . وقد خطر ببالي تجزئة الأحداث لموقعين بدلاً من حدث عند الوقت للنموذج ، بحيث يكون التعديل كالتالي .. Private Sub Form_Load() If IsInternetConnected() Then varGeneralDate = InternetTime(1) Else varGeneralDate = Now() End If End Sub Private Sub Form_Timer() Me.TimeLbl.Caption = Format(varGeneralDate + (Now() - Date), "hh:nn:ss AM/PM") End Sub عند السطر ‎:- Me.TimeLbl.Caption = Format(varGeneralDate + (Now() - Date), "hh:nn:ss AM/PM") فأنت تجمع بين الوقت الذي جلبته من الإنترنت والمقدار الذي يمثل الساعات والدقائق والثواني التي مرت منذ منتصف الليل للوقت المحلي ، لأن ‎Now يعطي التاريخ والوقت معاً بينما ‎Date يعطي التاريخ فقط ، والفرق بينهما هو الوقت الحالي على جهازك . بإضافة هذا الفرق إلى الوقت المرجعي القادم من الإنترنت ، يصبح لديك ساعة تتحرك لحظياً باستخدام ساعة النظام ولكن أساسها هو الوقت الحقيقي من الانترنت ، وبذلك يظهر للمستخدم الوقت الصحيح من الإنترنت بشكل مستمر دون الحاجة إلى إعادة الاتصال كل ثانية .
×
×
  • اضف...

Important Information