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

الردود الموصى بها

قام بنشر

السلام عليكم ورحمه الله

استاذتي الكرام

حاولت ان اجعل الحقول والكائنات في وسط النموذج علما بان الحقول تزيد ونتقص حسب عدد سجلات الورثاء

خفظكم الله احبتي

 

 

‏‏‏‏‏‏AA - 3-4 .accdbFetching info...

قام بنشر
  في 5‏/3‏/2023 at 08:00, عمر طاهر said:

وعليكم السلام ورحمة الله

ألغ تكبير النموذج عند التحميل

 

______AA - 3-4 .accdb 924 kB · 2 downloads

Expand  

اخي عمر لم اجد اي تغير او كود بهذا الشان او انك ربما ارفقت المثال بالخطاء 

ما زال نفس المشكله 

تحياي

قام بنشر

السلام عليك أخي النجاشي 🙂 

جرب المرفق أخي العزيز ..

قمت بعمل الكثير من التنسيقات للخلايا بحيث تم ربطها مع بعض لكي تتحرك جميعها ككتلة واحدة ..

ثم أضفت مربعات على يسارها جميعا ، تكبر وتصغر تلقائيا حسب عدد الحقول .. 

وهذه هي الجزئية التي أضفتها في الكود ( الدالة GenerateDate ) لكي تتحكم بأحجام المربعات (w1 - w2 - w3)

Dim w ' لحساب عدد الخلايا المخفية
For x = 1 To 50
    If Me("D" & x).Caption = "" Then
        w = w + 1
         Me("s" & x).Width = 0
         Me("DDDD" & x).Width = 0
        Me("D" & x).Width = 0
        Me("day" & x).Width = 0
       Me("SUM" & x).Width = 0
    End If
Next
w = 50 - w
Me.w1.Width = (700 * w)
Me.w2.Width = (700 * w)
Me.w3.Width = (700 * w)
	

وطبيعي جدا أن يكون هناك اختلافات في النتائج من جهاز لآخر وهذا يعتمد حسب حجم الشاشة ..

لذلك إذا وجدت إزاحة كبيرة للخلايا عندك فقم باللعب في الرقم ( 700 ) الذي في الكود تكبيرا أو تصغيرا حسب الحاجة 

‏‏‏‏‏‏AA - 3-4 .accdbFetching info...

  • Thanks 1
قام بنشر
  في 6‏/3‏/2023 at 07:16, Moosak said:

السلام عليك أخي النجاشي 🙂 

جرب المرفق أخي العزيز ..

قمت بعمل الكثير من التنسيقات للخلايا بحيث تم ربطها مع بعض لكي تتحرك جميعها ككتلة واحدة ..

ثم أضفت مربعات على يسارها جميعا ، تكبر وتصغر تلقائيا حسب عدد الحقول .. 

وهذه هي الجزئية التي أضفتها في الكود ( الدالة GenerateDate ) لكي تتحكم بأحجام المربعات (w1 - w2 - w3)

Dim w ' لحساب عدد الخلايا المخفية
For x = 1 To 50
    If Me("D" & x).Caption = "" Then
        w = w + 1
         Me("s" & x).Width = 0
         Me("DDDD" & x).Width = 0
        Me("D" & x).Width = 0
        Me("day" & x).Width = 0
       Me("SUM" & x).Width = 0
    End If
Next
w = 50 - w
Me.w1.Width = (700 * w)
Me.w2.Width = (700 * w)
Me.w3.Width = (700 * w)
	

وطبيعي جدا أن يكون هناك اختلافات في النتائج من جهاز لآخر وهذا يعتمد حسب حجم الشاشة ..

لذلك إذا وجدت إزاحة كبيرة للخلايا عندك فقم باللعب في الرقم ( 700 ) الذي في الكود تكبيرا أو تصغيرا حسب الحاجة 

‏‏‏‏‏‏AA - 3-4 .accdb 908 kB · 7 downloads

Expand  

استاذي الغالي موسي رفع الله قدرك كم انت طيب القلب حفظك الله استاذي اينما كنت اطلعت على 

عجله على المثال مبدئيا لكن رأيته رووووووعه مشكور  استاذ موسي يالغالي

 

  في 5‏/3‏/2023 at 22:31, kkhalifa1960 said:
Expand  

أستاذا الغالي حفظك الله ورعاك  راح اطلع على المثال ابلغك بالنتائج مشكوررررر

 

 

قام بنشر

كالعادة لا أستطيع فتح قاعدة البيانات.

في بالي فكرة جربوها ، أن يكون نموذج الفاتورة الرئيس "نموذجا فرعيا" لنموذج رئيسي آخر عبارة عن حاوية/فريم فقط.
ففي النموذج الرئيس الجديد نقوم بالتحكم فيه ليلائم الشاشة
وفي نموذج الفاتورة الذي أصبح نموذجا فرعيا نقوم بتوسيطه بناء على النموذج الأب/الرئيس الجديد.

  • Like 1
قام بنشر (معدل)

وهذه فكرة ثانية للتجربة أضف زر لإعادة التوسيط وسمه cmdRecenter ونشط الحدث عند النقر
وسيكون الكود بهذا الشكل:
 

Private Sub cmdRecenter_Click()
    Dim Ctl As Control
    Dim minX As Integer, maxX As Integer, Gap As Integer
    
    minX = Me.WindowWidth
    maxX = 0
    
    For Each Ctl In Me.Controls
        With Ctl
            If .Left < minX Then minX = .Left
            If .Left + .Width > maxX Then maxX = .Left + .Width
        End With
    Next Ctl

    Gap = (Me.WindowWidth - (maxX - minX)) / 2
    Gap = Gap - minX
    
    If Gap <> minX Then
        For Each Ctl In Me.Controls
            With Ctl
                .Left = .Left + Gap
            End With
        Next Ctl
    End If
End Sub

جربوا وخبرونا.

تم تعديل بواسطه AbuuAhmed
تعديل الكود
  • Thanks 1
قام بنشر
  في 6‏/3‏/2023 at 21:51, AbuuAhmed said:

وهذه فكرة ثانية للتجربة أضف زر لإعادة التوسيط وسمه cmdRecenter ونشط الحدث عند النقر
وسيكون الكود بهذا الشكل:
 

Private Sub cmdRecenter_Click()
    Dim Ctl As Control
    Dim minX As Integer, maxX As Integer, Gap As Integer
    
    minX = Me.Width
    maxX = 0
    
    For Each Ctl In Me.Controls
        With Ctl
            If .Left < minX Then minX = .Left
            If .Left + .Width > maxX Then maxX = .Left + .Width
        End With
    Next Ctl

    Gap = (Me.Width - (maxX - minX)) / 2
    Gap = Gap - minX
    
    If Gap <> minX Then
        For Each Ctl In Me.Controls
            With Ctl
                .Left = .Left + Gap
            End With
        Next Ctl
    End If
End Sub

جربوا وخبرونا.

Expand  

سبجان الله تمنيث هذا الكود وكاننا حاس اننا احصل على كود مثله بدون اعدادت 

فشكرا استاذي القدير ابو احمد الكود نعم ممتاز ولكن ياليت استاذنا موسي يقوم بتجربته على المثال الذي عمل عليه كون انا في خليه واحده ما تظبط معي اول خليه

وهل يا استاذ احمد لازام ما هي شروط النموذج لاننا جرب علي نموذج جديد ونموذجي الحالي وجد فرق

على كل حال كود روعه ممتاز جدا راح ننتظر الاستاذ موسي او احد من الزملاء يقوم بتجربنه

ووضع المثال هنا 

تحياتي

  • Like 1
قام بنشر
  في 6‏/3‏/2023 at 23:28, النجاشي said:

وهل يا استاذ احمد لازام ما هي شروط النموذج لاننا جرب علي نموذج جديد ونموذجي الحالي وجد فرق

Expand  

فضلا وليس أمرا ، حول لي مثالك إلى إصدار 2007

قام بنشر
  في 6‏/3‏/2023 at 21:51, AbuuAhmed said:

جربوا وخبرونا.

Expand  

ما تغير شيء .. فقط حركة بسيطة للعناصر .. ولم يتم التوسيط

 

  في 7‏/3‏/2023 at 06:44, AbuuAhmed said:

