2011-03-18 16 views
15

परिभाषित नहीं मैं इस लाइन पर संकलन समय त्रुटि "परिभाषित नहीं उपयोगकर्ता-परिभाषित प्रकार" मिल:कंपाइलर त्रुटि: उपयोगकर्ता-परिभाषित प्रकार

Dim cn As ADODB.Connection 

क्या गलत हो सकता है?

कोड:

Sub test() 

    Dim cn As ADODB.Connection 

    'Not the best way to get the name, just convenient for notes 

    strFile = Workbooks(1).FullName 
    strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";" 
    Set cn = CreateObject("ADODB.Connection") 
    'For this to work, you must create a DSN and use the name in place of 

    'DSNName 

    'strSQL = "INSERT INTO [ODBC;DSN=DSNName;].NameOfMySQLTable " & "Select AnyField As NameOfMySQLField FROM [Sheet1$];" 
    strSQL = "SELECT F1 FROM [Sheet1$];" 
    cn.Execute strSQL 
End Sub 
+0

की संभावित डुप्लिकेट [ 'उपयोगकर्ता निर्धारित प्रकार परिभाषित नहीं' त्रुटि] (http://stackoverflow.com/questions/24261557/user-defined-type-not-defined-error) –

उत्तर

33

मैं एक संदर्भ जोड़ने के लिए भूल गया था करने के लिए "Microsoft ActiveX डेटा ऑब्जेक्ट 2.5 लाइब्रेरी":

उपकरण> संदर्भ> "के माइक्रोसॉफ्ट ActiveX डाटा सामने वाला चेकबॉक्स चेक ऑब्जेक्ट्स 2.5 लाइब्रेरी "

10

आप लेट बाइंडिंग का उपयोग कर सकते हैं:

Dim cn As Object 

समस्या दूर हो जाएगी। Set cn = CreateObject("ADODB.Connection") कथन निष्पादित होने पर VBA स्वचालित रूप से संदर्भ देगा।

+0

@ जीन FrançoisCorbett लगता है जैसे ही मैं यह काम कर सकता हूं, संदर्भ को जोड़कर ... संभव है कि मैं आपके समाधान को समझ नहीं पा रहा हूं। – Shrout1

+0

परीक्षण के रूप में 'मंद सीएन' परीक्षण: इस अंत में सीएन = CreateObject ("ADODB.Connection") सेट करें, ठीक काम करता है। क्या आपको वास्तव में पहले की तरह ही त्रुटि मिल रही है? –

-3

मैंने माइक्रोसॉफ़्ट एक्टिवैक्स डेटा ऑब्जेक्ट्स 2.5 और 2.8 लाइब्रेरी जोड़ने की कोशिश की, लेकिन यह काम नहीं कर सका। लेकिन जब मैंने नीचे की तरह नई वस्तु बनाने की कोशिश की तो यह काम किया।

Set cn = CreateObject("ADODB.Connection") 
+0

यह कोई नया समाधान प्रदान नहीं करता है। यह पहले से ही दूसरे जवाब में कहा गया है। इस विधि को देर से बाध्यकारी कहा जाता है। – ZygD

संबंधित मुद्दे