On Thu, 20 Mar 2008 14:21:02 -0700, dsimcox
<(E-Mail Removed)> wrote:
>I'm using VBA and ADO to retrieve a recordset from SQL Server - then
>filtering the recordset to get the target records.
>
>Some of my records have a numeric prefix - and some have an alpha prefix.
>
>In my source query I use "partNo LIKE '[A-Z]%'" to extract the recordset.
>But when I try to use the same logic in the recordset filter, it fails to
>find the records. I've tested the result by filtering for the exact prefix
>("partNo LIKE 'WW6%'") and it works, so I know the records are there. But I
>need a more general way of defining the filter
>
>Here's the filter criteria that fails. It returns NO records - when records
>like WW65-ABCD exist. Can someone point me to another solution?
>
>rsAddAllRaw.Filter = "partNo LIKE '[A-Z]%'"
I don't know why this doesn't work. It must be a quirk of Filter, although
that doesn't seem right to me. Here's another workaround if you're
interested:
sSQL = "SELECT DocID, DocTitle, left(DocVersion,1) AS Expr1 FROM
tblDocuments"
Set rs = cn.Execute(sSQL)
rs.Filter = "Expr1 > '9'"
I pull the left-most character from DocVersion and get only those greater
than the string '9', which effectively gets those that start with a letter.
--
Dick Kusleika
Microsoft MVP-Excel
http://www.dailydoseofexcel.com