Community Launch Registration Closed!!
30 January 08 04:04 | Simon Phillips | with no comments

We've had to close registration for the Community Launch this Thursday because we've hit the limit on the number of attendees. Well actually, due to a small issue with the code in our events module, we've gone over it, :S.

We're having to email those people who registered last that they are actually on a waiting list and might not be able to get into the event.  We're also sending out an email to those people who will be able to get in asking them, if they are not able to make it, then please can they un-register themselves so we can free up some space for people who can.

The Launch kit will only be available to those people who actually turn up for the event.

Remember those who can't make it that we will be holding more detailed events later in the year.

Microsoft are also holding the Official launch event in Dublin on the 11th March and we're hoping that they will also be coming to Belfast sometime in April, though this has yet to be confirmed.

SQL Server Reporting Services - Opening up hyperlink in a new window
28 January 08 11:17 | Simon Phillips | 3 comment(s)

By default if you create a navigation link in Reporting Services it opens the link in the same window. In the majority of cases this is fine as you usually use these for navigating to bookmarks within the same report or other reports. However there are many times that you would want to open the link in a new window, say opening up a customers site. The problem with the default behaviour is that it will open in the same window and you will loose the report being shown. You can hit the back button on the browser but this, unless you're using execution or snap-shot cache, will re-run the report.

If your report is being rendered as a web page you can modify your Navigation expression to use the JavaScript function window.open.

e.g.

="j avascript:void(window.open('{url}','_blank'));"

Wrapping the window.open function with a void is good practice as tells the browser not to expect anything back from from the JavaScript.

You could also extend this to use a name window or even specify the dimension of the window. If you need help on windows.open the head over to these web sites

One word of warning that these links will only work with the report being rendered in HTML,if you render in PDF or Excel then you really need to keep the links as a url without the JavaScript. At this time I haven't worked out how to determine, programmatically, the rendering option.

RunAs Radio - Podcast for ITPros
11 January 08 02:40 | Simon Phillips | with no comments

As some of you know I listen to a few technical podcasts. I've just come across RunAs Radio, from the people who bring you .NET Rocks! and Hansel minutes. Also think that Martin also mentioned this on the plane back home from TechEd this year.

RunAs radio is an audio podcast for IT Professionals working with Microsoft products.

I know that I'm a little bit behind the time as the shows started on the 11th April 07, but sometimes it takes a bit of time for me to filter through the mass of information that bombards me every hour of the day and I'm sure I'm not the only one ;).

Head on over to the site (http://www.runasradio.com) and choose to download the format of your choice (mp3, wma or aac) or better still subscribe one of the show feeds using your favourite podcast application. You can also find the show in the podcast directory in iTunes.

Filed under: ,
How do I - Get Ticks and Crosses in an Excel Table?
11 January 08 10:57 | Simon Phillips | with no comments

There are a few ways to get ticks and crosses in cells in Excel, the old way of doing this was to use a font, like the Wingdings, in the cell format. The only problem with this method, was that it didn't always format correctly, you had to remember the character which the corresponds to the tick and cross and if you used the spreadsheet as a data source then you would have 'strange data' in the column.

ScreenClip1

The better way of doing this in Excel 2007 is to use Conditional Formatting.

If we say that want to format a boolean, true / false column to use ticks and crosses. Firstly ensure that you use 1 for true i.e. where you want a tick and 0 for false.

ScreenClip2 

Select the column and Select from the Home tab on the Excel ribbon bar, Conditional Formatting / Icon Sets and choose one of the 3 set tick sets.

ScreenClip3

What you will get is a tick and a cross next to the number.

 ScreenClip4

What we now want to do is to remove the number so we are just left wit the icon.

Select the Conditional Formatting menu again and from this menu select Manage Rules...

ScreenClip5

Select the Icon set and click on Edit Rule

ScreenClip7 

At the bottom of the Edit Formatting Rule dialog you will see a check box called Show Icon Only, tick this control and confirm this dialog and the rules manager dialog.

ScreenClip8

What you are then left with is just the icons :)

ScreenClip9

Filed under: ,
How do I...
11 January 08 10:56 | Simon Phillips | with no comments

I've got a series of posts at work that I keep when clients, colleagues, friends or relatives ask me any questions about IT. It could be on anything from programming, use of application such as office. I thought that I cross-post them to NIMTUG as well for no other reason than then I'm saving them somewhere.

Filed under:
2008 is going to be a busy year! - Events
11 January 08 09:13 | Simon Phillips | with no comments

I've just blogged details about the up and coming Belfast Community Launch for Windows Server 2008, SQL Server 2008 and Visual Studio 2008, as well as some details about the official Microsoft Launch in Belfast later in the year and details about a Microsoft event on deploying Vista and Office 2007.

2008 is going to be a busy year! - Events

Astoria - Online Data Service
04 October 07 11:10 | Simon Phillips | with no comments

At the moment I'm recovering from a bad cold, today is the first time I've felt like logging on and I am catching up with my reading.

One thing on this weeks UK MSDN news cast (Note: guys at MSDN Ireland I read your email as well!!) was Microsoft Codename "Astoria".

With more and more applications being written using AJAX and Silverlight, there needs an easy way of getting the data used by the client side code which is then rendered to the client.

One way to do this is with SOAP and web services, however this can become difficult with creating the HTTP payload that needs to sent and there can be some interop issues when different clients all try and use then same data source. Do not get me wrong, for large B2B applications SOAP, Web Services and WS-* are still the way forward, but when you are looking for a light-weight system then you need to look at a different solution.

A fair few years ago a technique using URLS, HTTP and XML called Representational State Transfer (REST). This technique uses simple HTTP verbs (Get, Put, Delete etc.) with conjunction with queries being built up and sent in urls for example

http://myserver/company would get summary information about all the companies

http://myserver/company/Novosco would get detailed information about a specific company.

Each query would then return either XML or even JASON (which is data simply delimitated which can be easily parsed by technology such as JavaScript.

When I did look REST 3 years ago they wasn't really set ways structuring the queries and where I did contemplate writing a .Net version I didn't have enough time on the project I was on at the time.

Astoria http://astoria.mslivelabs.com/Default.aspx (currently in CTP) is Microsoft REST-like implementation technology which you can easily expose data sets to the net and like REST used URLS, HTTP.

An Astoria query looks like

http://myserver/data.rse/Customers

http://myserver/data.rse/Customers[Novosco]

Microsoft have put up a series of examples and documentation on the Astoria site as well as a sandbox that you can try out the technology.

Using date parameters in Reporting Services reports built against data cubes
27 September 07 03:20 | Simon Phillips | with no comments

I've came across a newsgroup question today, that I thought that I would blog about. When you create a report in Reporting Services against a SQL AS data cube and create a parameter against a date dimension the VS Report Designer creates a string type parameter. Most of the time when you are dealing with dates it's much easier for the end user to use the calendar to select a date. This is only available if you set the parameter to a DateTime type, however this then breaks the query.

The query builder tool, when dealing with parameters creates a query which looks like this.

SELECT NON EMPTY { KPIGoal("Billable Hrs KPI"), KPIValue("Billable Hrs KPI"), KPIStatus("Billable Hrs KPI"), [Measures].[Billable Hrs Booked %], [Measures].[Billable Hrs %], KPIGoal("Hrs Booked KPI"), KPIValue("Hrs Booked KPI"), [Measures].[Hrs Booked %], KPIStatus("Hrs Booked KPI") } ON COLUMNS, NON EMPTY { ([Users].[Users].[Users].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( -STRTOSET(@UsersUserName, CONSTRAINED) ) ON COLUMNS FROM ( SELECT ( STRTOSET(@UserGroupsUserGroups, CONSTRAINED) ) ON COLUMNS FROM ( SELECT ( STRTOMEMBER(@FromActivityDateDate, CONSTRAINED) : STRTOMEMBER(@ToActivityDateDate, CONSTRAINED) ) ON COLUMNS FROM [Exactim]))) WHERE ( IIF( STRTOSET(@UserGroupsUserGroups, CONSTRAINED).Count = 1, STRTOSET(@UserGroupsUserGroups, CONSTRAINED), [User Groups].[User Groups].currentmember ) ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

The Date parameters are expected to be a string in the format of the full name of the date member (e.g. [Activity Date].[Date].[2007-09-27T14:52:00]) this gets passed into the STRTOMEMBER which then get the real member object.

What we need to do is to format the DateTime report parameter to a string.

Select your main data set in the report designer and select the eclipse button next to the drop down to open the data set properties.

image

On the Parameter tab of the dialog, select the value of the parameter and you should get a drop down appear, select <Expression...>

image

You can now create an expression which transforms the datetime parameter in to a string

e.g.

="[Activity Date].[Date].&[" & Year(Parameters!FromActivityDateDate.Value) & "-" & Format(Month(Parameters!FromActivityDateDate.Value), "00") & "-" & Format(Day(Parameters!FromActivityDateDate.Value),"00") & "T00:00:00]"

The thing to take away is to remember that there are two sets of parameters the Report Parameters that the user interacts with and the Query Parameters that are passed database.

Technorati Tags: , , ,
Installing Softgrid database on a SQL Server named instance when there is also a default instance - Done!
03 August 07 03:00 | Simon Phillips | with no comments

There is a known problem with the SoftGrid installation program that it can not deal with installing the database on to SQL Server when there is a named instance as well as a default instance installed on the server.

IMHO there are a number of down falls with the installation program

  1. During the installation of SoftGrid you are asked to select the SQL Server and select a port number (I've never really bothered about port numbers and I've been around SQL Server since 6.5 days). In the environment that we were trying to install SoftGrid data to is one box with a SQL Server 2000 installed as the default instance (so this runs as the default port number) and SQL Server 2005 runnning as a named instance which is where we want to install SoftGrid. The SQL 2005 service runs on a port number taken from a pool of dynamic port numbers so without messing around with the service configuration there is no way I can really know what port number SQL is currently running under. The convension is that if you set the port number to 0 then it should tell the client that it needs to find the dynamic port number , but this didn't work. Blanking out the port number seems to tell the client tool to try to connect using NamedPipes rather than TCP/IP.
  2. The SoftGrid installtion program, I believe, then tries to connect to the server using windows authentication which fails and prompts the user user for a SQL login. According to collegues that have run mutiple installs, it always prompts for the user.

We finally got it working by installing the SQL Server 2005 client connectivity tools on the SoftGrid server and then using the client tools create an alias which points to the named instance we want to installl to. This acts as a proxy so it fools the SoftGrid install in thinking that it standard single instance SQL Server. The Server even appears in the list of available server to connect to. (It still prompts for a SQL login in though)

Filed under: , ,
Uninstalling Applications that do not appear in the Add / Remove Program
10 July 07 10:43 | Simon Phillips | with no comments

I recently instaled an appliaction (Laptop version of CRM Client which installed an instance of MS SQL Server 2005 express on to my machine which I wanted complete rid of, after uninstalling the application I was dismayed to find that the SQL express instance was still installed. The SQL Express instance didn't appear in my Program and Features (Add / Remove Programs on Vista), so after a bit of hunting around I came across a tool called msiinv. This tools lists all the products installed using the Microsoft Installer and returns information about the install.

For Example the CRM Instance returned

Microsoft SQL Server 2005 Express Edition (CRM)
 Product code: {2AFFFDD7-ED85-4A90-8C52-5DA9EBDC9B8F}
 Product state: (5) Installed.
 Package code: {89E33328-9DE4-4D67-9C7D-38962BD87052}
 Version: 9.1.2047.00
 AssignmentType: 1
 Publisher: Microsoft Corporation
 Language: 1033
 Installed from: f:\6bcf4b106b526419dad4ebf5\Setup\
     Package: sqlrun_sql.msi
 Product Icon: C:\Windows\Installer\{2AFFFDD7-ED85-4A90-8C52-5DA9EBDC9B8F}\ARPIcon.ico
 Help link: http://go.microsoft.com/fwlink/?LinkId=52152
 Transforms: :SqlRun01.mst;:InstID02.mst;:InstName02.mst
 Local package: C:\Windows\Installer\6c962c.msi
 Install date: 2007\07\09
 0 patch packages.

Once I had the Product code then I could use the Microsoft Installer appliaction (msiexec) to uninstall in using the msiexec /x {2AFFFDD7-ED85-4A90-8C52-5DA9EBDC9B8F}.

 Before I ran the uninstall process I took note of the location of the database files for the CRM instance and after the uninstall finsihed I just deleted them.

 References:

Aaron Stebner's WebLog - How to manually uninstall SQL Express if uninstalling from Add/Remove Programs fails

Filed under: ,
Microsoft Surface - Just watch the videos...
30 May 07 03:25 | Simon Phillips | 1 comment(s)

Microsoft Surface has just been announced and has started to ripple through blogs (Rob has just blogged about it), tonight it will be a tidal wave!!.

Surface is a multi-touch computing system which is built in to a table which should be in the shops by the end of the year.

There's a 18 min interview demoing Surface posted on Channel 10 here. or pop along to the Surface home page.

It's all very Minority Report meets Table-top Space Invaders ;)

Martin Woodward on DotNetRocks
18 May 07 10:39 | Simon Phillips | with no comments

Our very own Martin Woodward has appeared on DotNetRocks along with his boss @ SourceGear Eric Sink talking about CI and Source Control.

If you get a chance download the show from here or better still subscribe to one of the DNR feeds and never miss a show!!!

Link to Martin Woodward: DotNetRocks

Halo 3 Beta (via the Crackdown invite)
18 May 07 10:21 | Simon Phillips | with no comments

Did take me all evening to d/l it last night and when it finished I did have problems with the Beta not being availiable and then not being able to start matchmaking (I touched the port forwarding settngs for my XBox on my router). I'm now all beta'd up and ready for 4 months of beta testing.

See you online...

Filed under: ,
NIMTUG Site upgrade and Live Writer
09 May 07 01:37 | Simon Phillips | 1 comment(s)

 Thanks to Damien for setting some time aside to upgrade the NIMTUG site, CS 2007 looks really nice out of the box. If there are any budding graphic artists out there who would like to sort out a new logo image for use then please drop me a line (The tree is the default CS logo).

As some of you know, I use Live Writer to post entries to the NIMTUG and to other blogs. (I'm a bit disappointed that it is still in beta (come on MS get your figure out!!).

One of the pains of using Live Writer with the older versions  of CS was that it didn't support the uploading of pictures directly from the tool. There was a few plugins that links to the CS Photo library, but this involved posting the images the library and then linking them to the post.

It looks like CS 2007 now fully supports image uploading though the blog API.

Writing this post with Live Writer
Loads of Events!!
02 May 07 02:46 | Simon Phillips | with no comments

We had a busy April with Martha's Welcome to "WPF/E" and Jonathan's What's New in Visual C++ 2005 talk both of which were great and were aimed at completely different levels of technology competency.

May is shaping up to be as busy with 2 talks already scheduled:

This Thursday (3rd May) we've got Kevin Kline talking about Stored Procedure Best Practices. To get the most out of this talk you're going to have to have a bit of T-SQL coding skills under your belt.

On the 24th May we've got Dave Northey from Microsoft talking about Virtualisation Strategy using the Microsoft stack.

As an experiment, I've published the whole NIMTUG calendar up on the Office site. If you have Outlook 2007 you can subscribe to the calendar by linking to here.

 

See you Thrusday.

 

P.S. Good luck to all the runners (especially Jane) that are taking part in the Belfast Marathon on Monday.

Filed under: ,
More Posts Next page »