حول لي مثالك إلى إصدار 2007

Expand  

هاك ملف بصيغة 2003

‏‏‏‏‏‏AA - 3-4 (2003).mdbFetching info...

قام بنشر (معدل)
  في 7‏/3‏/2023 at 07:08, Moosak said:

هاك ملف بصيغة 2003

Expand  

شكرا لك أستاذ موسى.
عطلت السطر GenerateDate مع الإعتذار لأنه يتسبب في تعطيل كودي للتوسيط ، لم أفهم السبب.
بدلت في كودي الأخير Width إلى WindowWidth

 

AA-3-4_06 (2007).accdbFetching info...

تم تعديل بواسطه AbuuAhmed
تبديل المرفق
قام بنشر

حركوا ساكن ، لماذا الصمت؟!!
توجد مشكلة في الإجراءات السابقة لإجراء التوسيط ، لماذا لا تراجعونها وتحاولون حلها؟
إجراء التوسيط يعمل بكل كفاءة، فقط أضفت سطرا واحدا لحل جزئية سببها الإجراءات السابقة ليتفادى الصناديق التي عرضها صفر ليصبح كالتالي:
 

    For Each Ctl In Me.Controls
        With Ctl
            If .Width <> 0 Then
                If .Left < minX Then minX = .Left
                If .Left + .Width > maxX Then maxX = .Left + .Width
            End If
        End With
    Next Ctl

هذه آخر مشاركة لي في هذا الموضوع.

  • Like 1
قام بنشر

حلمك ابا احمد

صاحب الموضوع هو من يلام على عدم المبادرة وسرعة الاستجابة ، لانه الوحيد المستفيد في الوقت الحاضر والذي يهمه الموضوع

ومع ذلك نلتمس له العذر ... فهو بعيد في اليمن .. فقد لا يتهيأ له الانترنت على مدار الساعة  .. والغايب عذره معه

علما انني من البداية اظهرت له عدم قناعتي بطريقة التصميم ، لأنها لا تنتمي الى اكسس ، بل هي اقرب الى بيئة اكسل

 

  • Like 1
قام بنشر (معدل)
  في 7‏/3‏/2023 at 23:36, ابوخليل said:

حلمك ابا احمد

Expand  

أبشر عزيزي

تم عمل مراجعة شاملة وإن شاء الله الأمور كلها تحت السيطرة

ملاحظات:
- لا تستخدم الإستعلام كمصدر للنموذج ، لا حاجة له.
- لا داعي للكتابة في حدث بعد التحديث لصناديق المبالغ الموزعة فالبرنامج يقوم بها آليا.
- تم تبديل معظم مسميات الصناديق لتسهيل السيطرة والتعديل.
- يتكيف مع عدد الورثة آليا على أن لا يتعدى الـ 50 ولا تقل أعمدة الورثة عن 10 وسيتم التعمية على الأعمدة الزائدة عندما يقل عدد الورثة عن 10
- سيتم حساب عرض الأعمدة حسب عددها آليا.
- تم تبديل أسماء الجداول والنموذج والوحدات النمطية وحذف الاستعلام.
- وددت تبديل أسماء حقول الجداول ولكن تركتها كما هي حتى لا تتسبب لك في مشاكل .. وإذا أردت تبديلها تشاور مع الزملاء.
- البرنامج يحتاج إلى تجارب قوية بزيادة عدد الورثة مع كل تحربة.

موفقين.

 

تم تعديل بواسطه AbuuAhmed
تصحيح إملائي
قام بنشر

استاذي الفاضل ابو خليل استاذي ابو احمد وكل المشاركين باذن الله تتحسن حالتي الصحيه اتواصل معاكم كوني حاليا في التنويم بالمستشفى أجريت عمليه باذن الله بأقرب فرصه اتواصل معاكم دعواتكم لي بالشفاء حفظكم الله أستاذتي الكرام كما أنا ممنون لكم يا من أرشدوني وتساندوني بأي عمل تقوم ب مشكورين موفقير حفظكم الله اينما كنتم

قام بنشر (معدل)

