Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11
Default function to call an ODBC query...

Hi,

I have an Import Data query set up (ODBC connection saved as a.dqy
file) which returns two columns from a SQL d/b.

What I normally do is run this and then use the results (big 2-column
list) as the basis of a vlookup table.

What I would prefer to do is create a custom function which calls the
ODBC connection.

The function would pass in one parameter and return the result of a
vlookup done on the big list generated by the ODBC query.

Is it possible to code this in VBA?

Thanks in advance.

Neil.

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 54
Default function to call an ODBC query...


yes


public function myLookup( clause as string ) as variant

dim sqlString as string

sqlString = "SELECT * FROM myTable " + clause ' IE Where Customer='Londis'

'....... Your code for accessing the server

myLookup = myResult

end function



"N Ramsay" wrote in message
ps.com...
Hi,

I have an Import Data query set up (ODBC connection saved as a.dqy
file) which returns two columns from a SQL d/b.

What I normally do is run this and then use the results (big 2-column
list) as the basis of a vlookup table.

What I would prefer to do is create a custom function which calls the
ODBC connection.

The function would pass in one parameter and return the result of a
vlookup done on the big list generated by the ODBC query.

Is it possible to code this in VBA?

Thanks in advance.

Neil.



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11
Default function to call an ODBC query...


Goofy wrote:
yes


public function myLookup( clause as string ) as variant

dim sqlString as string

sqlString = "SELECT * FROM myTable " + clause ' IE Where Customer='Londis'

'....... Your code for accessing the server

myLookup = myResult

end function


Hi Goofy,

Thanks for the quick response.

I can write the SQL query and ODBC connections easily enough, but my
VBA skills are very poor.

Can you please explain what "myResult" refers to in the above, I don't
see it being defined.

I see the sqlString being defined, but not actually being processed..
am I missing the point?

Thanks Again,

Neil.

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 54
Default function to call an ODBC query...


myResult is whatever you want the funtion to return from your query or as a
result of your query

sqlString is representative of a string you want to send to the server IE
the query itself.

I left the ADODB coding to you.


"N Ramsay" wrote in message
ps.com...

Goofy wrote:
yes


public function myLookup( clause as string ) as variant

dim sqlString as string

sqlString = "SELECT * FROM myTable " + clause ' IE Where
Customer='Londis'

'....... Your code for accessing the server

myLookup = myResult

end function


Hi Goofy,

Thanks for the quick response.

I can write the SQL query and ODBC connections easily enough, but my
VBA skills are very poor.

Can you please explain what "myResult" refers to in the above, I don't
see it being defined.

I see the sqlString being defined, but not actually being processed..
am I missing the point?

Thanks Again,

Neil.



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11
Default function to call an ODBC query...

OK - here's what I've got so far:-

_____
Public Function IPLookup(ipadd As String) As Variant

Dim sqlString As String
Dim objConn As ADODB.Connection
Dim objRS As ADODB.Recordset

sqlString = "SELECT <valid stuff FROM <valid stuff WHERE <valid
stuff='" & ipadd & "' "

objConn.ConnectionString =
"ODBC;DSN=blah;UID=blah;PWD=blah;APP=Microsoft Office
2003;WSID=blah;DATABASE=blah;"

objConn.Open

Set objRS = New ADODB.Recordset
Set objRS = objConn.Execute(sqlString)

IPLookup = objRS(0).Value

'Release the recordset and connection
objRS.Close
objConn.Close
Set objRS = Nothing
Set objConn = Nothing

End Function
____

this just returns #Value for input parameters i know are correct.

is thtis a type-mismatch issue, or am i missing something else?

Thanks,

Neil.



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Using SUM function in MS QUERY with ODBC Francois via OfficeKB.com Excel Discussion (Misc queries) 0 November 29th 07 02:37 PM
SQL Query, Can you embed a function call? SaeOngJeeMa Excel Discussion (Misc queries) 0 December 3rd 06 07:51 PM
SQL Query, Embedding a Function Call SaeOngJeeMa Excel Discussion (Misc queries) 0 December 1st 06 11:52 PM
Problem with .Background Query option of ODBC Query Shilps Excel Programming 0 April 19th 04 06:41 AM
ODBC Call failed Error 3146 only on some PC's Jay_44 Excel Programming 3 October 7th 03 05:53 PM


All times are GMT +1. The time now is 10:25 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"