Wrox Home  
Search P2P Archive for: Go

  Return to Index  

activex_data_objects thread: Re: Executing VBA code from external app via ADO


Message #1 by "James" <jamthoyoung@h...> on Tue, 16 Jul 2002 20:10:33
> Hi,
> 
> Using Access 2000 I have written a small VBA routine inside of standard 
> module. I have also written a query that calls this routine to modify 
one 
> of the columns in a table, ie. to strip punctuation characters from the 
> column, eg.
> 
> select name, MyFunc([name])
> from myTable
> where name = "myname"
> 
> MyFunc is defined in Module1 as a function that currently returns its 
> argument (will put in the stripping details later!), eg.
> 
> Public Function MyFunc(ByVal s As String) As String
>     MyFunc = s
> End Function
> 
> This all works fine if I run the query within the Access environment.
> 
> However, if I try to execute the query from ADO (within a web page or a 
VB 
> app), I get an error saying:
> 
> [Microsoft][ODBC Microsoft Access Driver]undefined function 'MyFunc' in 
> expression
> 
> If I modify my query to use a built in function, such as Lcase$(), it 
> works fine.
> 
> I have also tried this without going through ODBC (using OLEDB from 
Visual 
> Basic) without success.
> 
> So, is it actually possible to call a user-defined function from outside 
> of the Access environment, and if so, how????
> 
> Any suggestions are appreciated!
> 
> Lips.
> 
Message #2 by "James" <jamthoyoung@h...> on Tue, 16 Jul 2002 20:11:20
There is an article related to this at the MS support KB - Q189448

James.
> Hi,
> 
> Using Access 2000 I have written a small VBA routine inside of standard 
> module. I have also written a query that calls this routine to modify 
one 
> of the columns in a table, ie. to strip punctuation characters from the 
> column, eg.
> 
> select name, MyFunc([name])
> from myTable
> where name = "myname"
> 
> MyFunc is defined in Module1 as a function that currently returns its 
> argument (will put in the stripping details later!), eg.
> 
> Public Function MyFunc(ByVal s As String) As String
>     MyFunc = s
> End Function
> 
> This all works fine if I run the query within the Access environment.
> 
> However, if I try to execute the query from ADO (within a web page or a 
VB 
> app), I get an error saying:
> 
> [Microsoft][ODBC Microsoft Access Driver]undefined function 'MyFunc' in 
> expression
> 
> If I modify my query to use a built in function, such as Lcase$(), it 
> works fine.
> 
> I have also tried this without going through ODBC (using OLEDB from 
Visual 
> Basic) without success.
> 
> So, is it actually possible to call a user-defined function from outside 
> of the Access environment, and if so, how????
> 
> Any suggestions are appreciated!
> 
> Lips.
> 

  Return to Index