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

جعل عناصر النموذج في الوسط وملائمة الشاشه


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

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

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

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

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

 

 

‏‏‏‏‏‏AA - 3-4 .accdb

رابط هذا التعليق
شارك

2 ساعات مضت, عمر طاهر said:

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

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

 

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

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

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

تحياي

رابط هذا التعليق
شارك

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

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

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

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

وهذه هي الجزئية التي أضفتها في الكود ( الدالة 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

  • Thanks 1
رابط هذا التعليق
شارك

4 ساعات مضت, 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

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

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

 

13 ساعات مضت, kkhalifa1960 said:

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

 

 

رابط هذا التعليق
شارك

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

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

  • 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
رابط هذا التعليق
شارك

منذ ساعه, 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

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

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

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

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

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

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

تحياتي

  • Like 1
رابط هذا التعليق
شارك

7 ساعات مضت, النجاشي said:

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

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

رابط هذا التعليق
شارك

9 ساعات مضت, AbuuAhmed said:

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

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

 

27 دقائق مضت, AbuuAhmed said:

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

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

‏‏‏‏‏‏AA - 3-4 (2003).mdb

رابط هذا التعليق
شارك

2 ساعات مضت, Moosak said:

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

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

 

AA-3-4_06 (2007).accdb

تم تعديل بواسطه 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
رابط هذا التعليق
شارك

في 8‏/3‏/2023 at 02:36, ابوخليل said:

حلمك ابا احمد

أبشر عزيزي

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

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

موفقين.

 

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

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

رابط هذا التعليق
شارك

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

17 ساعات مضت, النجاشي said:

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

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

 

تم تعديل بواسطه AbuuAhmed
  • Like 1
رابط هذا التعليق
شارك

58 دقائق مضت, AbuuAhmed said:

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

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

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

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

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

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

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

 

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

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

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

تحباتي

20 دقائق مضت, النجاشي said:

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

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

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

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

 

 

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

رابط هذا التعليق
شارك

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

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

HeirWidth = 20000 / Heirs

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

رابط هذا التعليق
شارك

2 دقائق مضت, AbuuAhmed said:

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

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

HeirWidth = 20000 / Heirs

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

 

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

رابط هذا التعليق
شارك

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