الأخوة أعضاء المنتدى
عندي مشكلة منذ فترة كبيرة ومع البحث وصلت إن المشكلة في عرض تقارير الكريستال 10 مع قاعدة بيانات sql2000 إن لابد من تمرير بيانات السيرفر لتقارير الكريستال وبحثت في الموضوع كتير إلى أن وصلت للكود التالي
للتوضيح هذا الكود يعمل عندما يكون السيرفر على نفس الجهاز أما لو كان السيرفر على جهاز آخر تظهر مشكلة logon failed
Dim m_Application As New CRAXDDRT.Application
Dim m_Report As New CRAXDDRT.Report
Dim tbl As CRAXDDRT.DatabaseTable
Dim Report As New month_salary_to_bank
Private Sub Form_Activate()
Screen.MousePointer = vbHourglass
On Error Resume Next
Report.DiscardSavedData
CRViewer11.ReportSource = Nothing
Report.RecordSelectionFormula = Null
CRViewer11.Refresh
'*********************pass text to report*********************
Dim crpparmdefs As CRAXDRT.ParameterFieldDefinitions
Dim crpparmdef As CRAXDRT.ParameterFieldDefinition
Report.EnableParameterPrompting = False
Set crpparmdefs = Report.ParameterFields
For Each crpparmdef In crpparmdefs
With crpparmdef
Select Case .Name
Case Is = "{?flag3}"
.ClearCurrentValueAndRange
.SetCurrentValue "بينات العام الحالي" & m.Text & " - " & y.Text '& " - " & emp_section.Text
End Select
End With
Next
On Error Resume Next
'************تمرير بيانات السيرفر لتقارير الكريستال**************************
'Set tbl = Report.Database.Tables(1)
'tbl.ConnectionProperties("provider") = "SQLOLEDB"
'tbl.ConnectionProperties("data source") = "rafik-work"
'tbl.ConnectionProperties("initial catalog") = "employe_door"
'tbl.ConnectionProperties("user id") = "sa"
'tbl.ConnectionProperties("password") = "123456"
'
'Set tbl = Report.Database.Tables(1)
'tbl.ConnectionProperties("data source") = "rafik-work"
'tbl.ConnectionProperties("initial catalog") = "employe_door"
'tbl.ConnectionProperties("user id") = "sa"
'tbl.ConnectionProperties("password") = "123456"
'Set tbl = Report.Database.Tables
'tbl.ConnectionProperties("data source") = "rafik-work"
'tbl.ConnectionProperties("initial catalog") = "employe_door"
'tbl.ConnectionProperties("user id") = "rafik"
'tbl.ConnectionProperties("password") = "123456"
'user1 = "sa" ' must have a valied login to your database in sql server
'pass1 = "123456" ' the user password
'service1 = "sql server" ' you can get the service name from sql server service manager
'server_name = "rafik-work" ' you can get the server name from sql server service manager
'dbname1 = "database name" ' the name of your database project in sql server 2000
'
'connectstring1 = connectstring1 & "Driver=" & service1 & ";"
'connectstring1 = connectstring1 & "Server=" & server_name & ";"
'connectstring1 = connectstring1 & "Database=" & dbname1 & ";"
'connectstring1 = connectstring1 & "Uid=" & user1 & ";"
'connectstring1 = connectstring1 & "Pwd=" & pass1 & ";"
For i = 1 To Report.Database.Tables
Report.Database.Tables(i).SetLogOnInfo "rafik-work", "employe_door", "sa", "123456"
Next i
'Report.Database.Tables(0).ConnectBufferString = connectstring1
SQL = "SELECT * FROM [a_emp_name] where emp_sections = '" & Trim(emp_section.Text) & "' and [emp_state] = '?C??' order by basic_salary desc , name_emp"
Me.Caption = "all" & m.Text & " - " & y.Text '& " - " & emp_section.Text
RS4.Open SQL, DB, adOpenStatic, adLockReadOnly
Report.Database.SetDataSource RS4
CRViewer11.ReportSource = Report
CRViewer11.DisplayGroupTree = False
CRViewer11.EnableExportButton = True
CRViewer11.EnableRefreshButton = True
CRViewer11.EnableZoomControl = True
CRViewer11.ViewReport
CRViewer11.Refresh
Screen.MousePointer = vbDefault
End Subودي بيانات السيرفر
هل يمكن تعديل الكود التالي لإظهار التقارير واكون شاكر جدا