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

jamal2080

03 عضو مميز
  • Posts

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

  • تاريخ اخر زياره

مشاركات المكتوبه بواسطه jamal2080

  1. انت دائمًا نعمل على تحسين وتطوير التطبيق لتقديم أفضل تجربة ممكنة. إذا كنت تتساءل عن التحديثات الأخيرة أو القادمة، لمعرفة إذا كانت هناك نسخة جديدة متاحة.

    • Like 1
  2. السلام عليكم ورحمة الله وبركاتة 

        اريد عرض الفاتورة من الاكسس الى الورد 

    •   انشاء فاتورة على الورد كما موضح فى المرافق 1
    •  اعداد اشارة مراجعية لكل الحقل
    • يعرض البيانات راس الفاتورة 
    • مشكلة فى جدول الفاتورة لا يعرض بيانات 
    • وهذا الكود لعرض الفاتورة على الورد
      Private Sub cmdprv_Click()
          On Error Resume Next ' استمرار التنفيذ عند حدوث خطأ
          Dim X As Object
          Set X = CreateObject("Word.Application")
          X.Documents.Open CurrentProject.Path & "\Reporet_RD.docx"
          X.Visible = True
      
          ' تعبئة العلامات المرجعية في المستند بالقيم المعطاة
          FillBookmark X, "RD", RD
          FillBookmark X, "cost_center_and", cost_center_and
          FillBookmark X, "Supply_No", Supply_No
          FillBookmark X, "Received_date", Received_date
          FillBookmark X, "MANDUB_IF", MANDUB_IF
          FillBookmark X, "MANcheckup_IF", MANcheckup_IF
          FillBookmark X, "q_1", q_1
          FillBookmark X, "Total_RD", Total_RD
      
          ' تعبئة العلامات المرجعية للنموذج الفرعي
          FillBookmark X, "Automatic_No", Automatic_No
          FillBookmark X, "dscrp", dscrp
          FillBookmark X, "uoi", uoi
          FillBookmark X, "qty", qty
          FillBookmark X, "qty_T", qty_T
          FillBookmark X, "unit_price", unit_price
          FillBookmark X, "tot_price", tot_price
      
          ' إضافة جدول الفاتورة مع تنسيق جميل
          AddInvoiceTable X
      
      End Sub
      
      ' دالة فرعية لتعبئة العلامة المرجعية في المستند
      Private Sub FillBookmark(ByRef doc As Object, ByVal bookmarkName As String, ByVal value As Variant)
          On Error Resume Next ' استمرار التنفيذ عند حدوث خطأ
          With doc.ActiveDocument
              If .Bookmarks.Exists(bookmarkName) Then
                  .Bookmarks(bookmarkName).Range.Text = value
              Else
                  MsgBox "العلامة المرجعية " & bookmarkName & " غير موجودة في المستند.", vbExclamation
              End If
          End With
      End Sub
      
      ' دالة فرعية لإضافة جدول الفاتورة مع تنسيق
      Private Sub AddInvoiceTable(ByRef doc As Object)
          Dim tbl As Object
          Dim rng As Object
          Dim rowIndex As Integer
          
          ' تحديد المكان لإدراج الجدول (يمكنك تعديل العلامة المرجعية أدناه)
          Set rng = doc.ActiveDocument.Bookmarks("InvoiceTable").Range
          
          ' إنشاء الجدول: 8 أعمدة وعدد الصفوف بناءً على البيانات
          Set tbl = doc.ActiveDocument.Tables.Add(rng, 2, 7)
          tbl.Borders.Enable = True
          
          ' تعيين رؤوس الأعمدة
          tbl.Cell(1, 1).Range.Text = "رقم الطلب"
          tbl.Cell(1, 2).Range.Text = "الوصف"
          tbl.Cell(1, 3).Range.Text = "الوحدة"
          tbl.Cell(1, 4).Range.Text = "الكمية"
          tbl.Cell(1, 5).Range.Text = "الكمية الإجمالية"
          tbl.Cell(1, 6).Range.Text = "سعر الوحدة"
          tbl.Cell(1, 7).Range.Text = "السعر الكلي"
          
          ' تطبيق التنسيق على رؤوس الأعمدة
          For i = 1 To 7
              With tbl.Cell(1, i).Range
                  .Font.Bold = True
                  .ParagraphFormat.Alignment = wdAlignParagraphCenter
                  .Font.Size = 12
              End With
          Next i
          
          ' إضافة بيانات الصف الأول
          rowIndex = 2
          tbl.Cell(rowIndex, 1).Range.Text = Automatic_No
          tbl.Cell(rowIndex, 2).Range.Text = dscrp
          tbl.Cell(rowIndex, 3).Range.Text = uoi
          tbl.Cell(rowIndex, 4).Range.Text = qty
          tbl.Cell(rowIndex, 5).Range.Text = qty_T
          tbl.Cell(rowIndex, 6).Range.Text = unit_price
          tbl.Cell(rowIndex, 7).Range.Text = tot_price
      
          ' تطبيق تنسيق على البيانات
          For i = 1 To 7
              With tbl.Cell(rowIndex, i).Range
                  .Font.Size = 10
                  .ParagraphFormat.Alignment = wdAlignParagraphCenter
              End With
          Next i
          
          ' تطبيق تنسيق الجدول
          With tbl
              .Rows(1).Shading.BackgroundPatternColor = RGB(217, 217, 217)
              .Borders(wdBorderTop).LineStyle = wdLineStyleSingle
              .Borders(wdBorderBottom).LineStyle = wdLineStyleSingle
              .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle
              .Borders(wdBorderRight).LineStyle = wdLineStyleSingle
              .Borders(wdBorderHorizontal).LineStyle = wdLineStyleSingle
              .Borders(wdBorderVertical).LineStyle = wdLineStyleSingle
              .Range.ParagraphFormat.SpaceAfter = 6
          End With
      
          ' تعيين عرض الأعمدة
          tbl.Columns(1).Width = CentimetersToPoints(2.5)
          tbl.Columns(2).Width = CentimetersToPoints(4.5)
          tbl.Columns(3).Width = CentimetersToPoints(2.5)
          tbl.Columns(4).Width = CentimetersToPoints(2.5)
          tbl.Columns(5).Width = CentimetersToPoints(3)
          tbl.Columns(6).Width = CentimetersToPoints(3)
          tbl.Columns(7).Width = CentimetersToPoints(3.5)
      End Sub
      
      ' دالة لتحويل السنتيمترات إلى نقاط
      Function CentimetersToPoints(cm As Double) As Double
          CentimetersToPoints = cm * 28.35
      End Function

       

              

    1.png

  3. سلام عليكم ورحمه الله وبركاته

    أولا :- شاشات الصلاحيات المستخدمين + شاشة ضغط واصلاح القاعدة + قفل وفتح الشفت + وغيرها من الاداوت المساعدة فى تصميم ADMIN

    •       شاشة ترحيب
    •      شاشة دخول مستخدم
    •     شاشة الرئسية

    ود أن أطلب تعديلًا على صلاحيات المستخدمين، وأتمنى الحصول على دعم من فريق الخوة. يعتبر هذا التعديل ضروريًا لتحسين كفاءة النظام وتعزيز الأمان وتوفير تجربة أفضل للمستخدمين. أعتقد أن قوة وتأثير فريق الخوة ستلعب دورًا حاسمًا في تحقيق هذا التعديل وضمان نجاحه. أنا ممتن للحصول على دعمكم وتعاونكم في هذا الأمر

    ولكم منى جزيل الشكر وتقدير

    Storeg.rar

  4. السلام عليكم ورحمة الله وبركاتة 

    برنامج استلام مواد محلية 

    •     استلام محلى مباشرة
    •   يكون استلام مباشرة
    1. رقم التقرير الاستلام    (RD089800117)   RD رمز استلام مباشرة  08980 رقم التقرير     01 شهر    17 سنة
    2.  رقم الطلبية     (1004500 - 9110)  9110 مركز التكلفة    - 1004500    يجمع مربع نص Order_No + مربع النص مركز التكلفة cost center
    3.  رقم طلب التوريد  Supply_No
    4.   تاريخ الاستلام  Received_date
    5.  كود وصف الطلبية ID_descr
    6. كود المورد   Resource code
    7. كود مندوب المشتريات MANDUB_No
    8. كود مستلم الطلبية من مواد MANcheckup_No
    9. مستلم الطلبية user ID
    •   استلام محلى مخزونية 
    1. رقم التقرير الاستلام    (RS089800117)   RS رمز استلام مخزونية  08980 رقم التقرير     01 شهر    17 سنة
    2.  رقم الطلبية     (1004500 - 9110)  9110 مركز التكلفة    - 1004500    يجمع مربع نص Order_No + مربع النص مركز التكلفة cost center
    3.  رقم طلب التوريد  Supply_No
    4.   تاريخ الاستلام  Received_date
    5.  كود وصف الطلبية ID_descr
    6. كود المورد   Resource code
    7. كود مندوب المشتريات MANDUB_No
    8. كود مستلم الطلبية من مواد MANcheckup_No
    9. مستلم الطلبية user ID
    •   استلام عشوائى
    •  استلام خارخى مباشرة
    • استلام خارجى مخزونية

     

    ولكم منى جزيل الشكر

    Storeg.rar

    • Like 1
  5. Private Sub Field1_DblClick(Cancel As Integer)
    On Error Resume Next
        
        If Me.RD.value = "RD" Then
            With Forms![frm_ReceiptRD].Form
                If Not IsNull([Field1]) Then
                    .k_1 = [Field3]
                Else
                    .k_1 = Null ' تعيين قيمة Null لـ k_2 إذا كان Field1 فارغًا
                End If
            End With
        
            ' تعيين قيمة Null لـ Text100 و Text106 في نموذج frm_ReceiptRD
            Forms![frm_ReceiptRD]![Text100] = Null
            Forms![frm_ReceiptRD]![Text106] = Null
        End If
        
        If Me.RS.value = "RS" Then
            With Forms![frm_ReceiptRS].Form
                ' تعيين قيمة k_2 بقيمة Field3 إذا كان Field1 غير فارغ
                If Not IsNull([Field1]) Then
                    .k_1 = [Field3]
                Else
                    .k_1 = Null ' تعيين قيمة Null لـ k_1 إذا كان Field1 فارغًا
                End If
            End With
        
            ' تعيين قيمة Null لـ Text100 و Text106 في نموذج frm_ReceiptRS
            Forms![frm_ReceiptRS]![Text100] = Null
            Forms![frm_ReceiptRS]![Text106] = Null
        End If
        
        If Me.RS.value = "RR" Then
            With Forms![frm_ReceiptRR].Form
                ' تعيين قيمة k_2 بقيمة Field3 إذا كان Field1 غير فارغ
                If Not IsNull([Field1]) Then
                    .k_1 = [Field3]
                Else
                    .k_1 = Null ' تعيين قيمة Null لـ k_1 إذا كان Field1 فارغًا
                End If
            End With
        
            ' تعيين قيمة Null لـ Text100 و Text106 في نموذج frm_ReceiptRS
            Forms![frm_ReceiptRR]![Text100] = Null
            Forms![frm_ReceiptRR]![Text106] = Null
        End If
        
        If Me.RS.value = "RQ" Then
            With Forms![frm_ReceiptRQ].Form
                ' تعيين قيمة k_2 بقيمة Field3 إذا كان Field1 غير فارغ
                If Not IsNull([Field1]) Then
                    .k_1 = [Field3]
                Else
                    .k_1 = Null ' تعيين قيمة Null لـ k_1 إذا كان Field1 فارغًا
                End If
            End With
        
            ' تعيين قيمة Null لـ Text100 و Text106 في نموذج frm_ReceiptRS
            Forms![frm_ReceiptRQ]![Text100] = Null
            Forms![frm_ReceiptRQ]![Text106] = Null
        End If
        
        If Me.RS.value = "RZ" Then
            With Forms![frm_ReceiptRZ].Form
                ' تعيين قيمة k_2 بقيمة Field3 إذا كان Field1 غير فارغ
                If Not IsNull([Field1]) Then
                    .k_1 = [Field3]
                Else
                    .k_1 = Null ' تعيين قيمة Null لـ k_1 إذا كان Field1 فارغًا
                End If
            End With
        
            ' تعيين قيمة Null لـ Text100 و Text106 في نموذج frm_ReceiptRS
            Forms![frm_ReceiptRZ]![Text100] = Null
            Forms![frm_ReceiptRZ]![Text106] = Null
        End If
        
    
    End Sub
  6. السلام عليكم ورحمة الله وبركاتة 

    تم تصميم نمادج 

    1. نمودج استلام مواد مباشرة
    2. نمودج استلام مواد مخزونية
    3. نمودج استلام مواد عشوائى
    4. نمودج استلام مواد مباشرة اللجنة
    5. نمودج استلام مواد مخزونية اللجنة

    كل شاتات فى ادخال البيانات الاساسية متشابة 

    عندى اضافة او تعديل نقر نقر مزدوجة على مربع النص وصفة الطلبية ينبق نمودج ادخال البيانات الاساسية :-

    1. وصف الطلبية 
    2. اسماء الموردين
    3. اسماء الموظفين
    4. اسماء المندوبين المشتريات
    5. اسم فحص الطلبية من وحدة الاستلام
    6. اسم معاينة الطلبية من قبل الادارة الطالبة

    اريد استعمال النمودج ادخال البيانات الاساسية على نمادج الرئسية .

    ولقد وجد كود من الذكاء الاصناعى 

    Private Sub Field3_DblClick(Cancel As Integer)
    On Error Resume Next
        Dim currentForm As Form
        Set currentForm = Forms.ActiveForm ' الحصول على النموذج الحالي
        
        If Not currentForm Is Nothing Then ' التحقق من وجود نموذج مفتوح
            Dim currentFormName As String
            currentFormName = currentForm.Name ' الحصول على اسم النموذج الحالي
            
            Select Case currentFormName ' التحقق من اسم النموذج
                Case "frm_ReceiptRD", "frm_ReceiptRS", "frm_ReceiptRR", "frm_ReceiptRQ", "frm_ReceiptRZ"
                    Dim receiptForm As Form
                    Set receiptForm = currentForm.Form ' الحصول على النموذج داخل النموذج الحالي
                    
                    If Not receiptForm Is Nothing Then ' التحقق من وجود النموذج الفرعي
                        Dim parentForm As Form
                        Set parentForm = receiptForm.Parent ' الحصول على النموذج الأب المفتوح
                        
                        ' قم بتنفيذ الإجراءات الإضافية هنا
                        MsgBox "تم النقر المزدوج على حقل في نموذج الطلبية!"
                    End If
            End Select
        End If
    End Sub

     

    1.png

  7. كل عام والجميع بالف خير صوماً مقبولاً وذنباً مغفوراً وإفطاراً شهياً بإذن اللّه

    اريد تصميم برنامج الاصوال الثابتة ولا اعرف كيف ابد اريد منكم لتمس من سيادتكم تقديم يد العون لي

    images.jpeg

  8. السلام عليكم ورحمة الله وبركاتة 

    عندى مربع نص فى نمودج اريد اظهر رسائل تنبهات اريد تعديل الكود وتصحيحة من فضلكم...

    ' **عرض الرسالة في مربع النص "Message_box" بتأثير الانتقال:**
    Dim i As Integer
    For i = 1 To 10
    Me.Message_box.Left = Me.Message_box.Left + 10
    DoEvents
    Application.Wait (Now + TimeValue("0:00:01")) ' تأخير لمدة ثانية واحدة
    Next i
    For i = 1 To 10
    Me.Message_box.Left = Me.Message_box.Left - 10
    DoEvents
    Application.Wait (Now + TimeValue("0:00:01")) ' تأخير لمدة ثانية واحدة
    Next i
    ' **تعيين القيمة الافتراضية بعد انتهاء الانتقال:**
    Me.Message_box.Value = "قيمة افتراضية"

     

  9. اريد تعديل كود تحجيم النمودج وتوسيطة 

    Private Sub Form_Open(Cancel As Integer)
    On Error Resume Next
    ' تعيين القيم المطلوبة لعرض النموذج
        Me.WindowWidth = 1920
        
        ' تعيين القيم المطلوبة لارتفاع المساحة الداخلية للنموذج
        Me.WindowHeight = 1080
        
        ' توسيط النموذج على الشاشة
        Me.Left = (Screen.Width - Me.Width) / 2
        Me.Top = (Screen.Height - Me.Height) / 2
        
        On Error GoTo 0
       
    End Sub

    ولكم من جزيل الشكر

  10. شكرا اخى على اهتمامك .

    عندما تقوم استلام مواد من مورد يكون عدد البنود الاستلام 10 وتم استلام جزئى 5 بنود من اصل 10 وتخذ معامل رقم RD000112223 

     

    اريد انا اعرف الاستلام المواد الى المخازن

    - استلام بند محلى - مباشرة

    - استلام بند محلى - مخزونية

    - استلام بند خارجى - مياشرة 

    - استلام بند خارجى - مخزونية

    - استلام عشوائى

    وجميع انواع الاستلام   1- استلام كلية  2- استلام جزئى

     

     

  11. اريد تعديل الكود لان يوجود خطاء لم اتمكن من حل المشاكل ....

    Private Sub cmdpro_04_Click()
    On Error Resume Next
    
        Dim reports() As Variant
        Dim i As Integer
    
        ' تعريف أسماء التقارير
        reports = Array("Month_RQ", "Month_RQ_01", "Month_RQ_02", "Month_RQ_03")
    
        ' فحص وجود بيانات في كل تقرير قبل فتحه
        For i = LBound(reports) To UBound(reports)
            If ReportHasData(reports(i)) Then
                DoCmd.OpenReport reports(i), acViewPreview
            Else
                MsgBox "لا توجد بيانات لفتح التقرير: " & reports(i)
            End If
        Next i
    
    End Sub
    ' دالة للتحقق من وجود بيانات في تقرير محدد
    Function ReportHasData(reportName As String) As Boolean
    On Error Resume Next
       Dim RS As Recordset
    
        ' فتح التقرير واستنساخ السجلات
        Set RS = reports(reportName).RecordsetClone
    
        ' التحقق من وجود سجلات
        If Not RS.EOF Then
            ReportHasData = True
        End If
    
        ' إغلاق السجلات
        RS.Close
        Set RS = Nothing
    End Function

     

  12. Dim frm As Form
    Dim intScreenWidth As Integer
    Dim intScreenHeight As Integer
    Dim intFormWidth As Integer
    Dim intFormHeight As Integer
    Dim intLeft As Integer
    Dim intTop As Integer
    
    ' احضار مرجع للنموذج الحالي
    Set frm = Screen.ActiveForm
    
    ' الحصول على عرض الشاشة وارتفاعها
    intScreenWidth = Screen.Width / Screen.twipsPerPixelX
    intScreenHeight = Screen.Height / Screen.TwipsPerPixelY
    
    ' الحصول على عرض وارتفاع النموذج
    intFormWidth = frm.Width / frm.ScaleX
    intFormHeight = frm.Height / frm.ScaleY
    
    ' حساب الموضع الأفقي المتوسط
    intLeft = (intScreenWidth - intFormWidth) / 2
    
    ' حساب الموضع الرأسي المتوسط
    intTop = (intScreenHeight - intFormHeight) / 2
    
    ' تعيين الموضع الجديد للنموذج
    frm.Move intLeft * frm.ScaleX, intTop * frm.ScaleY

     

    • Like 1
×
×
  • اضف...

Important Information