All posts by David Zeidman

Looking up a constituent

Whenever I write a bespoke customisation for a client that needs to look up a constituent based on some biographical information I normally use the functionality available behind the scenes in IDLookup. If you are unfamiliar with IDLookup, it allows users to feed in an Excel or CSV file of names, addresses, aliases, attributes and all sorts of biographical information. Then based on criteria that you define, it will look to see if one or more constituents already exist in The Raiser’s Edge. I use much of the look-up functionality in other projects simply because Blackbaud chose not to make this functionality easily available. There is no back-end interface to their regular constituent look-up screen which is a real shame. The nearest feature is the IBBRecordFinder interface.

Continue reading Looking up a constituent

Crystal Reports in need of padding

I don’t write that many Crystal Reports but when I do it is a refreshing change. They integrate nicely with Raiser’s Edge and as I showed with my previous post you can write code that will open up a Crystal Report and run it without having to run an export first. You can use any data source instead of a Raiser’s Edge export. The formula language is quite intuitive if you have worked with VBA, VB6 or VB.NET (and simple enough for those with any other mainstream language experience). However, the other day I need to pad a number with some leading zero. In VB.NET there is the String.LeftPad method which works really well. No such luck with Crystal.

Continue reading Crystal Reports in need of padding

Off Topic – Praise for Evohosting

This is completely off topic but I want to shower my web hosting provider with praise. Why now? Well no particular reason other than I have been thinking about doing it for a while. When I lived in the States I had my website on one of the big providers. It was OK but when I ran into problems they could not fix it, they left me waiting and my site was down. It left a bit of a bad feeling.

I now have my website with Evohosting and have done for the past several years. The contrast could not be different. I am not quite sure how large they are but they give the impression of being very personal. In my previous hosting their emails would be signed off as “support staff” or something equally generic and impersonal. With Evohosting I know the names of those that contact me. Their response times to queries are always very fast and I have yet had a problem that they could not help solve. I am not sure about how much these things should cost but they have always struck me as being very competitively priced for the packages that they provide and certainly for the service that they offer.

In a world where people rant and have a go at bad service Evohosting is a refreshing change. Thanks

Opening a Crystal Report from code (revisited)

In an earlier post I looked at the way in which it is possible to open up a Crystal Report from VB or VBA code in The Raiser’s Edge. That was with version 8.5 of Crystal Reports. I tried to do the same thing recently with a report created in Crystal Reports 11 and the code broke. I rewrote the code using a newer object and technique.

Continue reading Opening a Crystal Report from code (revisited)

How many unique IDs should a Raiser’s Edge Consituent have?

Normally when we look up at a Raiser’s Edge constituent we use a variety of identifiers to find the specific record we are looking for. It may be that we are using biographical data such as surname, first name and parts of their address. To find a one unique record we need to search by unique identifier. The most obvious that we think of is the constituent Id. This is the most common unique Id available to us on the constituent search screen. Of course there is the national insurance number (also known as social security number in the US), and the membership Id (for those with the optional Membership module).

Continue reading How many unique IDs should a Raiser’s Edge Consituent have?

Accessing other parallel VBA DLLs in The Raiser’s Edge

One of the methods for writing VBA code that fires when, say a constituent is saved, is to write a VBA DLL. I have covered this previously so I won’t go into details in this post. However what do you do if you need one VBA DLL to talk to another one? For example if I make a change to a record in one VBA DLL and have installed Zeidman Development’s Audit Trail application (excuse me for the gratuitous plug there) how do I tell the audit trail to make a note of this change? The VBA events are only fired when the Raiser’s Edge GUI opens up or saves a record and not when the code does so.

Continue reading Accessing other parallel VBA DLLs in The Raiser’s Edge

Raiser’s Edge Book

I have just seen a new book about to be released called:

Fundraising with the Raiser’s Edge: A Non-Technical Guide by Bill Connors. Bill was my first inspiration to go into business with The Raiser’s Edge when he was a consultant at Blackbaud and visited the Jewish Community Federation of San Francisco where I worked at the time. He really inspired me to take my development work further. I have never met anyone with a better knowledge of The Raiser’s Edge and fundraising combined and no doubt this will be reflected in his book.

From Amazon.com

or

From Amazon.co.uk

Most definitely a recommended read.

Custom where clause with Relationships

Custom where clauses are  a great way of filtering the results of all the top object collections (where the method exists). However there are some pitfalls. One such pitfall can be found when you try to write sub selects to link to other tables. For example, say you want to find all the individual relation records that have the surname “Zeidman” and are spouses. You would write a sub select in the custom where clause as shown below:

 Continue reading Custom where clause with Relationships 

Bank Validation for Blackbaud Enterprise CRM

Zeidman Development are pleased to announce a new customisation for Blackbaud Enterprise CRM. The bank validation customisation validates UK financial institutions and constituent accounts. For the financial institutions the branch name and address will also be updated. For the constituent accounts the account will be flagged as whether it is valid for direct debit processes. The customisation introduces the ability to query on constituent accounts and in doing so allows for them to be globally validated.

As this is on the Infinity platform it will most likely work for Raiser’s Edge 8 when it is released.

Check out the video at the link below for more details:

http://www.zeidman.info/downloads/BBECBankVal/BankValBBEC.html