Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hello,
I have a function that I call from a spreadsheet that looks up a value in a database based on certain criteria. IT IS VERY SLOW. I calculate about 500 or so values on a worksheet... Could someone help me with the SLOW code? Should I leave the recordset open? I'm at a loss as to what to do... Here is the function... Function DatabaseLookup(sDate As String, sCol As String, sTable As String) Dim sSQL As String Dim sConn As String Dim fld As Field Dim rst As ADODB.Recordset On Error GoTo ErrHandler ' Create a new recordset object Set rst = New ADODB.Recordset ' Connection details sConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & sFile ' SQL statement to retrieve data sSQL = "SELECT [" & sCol & "] FROM tDayData WHERE Date=#" & sDate & "#;" ' Open the recordset rst.Open sSQL, sConn ' Loop through each field and retrieve it's value For Each fld In rst.Fields If fld.Value < "" Then DatabaseLookup = fld.Value Else DatabaseLookup = "" End If Next Set rst = Nothing Exit Function ErrHandler: MsgBox "Sorry, an error occured. " & Err.Description, vbOKOnly End Function Thanks, Ernst. |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Update Excel Database via Access Main Database with a script | New Users to Excel | |||
Access Database | Excel Discussion (Misc queries) | |||
Access Database | Excel Programming | |||
VBA Database access - How? | Excel Programming | |||
VBA Database access | Excel Programming |