Reputation: 53
I am running an excel macro which pulls some data from a oracle database and display in a table format.
The macro runs fine for few minutes and then comes up with the below error:
"Microsoft ODBC Oracle can not allocate sufficient memory for proper operation. Please free up some memory and retry operation"
Please note that I am connecting to the database using DSN settings for Mirosoft ODBC for Oracle. Also please note that this macro was running fine XP with Oracle 10g client. I am facing this issue in Windows 7 (32 bit) with Oracle 11g client.
Any help on this will be greatly appreciated.
Code:
Sub Refresh_Tables()
Dim intHour_of_Day As Variant
Sheets("Live Screen").Select
Range("A1").Select
Application.ScreenUpdating = False
Sheets("Data2").Select
Range("Hour_of_Day").Select
intHour_of_Day = ActiveCell.Value
'MsgBox ("1")
Sheets("Data").Select
Range("G4").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("Data").Select
Range("U4").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
'MsgBox ("2")
Sheets("Data").Select
Range("A25").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
'MsgBox ("3")
Application.ScreenUpdating = False
If intHour_of_Day < 11 Then
' Refresh all Tables
Sheets("Data2").Select
Range("B10").Select
'MsgBox ("4")
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("E10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("H10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("K10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("N10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("Data2").Select
'MsgBox ("5")
Range("Q9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("T9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("W9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("Z9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("AC9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
ElseIf intHour_of_Day >= 11 And intHour_of_Day < 13 Then
Sheets("Data2").Select
Range("E10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("H10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("K10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("N10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("Data2").Select
Range("T9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("W9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("Z9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("AC9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
ElseIf intHour_of_Day >= 13 And intHour_of_Day < 15 Then
Sheets("Data2").Select
Range("H10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("K10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("N10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("Data2").Select
Range("W9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("Z9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("AC9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
ElseIf intHour_of_Day >= 15 And intHour_of_Day < 17 Then
Sheets("Data2").Select
Range("K10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("N10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("Data2").Select
Range("Z9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("AC9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Else
'Update Running Total Tables
Sheets("Data2").Select
Range("N10").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("AC9").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
End If
Sheets("Live Screen").Select
Range("A1").Select
Application.ScreenUpdating = True
End Sub
Upvotes: 0
Views: 574
Reputation: 53
Issue resolved after uninstall windows 7 32 bit and install windows 7 64 bit
Upvotes: 1