Quantcast
Channel: Excel Help Forum - Excel Programming / VBA / Macros
Viewing all articles
Browse latest Browse all 50123

VBA - User defined type - Not defined

$
0
0
I have the following error message on my VBA code

'USER DEFINED TYPE NOT DEFINED'

and it highlights the following as an error


Code:

db As Database
Full code is

Code:


Sub UpdateS29consoldatabase()

Dim MyImp                      'TB file name
Dim MyImpAdd                    'TB file path
Dim FullAdd                    'Full TB file name (inc path)
Dim vtSql$                      'SQL string used for the Access delete query
Dim db As Database              'Access Database
Dim rs As Recordset            'Used to loop through records in Access database
Dim r As Long                  'Used to loop through cells in database
   
    'Full Access Database address
    MyImp = ThisWorkbook.Worksheets("Start").Range("C3").Value
    MyImpAdd = ThisWorkbook.Worksheets("Start").Range("F3").Value
    FullAdd = MyImpAdd & MyImp
   
    'Set Access Database name
    Set db = OpenDatabase(FullAdd)
           
    'delete existing data in the database for this month
    'create a Delete Query SQL string to do this
    vtSql = ""
    vtSql = vtSql & " DELETE ALL_DATA.*, ALL_DATA.Date "
    vtSql = vtSql & " FROM ALL_DATA"
    vtSql = vtSql & " WHERE (((ALL_DATA.Date)=#" & ThisWorkbook.Worksheets("Start").Range("B19").Value & "#))"
   
    db.Execute vtSql
       
        Set rs = db.OpenRecordset("ALL_DATA", dbOpenTable)
       
        ThisWorkbook.Activate
       
        'Name selected file
        curr_wb = ActiveWorkbook.Name
           
        'Start row for data
        r = 2
       
        'Final row for data
        last_line = ThisWorkbook.Sheets("Final Output").Range("A" & r).End(xlDown).Row + 1
       
        ThisWorkbook.Sheets("Final Output").Activate
       
        'Loop through the data
        Do While r < last_line
           
            Application.StatusBar = "Transfering data into Access Database ... (" & r & " of " & last_line & ")"
           
            'Add the data row by row to the Access database
            With rs
                .AddNew

                .Fields("Date") = Range("a" & r).Value
                .Fields("Hard Portfolio") = Range("b" & r).Value
                .Fields("Pfolio Name") = Range("c" & r).Value
                .Fields("HiPort Fund") = Range("d" & r).Value
                .Fields("On Hiport Feed") = Range("e" & r).Value
                .Fields("Group Magnitude Unit") = Range("f" & r).Value
                .Fields("Feed Company") = Range("g" & r).Value
                .Fields("Legal Entity") = Range("h" & r).Value
                .Fields("Sub Fund") = Range("i" & r).Value
                .Fields("Feed Buscat") = Range("j" & r).Value
                .Fields("Abacus") = Range("k" & r).Value
                .Fields("Unit Linked") = Range("l" & r).Value
                .Fields("Asset Alloc") = Range("m" & r).Value
                .Fields("PortfolioCode") = Range("n" & r).Value
                .Fields("Industry Code") = Range("o" & r).Value
                .Fields("Industry Class Description") = Range("p" & r).Value
                .Fields("Issuer") = Range("q" & r).Value
                .Fields("Stock") = Range("r" & r).Value
                .Fields("Sedol") = Range("s" & r).Value
                .Fields("Stock Description") = Range("t" & r).Value
                .Fields("Holding") = Range("u" & r).Value
                .Fields("Unit Cost") = Range("v" & r).Value
                .Fields("BID Price (Local)") = Range("w" & r).Value
                .Fields("BID Price(Pfolio)") = Range("x" & r).Value
                .Fields("MID Price (Local)") = Range("y" & r).Value
                .Fields("MID Price (Pfolio)") = Range("z" & r).Value
                .Fields("Asset Currency") = Range("aa" & r).Value
                .Fields("Capital Cost (Local)") = Range("ab" & r).Value
                .Fields("Capital Cost(Pfolio)") = Range("ac" & r).Value
                .Fields("Book Cost (Local)") = Range("ad" & r).Value
                .Fields("Book Cost(Pfolio)") = Range("ae" & r).Value
                .Fields("Clean Mkt Value (BID Local)") = Range("af" & r).Value
                .Fields("Clean Mkt Value (MID Local)") = Range("ag" & r).Value
                .Fields("Dirty Mkt Value (BID Local)") = Range("ah" & r).Value
                .Fields("Dirty Mkt Value (MID Local)") = Range("ai" & r).Value
                .Fields("Clean Mkt Value (BID Pfolio)") = Range("aj" & r).Value
                .Fields("Clean Mkt Value (MID Pfolio)") = Range("ak" & r).Value
                .Fields("Dirty Mkt Value (BID Pfolio)") = Range("al" & r).Value
                .Fields("Dirty Mkt Value (MID Pfolio)") = Range("am" & r).Value
                .Fields("Annual Income (Local)") = Range("an" & r).Value
                .Fields("Annual Income(Pfolio)") = Range("ao" & r).Value
                .Fields("Accrued Interest (Local)") = Range("ap" & r).Value

               
                .Update
            End With
            r = r + 1
        Loop
   
    'Close the Access files and recordsets
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
   
    Application.StatusBar = False
    Application.ScreenUpdating = True
   
    With Sheets("Start")
        .Range("D31") = Format(Now, "dd-mmm-yy @ hh:mm:ss")
        .Range("D32") = UCase(CreateObject("WScript.Network").UserName)
    End With
   
    MsgBox "Macro Complete"
   
    Sheets("Start").Activate
   
End Sub


Viewing all articles
Browse latest Browse all 50123

Trending Articles