السلام عليكم ورحمة الله وبركاته
اخواني اعاني من طباعة MSFlexGrid
هل يوجد كود لطباعة البيانات التي بداخل MSFlexGrid
شاكرا لكم جهدكم
السلام عليكم ورحمة الله وبركاته
اخواني اعاني من طباعة MSFlexGrid
هل يوجد كود لطباعة البيانات التي بداخل MSFlexGrid
شاكرا لكم جهدكم
هل يوجد كود اخواني الاعزاء
السلام عليكم
اخي الكريم الرجاء زر الرابط التالي عسي ان يفيدك
http://vb4arab.com/vb/showthread.php?t=3325&highlight=%D8%C8%C7%DA%C9+MSFlexGrid
ما زبط معي اخي العزيز
هل يوجد حل آخر
مرحبا
المثال التالي يمكنك من تحويل الفليكس إلى برنامج وورد أو برنامج أكسل
ومن هناك ممكن القيام بطباعة البيانات
السلام عليكم
هناك طريقتين استخدمها لطباعة محتويات 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شكراً لكما اخواني محمدvb و AHMAD KALIL
والله يرزقكم و يوفقكم
اخي AHMAD KALIL ممكن تضع لي الكود كاملا يعني الاتصال بقاعدة البيانات وكود الطباعة الله يعطيك العافية
أنتظر ردك الكريم
السلام عليكم
ارفق مثال لتحويل البيانات من MSFlexGrid الى جدول في قاعدة البيانات
في المثال استخدمت ادخال البيانات مباشرة داخل MSFlexGrid ولكن تستطيع
جلبها من جدول
ومن ثم تحويلها مرة اخرى اي بالعكس من MSFlexGrid الى جدول الذي بدوره
مربوط بجملة استعلام داخل تقرير
ملاحظة / استخدمت التقرير ActiveReport للطباعة اذا لم تكن تستخدمة تسطيع
تنزيله فهو جميل جدا
اخي العزيز ما اشتغل معي
ما رضي يتخمل الملف الذي يحمل اسم ActiveReport1.Dsr مع المشروع
هل تشرح كيف اضبط الـ ActiveReport
مع الشكر الجزيل اخي AHMAD KALIL
السلام عليكم
ابحث يوجد موضع في هذا المنتدى وفيه رابط لتنزيل ActiveReport داخله
او ابحث بالانترنت ستجد البرنامج ان شاء الله
وبعد تنزيله انا مستعد للاجابة
هذا رابط
تم تعديل هذه المشاركة بواسطة AHMAD KALIL في 23 يناير 2011 في 16:24
ضع هذا الكود في أعلى شاشة الكود 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)
ولو ما عرفت ضع مثالك هنا علما ان الكود شغال تمام .. تحياتي
شكراص اخي محمدvb ولكن يوجد خطأ بالكود
اظهر لي خطأ في هذا السطر
offset% = Printer.CurrentY
وايضا هنا
wc% = Printer.TextWidth(tt$) twips