• 0
جواد

هل يوجد كود لطباعة MSFlexGrid

سؤال

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

اخواني اعاني من طباعة MSFlexGrid

هل يوجد كود لطباعة البيانات التي بداخل MSFlexGrid

شاكرا لكم جهدكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

11 إجابة على هذا السؤال .

  • 0

هل يوجد كود اخواني الاعزاء

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ما زبط معي اخي العزيز

هل يوجد حل آخر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مرحبا

المثال التالي يمكنك من تحويل الفليكس إلى برنامج وورد أو برنامج أكسل

ومن هناك ممكن القيام بطباعة البيانات

Msflixgrid to word and excel for print.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

هناك طريقتين استخدمها لطباعة محتويات MSFlexGrid

1- اذا كنت تعرض جدول من غير اجراء عمليات عليه فيمكنك اسناد جملة الاستعلام التي

تستخدمها في عرض البيانات داخل MSFlexGrid الى التقرير

2- اذا كانت هناك عمليات مثلا حسابية وغيرها ومن ثم تظهر النتائج داخل MSFlexGrid

فيمكنك قراءة ال MSFlexGrid وتحويلها الى جدول داخل قاعدة البيانات ويكون التقرير

فيه اصلا جملة استعلام تقرا هذا الجدول وهذا كود لقراءة ال MSFlexGrid وتحويلها الى جدول

    

sqls1 = "select * from table1 "
If rs4.State = adStateOpen Then rs4.Close
rs4.Open sqls1, db, adOpenKeyset, adLockPessimistic
For i = 1 To fg2.Rows - 1

rs4.AddNew
fg2.Col = 1
fg2.Row = i

rs4![projectname] = fg2.Text
fg2.Col = 2
rs4![projectcode] = fg2.Text
fg2.Col = 3
rs4![trandate] = fg2.Text
fg2.Col = 4
rs4![dep1] = fg2.Text


rs4.Update
Next i




0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً لكما اخواني محمدvb و AHMAD KALIL

والله يرزقكم و يوفقكم

اخي AHMAD KALIL ممكن تضع لي الكود كاملا يعني الاتصال بقاعدة البيانات وكود الطباعة الله يعطيك العافية

أنتظر ردك الكريم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

ارفق مثال لتحويل البيانات من MSFlexGrid الى جدول في قاعدة البيانات

في المثال استخدمت ادخال البيانات مباشرة داخل MSFlexGrid ولكن تستطيع

جلبها من جدول

ومن ثم تحويلها مرة اخرى اي بالعكس من MSFlexGrid الى جدول الذي بدوره

مربوط بجملة استعلام داخل تقرير

ملاحظة / استخدمت التقرير ActiveReport للطباعة اذا لم تكن تستخدمة تسطيع

تنزيله فهو جميل جدا

FlexGrid To Table.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي العزيز ما اشتغل معي

ما رضي يتخمل الملف الذي يحمل اسم ActiveReport1.Dsr مع المشروع

هل تشرح كيف اضبط الـ ActiveReport

مع الشكر الجزيل اخي AHMAD KALIL

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

ابحث يوجد موضع في هذا المنتدى وفيه رابط لتنزيل ActiveReport داخله

او ابحث بالانترنت ستجد البرنامج ان شاء الله

وبعد تنزيله انا مستعد للاجابة

هذا رابط

http://www.arabteam2000-forum.com/index.php?showtopic=147831&st=0

تم تعديل بواسطه AHMAD KALIL
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ضع هذا الكود في أعلى شاشة الكود General

Sub imprime(grille As MSFlexGrid) 
Printer.RightToLeft = False
Printer.ScaleMode = 6
offset% = Printer.CurrentY
Printer.FontName = "Arabic Transparent"
Printer.FontSize = 8.3
Printer.FontBold = False

Dim x, y As Integer

x = Screen.Width / Screen.TwipsPerPixelX
y = Screen.Height / Screen.TwipsPerPixelY
rx = x / 800
ry = y / 600
'*******
hh% = grille.CellTop / ry
Y1% = offset%
For a% = 0 To grille.Rows - 1
grille.Row = a% 'ligne active
Y1% = Y1% + ((grille.CellHeight / ry) / 56.7)
If Y1% > 270 Then Printer.NewPage: Y1% = 10

Y2% = Y1% + ((grille.CellHeight / ry) / 56.7)
For B% = 0 To grille.Cols - 1
grille.Col = B% 'colonne ative
X1% = (grille.CellLeft / rx) / 56.7
X2% = X1% + ((grille.CellWidth / rx) / 56.7)
coul = grille.CellBackColor
If coul = 0 Then coul = RGB(255, 255, 255)
Printer.FillStyle = 0 'rectangle plein
Printer.FillColor = coul

Printer.Line (X1%, Y1%)-(X2%, Y2%), , B
Printer.CurrentX = X1% + 0.5
Printer.CurrentY = Y1%
t$ = grille.Text
tt$ = ""
If grille.CellWidth > 0 Then
For ac% = 1 To Len(t$)
tt$ = Left(t$, ac%)
wc% = Printer.TextWidth(tt$) twips
If X1% + wc% > X2% - 2 Then Exit For
Next ac%
tb$ = Left(tt$, ac%)
For i% = 1 To Len(tb$)
ie% = InStr(tb$, Chr$(13) + Chr$(10))
If ie% > 0 Then
tbb$ = Left(tb$, ie% - 1)
tb$ = Mid(tb$, ie% + 2)
Printer.CurrentX = X1% + 0.5
Printer.Print tbb$
i% = ie% + 2
Else
Printer.CurrentX = X1% + 0.5
Printer.Print tb$
Exit For
End If
Next i%

End If
Next B%
Next a%
Printer.EndDoc
End Sub

وفي زر طباعة الفليكس ضع هذا السطر

Call imprime(MSFlexGrid1) 

ملاحظه :: يجب أن يكون أسم الأداة (MSFlexGrid1)

ولو ما عرفت ضع مثالك هنا علما ان الكود شغال تمام .. تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراص اخي محمدvb ولكن يوجد خطأ بالكود

اظهر لي خطأ في هذا السطر

offset% = Printer.CurrentY

وايضا هنا

wc% = Printer.TextWidth(tt$) twips

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .