Showing posts with label fields. Show all posts
Showing posts with label fields. Show all posts

Friday, March 9, 2012

MailTo html in SELECT Statetment?

How do I write a SELECT statement to return one of the selected fields as a mail to link?
Thanks for helping a SQL newbie.
Scott

I'm a little confused. You'd do a SELECT emailAddress FROM yourTable, and then you would just plop the value into an anchor tag with a "mailto:" prefix.
Do you have some code that is not working correctly?
|||

Thank you for responding.

I'm using Dave O'Leary's Advanced DataGrid to pull content out of a MS SQL 2000 table in a DNN3 application.
Heres the statement:
SELECT TOP 5 Title, Price, EmailContact FROM cs_ClassifiedsItem ORDER BY CreatedDate
The DNN module stores classified ad information. The email address is stored as a character string and is returned as a mailto link at runtime. Advanced DataGrid simply returns the character string. I'd like to add code to the SELECT statement to return the email character string as a mailto link.


Mr. O'Leary provides the following guidance on his websitehttp://www.efficionconsulting.com/Default.aspx?tabid=217:
Q. Can the Grid display images and/or Links?

A. Yes. To do so, you basically need to return the appropriate HTML so, you can either store the full HTML in the database field or, in the select statement you can add the HTML, i.e. SELECT '<img src=' + ImageName + '>' FROM LinkImage.
I have not been able to get this to work using various forms of mailto tags. Help is much appreciated.
Thanks,
Scott


|||Then something like this might work for you:
SELECT TOP 5
Title,
Price,
'<a href=''mailto:' + EmailContact + '''>' + EmailContact + '</a>' AS MailToLink
FROM
cs_ClassifiedsItem
ORDER BY
CreatedDate

I don't think that mixing presentation code with data access code is a good idea, however.
|||Thank You! And I appreciate your guidance on mixing code.
Scott

Monday, February 20, 2012

LTRIM in grouping

Hello All,

I am trying to ltrim a portion of multiple fields in a grouping. I am able to do it for one of them, but unfortunately there are several I have to do it for. If I use the following expression, it works for that one.

Code Snippet

=iif(Fields!BankNumber.Value="083"and Fields!TestName.Value="Inquiry Menu - Bank 083",LTRIM("Inquiry Menu"),Fields!TestName.Value)

However, if I try and do it for more than one it errors out. For example...

Code Snippet

=iif(Fields!BankNumber.Value="083"and Fields!TestName.Value="Inquiry Menu - Bank 083",LTRIM("Inquiry Menu"),Fields!TestName.Value)

OR iif(Fields!BankNumber.Value="083"and Fields!TestName.Value="Search Menu - Bank 083",LTRIM("Search Menu"),Fields!TestName.Value)

OR iif(Fields!BankNumber.Value="083"and Fields!TestName.Value="SEAX - Bank 083",LTRIM("SEAX"),Fields!TestName.Value)

Is there another way to arrange this so I can LTRIM each field group seperately?

Thanks,

Clint

It is not clear what exactly you are trying to do, but I'll take a crack at it. If I miss the mark, point me in the right direction.

I think that what you want is to remove the " - Bank 083" string from the end of your testname when the banknumber =083

The expression that you wrote does not exactly do that, and anyway there's a simpler way:

=Replace(Fields!TestName.Value, " - Bank 083", "")

What this does is return the testname with any instance of " - Bank 083" replaced with nothing.

What you wrote (in the first case) says "If the banknumber is 083 and the testname is "Inquiry Menu - Bank 083" then use the string "Inquiry Menu" with no leading spaces, otherwise use the testname.

So the value of that expression is either a literal string, or testname, which is also a string. You got a syntax error because there is no meaning to the expression "string1" OR "string2"

I took a few liberties in assuming characteristics of your data with the solution I offered. Specifically, I assume that only banknumber 083 has " - Bank 083" at the end of the testname.

You only mention the case of this one bank... Are all the other values for testname formatted correctly? If not, you'll probably want to make a more general solution using InStr and SubStr