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

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

قام بنشر

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

كيف حال الجميع في هذا الصرح الرائع

اتمنى من الله ان تكونوا في احسن حال وراحة بال

اخوتي:

قمت بعمل كود برمجي يقوم بتوزيع الحقول برمجياً لبناء جدول علامات مدرسية ولكن واجهتني معضلة وحاولت وحاولت لكن دون فائدة :wallbash:

واتمنى من الله ان نتمكن من تجاوزها،،، :signthankspin:

الكود هو:

Option Compare Database
Const Insh = 1440

Private Sub Report_Open(Cancel As Integer)
Dim Mynum
Dim Counter
Dim wd
'==================== التوسعة بالانش
wd = 0.3 * Insh
Dim i
'=========================== هنا يقوم الكود بحساب العرض لجميع الحقول
For i = 1 To 30
Me("a" & i).Width = wd
Next i

'Me.a2.Width = 1500

'===================== نقوم بعمل تكرااااار لتزيع الحقول لتتماشى مع بعضها
Counter = 1
    Mynum = 30
    
Do While Mynum > 1

        Mynum = Mynum - 1
        Counter = Counter + 1
   
For i = 1 To 29
Me("a" & i).Left = Me("a" & i + 1).Left + wd
Next i
    
    Loop


End Sub

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

المثال المرفق يوضح المشكلة

احترااامي

 

TestDBR.rar

قام بنشر

وعليكم السلام:smile:

 

نصيحتي ان تبذل الوقت وتعمل حقول التقرير بالطريقة العادية ، لأنها ستوفر عليك الوقت لاحقا (مثل ما لاحظت ، طلبك صعب التعامل معه برمجيا ، ولكنه سهل بالطريقة العادية):smile:

 

ولكن ، اليك الجواب حسب طريقتك:

590.Clipboard01.jpg.55063c41e4e1894f0b3a9c9742dcd946.jpg

.

ليصبح الكود:

Option Compare Database
Const Insh = 1440

Private Sub Report_Open(Cancel As Integer)
    Dim i, wd, iLeft, Field_No

    wd = 0.3 * Insh

    iLeft = 0
    For i = 1 To 30
        
        Field_No = 31 - i
        
        
        If Field_No = 2 Then
            'الحقل رقم 2 اعمل عرضه 4 اضعاف
            Me("a" & Field_No).Width = wd * 4
            Me("a" & Field_No).Left = iLeft
            
        Else
            'بقية الحقول عرضها متساوي
            Me("a" & Field_No).Width = wd
            Me("a" & Field_No).Left = iLeft
            
        End If
        
        iLeft = Me("a" & Field_No).Left + Me("a" & Field_No).Width
    Next i

End Sub

 

جعفر

590.TestDBR.accdb.zip

  • Like 2
قام بنشر

اخي العزيز جعفر،،،

ادامك الله ورعاك ،،، وجعل عملك في ميزان حسناتك

احسنت وابدعت كما العادة ،،، عهدتك معطاءً وستبقى

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

هذا ما طلبته بالضبط

وبخصوص التقارير العادية :) حاجة في عملي فرضت علي مثل هذا التقرير.

مرة اخرى

احترااااااااااامي لشخصك الطيب

وتحياتي لجميع من في هذا الصرح الرائع

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information