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

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

قام بنشر

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

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

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

اخوتي:

قمت بعمل كود برمجي يقوم بتوزيع الحقول برمجياً لبناء جدول علامات مدرسية ولكن واجهتني معضلة وحاولت وحاولت لكن دون فائدة :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
قام بنشر

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

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

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

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

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

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

مرة اخرى

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

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

 

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