[AccessD] String with "#" in VBA?

Darryl Collins darryl at whittleconsulting.com.au
Tue Sep 6 22:24:24 CDT 2011


Yes, that syntax would be correct Bill.  Man, I made a mess of this one
didn't I... hmmmmm.



-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Benson
(VBACreations.Com)
Sent: Wednesday, 7 September 2011 1:16 PM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] String with "#" in VBA?

I concur with the single-quotes and the comma additions... but I was not
aware you are allowed to use the result field's name in the HAVING clause, I
thought you needed to show the function again (see below)?


gstrSQL = ""
gstrSQL = gstrSQL & " SELECT"
gstrSQL = gstrSQL & " Activity,"
gstrSQL = gstrSQL & " SUM(Activity_CF) AS Total_CF,"
gstrSQL = gstrSQL & " SUM(Activity_DCF) AS Total_DCF"
gstrSQL = gstrSQL & " FROM ProbC_tblActivities"
gstrSQL = gstrSQL & " GROUP BY Activity"
gstrSQL = gstrSQL & " HAVING Activity='#Input'"
gstrSQL = gstrSQL & " AND SUM(Activity_CF)  <> 0"




-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan
Sent: Tuesday, September 06, 2011 10:16 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] String with "#" in VBA?

As others have pointed out, the # is not the problem.  

#Input is a string inside your SQL which needs to be delimited inside your
strSQL. 
You are using double quotes as your strSQL building delimiter so the inner
variable needs to 
be surrounded by single quotes.

Also you are missing a comma after Total_CF



Try this:

gstrSQL =   "SELECT " & _
    "Activity, " & _
    "SUM(Activity_CF) AS Total_CF," & _
    "SUM(Activity_DCF) AS Total_DCF " & _
    "FROM ProbC_tblActivities " & _
    "GROUP BY Activity " & _
    "HAVING Activity='#Input' " & _
    "AND Total_CF <> 0" & _




On 7 Sep 2011 at 11:34, Darryl Collins wrote:

> Uh oh...  I thought today was going too darn well.
> 
> I am working with data which has "#" as part of the string which
> causes the VBA code to fail
> 
> For Example:
> 
> gstrSQL = vbNullString
> gstrSQL = gstrSQL & " SELECT"
> gstrSQL = gstrSQL & " Activity,"
> gstrSQL = gstrSQL & " SUM(Activity_CF) AS Total_CF"
> gstrSQL = gstrSQL & " SUM(Activity_DCF) AS Total_DCF"
> gstrSQL = gstrSQL & " FROM ProbC_tblActivities"
> gstrSQL = gstrSQL & " GROUP BY Activity"
> gstrSQL = gstrSQL & " HAVING Activity="#Input"
> gstrSQL = gstrSQL & " AND Total_CF <> 0"
> 
> Which sort of makes sense as the # is used in VBA for Conditional
> Compile.
> 
> Is there some way I can I get VBA to accept the # as part of the
> string and not a command?
> 
> Google has fairly useless when searching for "#" as well.  Bah
> humbubg.
> 
> Cheers
> Darryl
> 
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 



-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com

-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list