जब तक किसी के पास त्वरित/सरल समाधान न हो, विजुअल स्टूडियो 2010 में एमएस एक्सेस के साथ काम करने वाली क्रिस्टल रिपोर्ट प्राप्त करने के लिए मैं यहां दृष्टिकोण का उपयोग करता हूं। यह डेटा स्रोत चुनने की सामान्य विधि से थोड़ा अधिक शामिल है, लेकिन यह अधिक नियंत्रण प्रदान करता है, डेटाबेस है अज्ञेयवादी और काम करता है जहां अन्य विधियां कभी-कभी विफल हो जाती हैं (विशेषकर मेरे अनुभव में एमएस एक्सेस के साथ)।
मैं रिपोर्ट को शुरू से अंत तक काम करने की प्रक्रिया के बारे में विस्तार से बताऊंगा (क्योंकि पूरी प्रक्रिया दूसरों के लिए उपयोगी हो सकती है) लेकिन उन बिट्स को हाइलाइट करूंगा जो आपके काम आ सकती हैं।
1) क्रिस्टल रिपोर्ट्स को SAP साइट के रूप में स्थापित करें। सुनिश्चित करें कि आप exe फ़ाइल डाउनलोड करते हैं, एमएसआई नहीं (यह काम नहीं करता):
http://scn.sap.com/docs/DOC-7824
2) अपने ऐप के टारगेट फ्रेमवर्क को .Net Framework 4 (क्लाइंट नहीं) में बदलें। क्रिस्टल सामग्री मूल प्रोफ़ाइल में शामिल नहीं है।
3) क्रिस्टल पुस्तकालयों का संदर्भ जोड़ें (.NET के लिए क्रिस्टल रिपोर्ट)
4) एक फॉर्म जोड़ें, उस फॉर्म पर एक क्रिस्टल रिपोर्ट व्यूअर कंट्रोल रखें (टूलबॉक्स के रिपोर्टिंग सेक्शन से):
5) एक CrystalReportDocument जोड़ें और इसे CrystalReportViewer नियंत्रण में असाइन करें:
रिपोर्ट को वास्तव में डेटा से भरने के लिए आप निम्न कार्य करते हैं:
1) अपनी रिपोर्ट स्कीमा को कोड निष्पादित करके आउटपुट करें जो आपकी रिपोर्ट को डेटाटेबल (गेटवे से) लेता है और स्कीमा निर्यात करता है। उदाहरण के लिए:
<TestMethod()>
Public Sub SchemaTest()
Dim dataSet As DataSet = StaticDataGateway.AccountingIncomeTotals
dataSet.WriteXmlSchema("I:\Myschema.xml")
End Sub
यदि आपने पहले ही अपनी रिपोर्ट बना ली है, तो शायद आपको इसकी आवश्यकता नहीं होगी। वही यदि आप हाथ से एक्सएमएल लिख सकते हैं (एक बार आपके पास काम करने के लिए एक टेम्पलेट होने पर आसान)
2) फिर आप इसे अपनी रिपोर्ट में लोड करके उन क्षेत्रों को प्राप्त कर सकते हैं जिन्हें आप अपनी रिपोर्ट तैयार करने के लिए हेरफेर कर सकते हैं। ऐसा करने के लिए आप रिपोर्ट फ़ील्ड एक्सप्लोरर में डेटाबेस फ़ील्ड पर राइट क्लिक करें:
3) यहाँ से आप Database Expert चुनें और ADO.net (xml) चुनें। एक्सेस/एक्सेल डीएओ की तार्किक पसंद वास्तव में वीएस 2010 में बिल्कुल भी काम नहीं करती है। अपनी स्कीमा फ़ाइल का चयन करें और इसे लोड करें, फिर चयनित तालिका दृश्य को पॉप्युलेट करने के लिए तालिका 1 पर डबल क्लिक करें:
4) अब जब आपके पास एक स्कीमा लोड हो गया है, तो आप फ़ील्ड ड्रॉपडाउन में फ़ील्ड देख पाएंगे जिन्हें आप अपनी रिपोर्ट पर n ड्रॉप खींच सकते हैं:
5) अंत में आप अपने फॉर्म के ऑन लोड इवेंट में कोड निष्पादित करके अपनी रिपोर्ट में एक डेटासेट लोड करते हैं, जिस पर आपने रिपोर्टव्यूअर नियंत्रण रखा था:
i) सुनिश्चित करें कि आप अपने गेटवे (या कहीं भी) से एक डेटासेट (डेटाटेबल नहीं) आउटपुट करते हैं:
Public Shared Function AccountingIncomeTotals() As DataSet
Dim dataSet As New DataSet
Dim dataTable As DataTable = Database.GetDataTable(GetCommand(DBC.Reporting.SPs.AccountingIncomeTotals))
dataSet.Tables.Add(dataTable)
Return dataSet
End Function
ii) फिर इसे रिपोर्ट पर डेटा स्रोत को असाइन करें:
Private Sub AccountingIncomeTotals_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
AccountingIncomeTotalsReport1.SetDataSource(StaticDataGateway.AccountingIncomeTotals)
End Sub
उपरोक्त अनुभाग शायद आपके लिए विशेष रूप से दिलचस्प होगा क्योंकि यह आपको क्रिस्टल चयनित डेटा स्रोत UI पैनल का उपयोग किए बिना सीधे डेटा स्रोत को रिपोर्ट को असाइन करने की अनुमति देता है।
एक और चीज़ की आवश्यकता है, आपको "useLegacyV2RuntimeActivationPolicy" को app.config फ़ाइल में जोड़ना होगा:
http:/ /www.codeproject.com/Questions/390643/Error-when-use-of-crystal-report-sap-crystal-13-an
मुझे आशा है कि यह मदद करता है, खेद है कि यह इतना शामिल है, यदि आपके कोई प्रश्न हैं तो कृपया पूछें