Microsoft Access - Yay / Nay?
So, I had a look at the "system" used in a family ran hotel. The system basically employs *many* of Excel files. E.g. one for each invoice, one that service as a customer "database" index and a whole bunch of others I won't go through now. The people in charge have been using this system for years so and are pretty used to the workflow, but recognise that it's not exactly efficient, especially in the odd instances where they need to look for an older "record".
The solution to me is a database. Giving the scope of the project (I don't think that the database will ever grow to be huge), the fact that only one person at a time will use it, and the fact that they already have a legal copy of Access, I was wondering whether it would be fine for the job. It also has the benefit that as long as they keep a regular backup, it's very straightforward to restore/migrate.. so long as they always have a copy of Access.
It's been a pretty long time since I've worked on any computing project other than some scripting, so ease of implementation is also quite important. 10-15 years ago, I probably gone for a solution with a Java front end / MySQL backend or something along those lines, but now, the least amount of installing stuff and coding that I can get away with, the better :vacant:
Re: Microsoft Access - Yay / Nay?
Oh hell.
This is (IMHO) one of those "how long is a bit of string" questions. Could it be done in Access? No doubt. But shoukd it?
There are a LOT of issues.
Databases can be slippery. Simple tasks are, well, simple, but if you have in mind a system capable of properly running all the functions of even a small hotel, I'd say you have a fairly complex problem on your hands, and not only will it take a lot of developing, but you'll be well-advised to do very substantial validation to make sure it does what you want, in all circumstances, especially in unusual situations and most emphatically when you've got a non-expert "driving" day-to-day.
One critical qusstion is budget? There absolutely must be a range of commercially available solutions, surely?
Put it this way. My Acess skills are pretty rusty, but I spent a lot of time in the past with databases, from dBase II, III, Paradox, and even the package I've forgotten the name of that ended up bought by Lotus, and I've built numerous systems from small personal projects to turnkey systems running under "runtime" licences. And, unless I polished up my Access a lot first, I wouldn't want to build a full-range system where a real business was reliant on it unless I was prepared to invest at lwast many weeks, and probably months, on it.
So unless you're talking about something very simple and basic, not much more than a couple of tables and a few forns, my advice is to be VERY cautious about this.
Careful, pal, Careful.
Re: Microsoft Access - Yay / Nay?
+1. If it's only a tiny business, chances are they'll have no, or very little budget, and you'll end up supporting them through the teething problems, and then probably in perputity.
A quick google suggests that there is a plethora of open source software to do 'hotel stuff' if you REALLY want to open this can of worms....
Re: Microsoft Access - Yay / Nay?
Was the Lotus suite called Smartsuite?
I used it for about 10 years, only 500 or so records but so many fields (over 200, about 100 calculated) that I ended up splitting the DB into 7!
It worked very well and wasn't too bad to work on apart from the daft dialogue boxes for modding the calculated fields which needed about 30 - 40 clicks to get from one end to t'other.
Ah, just remembered it - Approach.
Re: Microsoft Access - Yay / Nay?
Oddly enough, I have just started to look into something similar. I created a work record system and "database" for the workshop using Excel and VBA. This is because we don't have access to Access. It is fine as we only have 60 assemblies, but keeping track of the 10000 individually serial numbered parts is inefficient; luckily, they are naturally grouped in sub-assemblies, so I only have 300 spreadsheets in my "database"! I am also using the system to generate the paperwork for the guys to fill in and also to use it as a record when we change these parts when I enter the data back into the system after the work is done. Ultimately, I would like to make it all computer-based, and getting some 2-in-1 laptops that the guys can use to input the data, have access to the prodecures etc.. I know that Excel can have a problem in this situation is when multiple users have the same workbook open, so it makes sense to move this all over to Access. I should be able to get an Access licence for myself, but might struggle to get multiple ones (probably 6-8) for the workshop, so my current theory to use Excel as a front-end.
Anyway, sorry to hi-jack your thread, but as mentioned above, you may end up supporting them for more than you would like. However, if the person who created the system in the first place is competent, maybe you could point them in the right direction, encourage them to learn and transfer the system across for themselves?
Re: Microsoft Access - Yay / Nay?
OP, Access is designed for this very situation. Small/home business managing datasets. It's relatively easy to get running and can be easily expanded.
There are a lot of problems with it as soon as you start getting to the point of having multiple users accessing it simultaneously (but it still does it).
It's self-contained and will happily plod along for years. I occasionally "support" a family-friend's business, I've done so since I was a teenager. Somebody wrote an Access database to manage their business and then sadly passed away. Every few years, I "upgrade" it, but copying and pasting the files onto a new computer and opening it in the new version of Access, occasionally prompting an "upgrade" button to appear. Otherwise, it plods along fine and does everything they need to. There is no reason to complicate matters.
Would I use it myself if I was given a similar requirement? No, but then I'm a professional developer, I am far more comfortable spinning up a fully fledged application backed by one of the myriad of free (file-based) database engines.
The question really is, how much do you want to bite off? SQL is SQL at the end of the day, you'll be back in the swing of it very quickly. Application development isn't much different too. As you used to Java you could pick up the Community Edition of Visual Studio and do a C# front-end. The learning curve should be fairly minimal for somebody who understands Java. But it will take you longer to get up to speed than Access (not that there won't be some pain with that).
Access is also easier for other people to tinker with. You don't have to maintain a source-code repository anywhere. People can just go in and change what you've done. Gives me the creeps as a professional, but this isn't big IT we're talking about.
Re: Microsoft Access - Yay / Nay?
Quote:
Originally Posted by
Dashers
OP, Access is designed for this very situation. ...
This. This is absolutely true. Listen to this :)...
Quote:
Originally Posted by
Dashers
... Would I use it myself if I was given a similar requirement? No, but then I'm a professional developer, ...
I am also a professional developer, and I'd totally use Access for this if I felt it was the right tool after talking to the client. Development platforms are very much situation dependent, and if the client already has Access and a simple one user application requirement I don't think I'd hesitate to go to Access as the appropriate tool (then again, I've got a reasonable amount of experience developing in Access, so I'm definitely biased).
Quote:
Originally Posted by
Dashers
... Access is also easier for other people to tinker with. ....
This is the point that would make me hesitate most. Because it's part of Office, many people feel they should intuitively know how to use Access. The problem is Access isn't really an office program - it's a complete data application development environment. Treat it like that and it can do some amazing things. Treat it like an office package and you end up with a mess. If you've done the former then hand it over to someone who does the latter, it can be gut-wrenchingly awful; not to mention time consuming to put right. There are ways to deal with that (e.g. splitting the database) but it's an important consideration.
If you want to learn about Access as a program and a dev environment and you're comfortable with the learning curve, I'd say go for it - I've never regretted the time I invested on it.
Let me ask you a different question. Why would you be doing this? Just to help out friends/family? To learn some new technologies? To earn some money on the side? What *you* want to get out of the project will probably be the best pointer to which technology is most appropriate...
Re: Microsoft Access - Yay / Nay?
I have to echo that Access sounds like it could be ideal for what you want....especially as they have been doing it from Excel sheets.....almost anything you create in Access is going to be moving it in the right direction.
Re: Microsoft Access - Yay / Nay?
Have to agree, this is exactly what Access is for.
Re: Microsoft Access - Yay / Nay?
Quote:
Originally Posted by
Giraffe
Was the Lotus suite called Smartsuite?
...
Ah, just remembered it - Approach.
Yep, Approach. It was added to Smartsuite as a DB component, but the ethis was rather different to dBase, etc, in tgat it was very .... Approachable .... but non-DB people. It was sort-of like the ...umm ... 'approach' tsken by more modern vertical market CMSs, but was more generic. And in many ways, ahead of it's time. When I was using it was pre-lotus, though, when it was an independent developer called, IIRC, Approach software.
Re: Microsoft Access - Yay / Nay?
Thanks for all the replies.
To answer some of the questions, the hotel is co-owned by family/family business partners (another family), so I have a various incentive for the business to do well, and would like to improve what I can. That said, I won't always be onsite all the time, and may be away from the country a few months each year, so it has to be pretty bulletproof. If I was to attempt a complete system starting from the booking process (which currently is only done via email/phone), it might be more than I'd like to chew and maintain (the person/people who made the current system are no longer here, so I've become the "tech guy"). Not sure how much commercial options cost (hundreds, thousands or tens of thousands), I don't think it should be ruled out, but given that they've been running it for years, it might take a bit of convincing.
However, I have identified an area that absolutely needs to be improved, the sooner the better. We're not a huge operation, but we've still got thousands of unique and repeat customers, mostly corporate. We do keep a record of past booking, special arrangements with the company/customer amongst other things in a less than perfectly maintained spreadsheet which has grown big enough that it's been split several times because the computer would take too long to load/save etc. Actually, when it takes too long to save, it also causes issues with Google Drive trying to sync before the save is complete, and without boring with the details, causes a whole bunch of trouble I had to spend a few hours to tidy everything up. And even if that in itself isn't a problem, finding a customer "record" is simply take too much user interventions which is the biggest issue I have with the present system. And having to look through several ever growing spreadsheet for customer details is rather inefficient.
A basic searchable customer database that does what we need probably won't need to be very complex (though migrating the data to the new system could be a challenge as there are some cells with more than one piece of information and if I can't parse it automatically, it could be quite painful as there could be over 10000 "records" in place) and would make the biggest difference to the work flow I believe.
I think that I will give Access a go.