نسخة أخرى بعد تعديل على حدث التراجع.
 

  في 8‏/3‏/2023 at 09:39, النجاشي said:

دعواتكم لي بالشفاء

Expand  

أجر وعافية أخي العزيز ، شافاك الله وعافاك وأرجعك لنا سالما معافى.

 

تم تعديل بواسطه AbuuAhmed
  • Like 1
قام بنشر (معدل)
  في 8‏/3‏/2023 at 12:32, AbuuAhmed said:

نسخة أخرى بعد تعديل على حدث التراجع.
 

أجر وعافية أخي العزيز ، شافاك الله وعافاك وأرجعك لنا سالما معافى.

AA-3-4_08_(2007).accdb 1 \u0645\u064a\u062c\u0627 \u0628\u0627\u064a\u062a · 0 downloads

Expand  

استاذي الفاضل ابو احمد طلبت حضور اللابتوب الي المشفي

رغم انني ما زالت تحت الملاحظه باذن الله بهذه اليومين نكون معاكم باحسن الصحه والعافيه

بعد انزال المرفق ظهر لي بالصوره واعتقد انه بسبب اختلاف مقاس الشاشه بيني وبينك اذا كان الامر صحيح وضحت الكود الذي له علاقه بذالك كي انقص او ازيد بالعدد

تحياتي اليك يالغالي مشكورر

 

لقطة الشاشة 2023-03-08 162921.png

تم تعديل بواسطه النجاشي
قام بنشر

عفو كان هذا بسبب الشرط اقل من عشره ولكن ضهر خلل نوع ماء اعتقد انه بالمسميات في اعلا النموذج اما الغناصر في الوسط واسفل تبين تماما 

تحباتي

  في 8‏/3‏/2023 at 13:21, النجاشي said:

استاذي الفاضل ابو احمد طلبت حضور اللابتوب الي المشفي

رغم انني ما زالت تحت الملاحظه باذن الله بهذه اليومين نكون معاكم باحسن الصحه والعافيه

بعد انزال المرفق ظهر لي بالصوره واعتقد انه بسبب اختلاف مقاس الشاشه بيني وبينك اذا كان الامر صحيح وضحت الاكر الذي له علاقه بذالك كي انقص او ازيد بالعدد

تحياتي اليك يالغالي مشكورر

 

Expand  

 

لقطة الشاشة2.png

قام بنشر

بإذن الله سوف تحل كل المشاكل.
هل قمت بأي تعديل على التصميم؟
عند ظهور رسالة الخطأ انقر زر Debug ثم قم بأخذ لقطة من الشاشة

حاليا وأنا أعمل لحل هذه المشكلة قم باللعب في رقم الـ 20000 في هذا السطر وذلك بإنقاصه 1000 مع كل محاولة:
 

HeirWidth = 20000 / Heirs

ملاحظة أقل عدد للأعمدة 10 هو للحفاظ على شكل/مظهر النموذح وإلا بالإمكان أن أجعله عمودا واحدا فقط.

قام بنشر
  في 8‏/3‏/2023 at 19:01, AbuuAhmed said:

بإذن الله سوف تحل كل المشاكل.
هل قمت بأي تعديل على التصميم؟
عند ظهور رسالة الخطأ انقر زر Debug ثم قم بأخذ لقطة من الشاشة

حاليا وأنا أعمل لحل هذه المشكلة قم باللعب في رقم الـ 20000 في هذا السطر وذلك بإنقاصه 1000 مع كل محاولة:
 

HeirWidth = 20000 / Heirs

ملاحظة أقل عدد للأعمدة 10 هو للحفاظ على شكل/مظهر النموذح وإلا بالإمكان أن أجعله عمودا واحدا فقط.

Expand  

 

ملاحظة أقل عدد للأعمدة 10 هو للحفاظ على شكل/مظهر النموذح وإلا بالإمكان أن أجعله عمودا واحدا فقط. هذا الافضل قد يكون وريث واحد راح أطبق اقتراحك

قام بنشر

حاول تبديل السطر البرمجي في مشاركتي السابقة إلى هذا السطر:
 

 HeirWidth = (Me.WindowWidth - 3112) / Heirs

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information