मेरे पास एक साधारण रूप, एक क्वेरी और एक्सेस 2003 में एक रिपोर्ट है। मुझे वीबीए का उपयोग करके एक रिकॉर्डसेट में क्वेरी से परिणामों में हेरफेर करना होगा और फिर इसे रिपोर्ट पर अपने रिकॉर्डसोर्स के रूप में पास करना होगा।एडीओडीबी रिकॉर्डसेट एक्सेस रिपोर्ट रिकॉर्डसोर्स
यदि मैं रिकॉर्डसेट को रिकॉर्डसेट के रूप में घोषित करता हूं और रिपोर्ट के रिकॉर्डसोर्स के रूप में अपनी नाम संपत्ति का उपयोग करता हूं तो यह काम कर रहा है। हालांकि, क्योंकि मुझे रिकॉर्डसेट को संपादित करने की आवश्यकता है, हालांकि मुझे नीचे एडीओडीबी रिकॉर्डसेट का उपयोग करना आसान होगा।
रिकॉर्ड सेट को वैश्विक मॉड्यूल में Dim rs As ADODB.RecordSet
के रूप में घोषित किया गया है। शेष कोड है;
Dim db As Database
Set db = CurrentDb
Dim con As ADODB.Connection
Set con = CurrentProject.Connection
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = con
rs.Source = "Select * from XXX"
rs.LockType = adLockOptimistic
rs.CursorType = adOpenKeyset
rs.Open
'manipulate rs here....'
मैं के रूप में myReport.RecordSource = rs.Name रिपोर्ट के RecordSource पारित करने के लिए इस्तेमाल किया। लेकिन एडीओडीबी में नाम संपत्ति नहीं है।
मैं इस रिकॉर्डसेट को रिपोर्ट में अपने रिकॉर्डसोर्स के रूप में कैसे पास कर सकता हूं?
धन्यवाद
क्यों आपको लगता है कि आप यह करना है? रिपोर्ट के ओपन ओपन ईवेंट में आप रिकॉर्ड्स संसाधन क्यों सेट नहीं कर सकते? –
मैं वास्तव में रिपोर्ट की खुली घटना में रिपोर्ट की रिकॉर्डसोर्स प्रॉपर्टी सेट कर रहा हूं, लेकिन इसके लिए रिकॉर्ड सेट का नाम और एडीओडीबी रिकॉर्ड्स के नाम की संपत्ति नहीं है। – Sivakanesh
मैं कह रहा हूं कि एक रिकॉर्डसेट का उपयोग न करें - केवल रिकॉर्ड्ससोर्स प्रॉपर्टी का एसक्यूएल सेट करें जिसे आप अपने रिकॉर्डसेट को खोलने के लिए उपयोग कर रहे हैं। अगर ऐसा कोई कारण है जो काम नहीं करेगा, तो मुझे यह नहीं दिखाई देता है। यह रिपोर्ट करने के लिए मानक तरीका है, रिपोर्ट के रिकॉर्ड्ससेट को सेट करने के बजाय (जो कुछ ऐसा है जो मुझे अपने जीवन के सभी कार्यक्रमों में रहने के लिए कभी भी जरूरी नहीं है)। –