Posted: 1/20/2015 1:09:27 PM EDT
|
Fairly proficient with spreadsheets - but database is greek to me.
A friend of mine and I developed a spreadsheet to manage our trap and skeet leagues. It works fine - but I think it's more suited to database than spreadsheet. It has a lot of macros in it, all written prior to the excel change to VBA macros. It's something of a PITA to reset and redo for every league, and no one other than myself and my friend have a clue what it does. We have the macros assigned either to keys on the keyboard or to a button under add-ins. I am wondering would would be involved in developing a database to manage the league and print out established reports? Where it gets bulky is the leagues are set up as team competition so we have handicapping routines that handicap each team against all other teams individually to determine 'wins' it has to not include any shoot ahead scores so it only uses data up to the date the report is for. We also separate vet teams from teams with new shooters. |
|
Normally a database is just a storage method for organizing data into a quickly accessible method. There are some data methods for manipulating the data and querying it. But it generally requires a program to actually do something with the data itself. Fetching, writing, and displaying the data requires a front end program to be written.
I'm trying to think of a better way to do what you are doing. But really a spreadsheet isn't a terrible way. Just maybe the way its currently setup needs to be redone. |
|
You write those Excell / VBA macros? If so, check out MS Access: it is probably the simplest route to a working database application.
If you really want to get into it then find a webhost with MySQL / Postgres available, get a book on the scripting language du jour, and go to town. |
|
Thats what I thought. Do you need a Javascript front end or something on that order? Or can you do what you need in MySQL or something similar?
I use a program developed to manage skeet tournaments that uses a foxpro database. I don't know what the interface is based on. We wrote the macros in excel 2003 IIRC - so they are keystroke based macros. I have no clue how to deal with a VBA macro. MS apparently has done away with the button editor so our cool little button execution system is all it's ever going to be. The nice thing is the spreadsheet runs on either my mac or the clubs windows box. I have yet to run into a VBA based macro that will do that. |
|
If you want it all free....
Apache, mysql, PHP/javascript/html Apache is free webserver, Mysql is a free database, PHP is your tool for creating your interface. Otherwise, if you have access to a MS access database...you can create a database and interface all within that application...it's not free although for a non-programmer it might be easier. |
| hmm, C / c++ might be interesting. It's been a while but I used to do limited programing in Fortran IV (it's been a long while). There are no graphics to deal with - just various tables to print out and internal calculations. Some selection criteria on exactly what table needs to be printed (i.e. we will want to print out out teams in order of scratch scores, then again in terms of handicapped scores) There are individual awards also - high scratch, high new shooter, high lady etc I usually print all that out weekly after league night. |
|
Once you grok SQL / RDBMSes it is easy to get simple data storage setup, and many of the web hosting plans out there include some sort of database package. HTML if extremely forgiving for writing an interface / reports with. Back end in... take your pick. VB.net, C#.net, python, perl, php, ... investigate any of the various frameworks out there. You could go nuts on the project.
If you have no experience (or more importantly, interest) in web programming then I think your time and money will be better spent using Access, especially if you will be primarily running on a laptop / single computer where internet connectivity may be limited. |
|
What I'm really trying to do is set myself up so I'm not the ONLY person in the world that can run the darn league software. I don't even shoot trap and I'd like to able to not have to be there on every Tuesday night to run that part of the trap league. The spreadsheet is a little bit too hands on for the rank and file to manage. I was hoping to redo the thing into something a bit more idiot proof without changing the scheme of things.
If I can learn something beneficial along the way, so much the better. At home, where I'm able to work on it, I run a mac (I have windows 7 and parallels on board so it's not horrible to run windows), the club is a windows 7 box. |
|
Quoted:
What I'm really trying to do is set myself up so I'm not the ONLY person in the world that can run the darn league software. I don't even shoot trap and I'd like to able to not have to be there on every Tuesday night to run that part of the trap league. The spreadsheet is a little bit too hands on for the rank and file to manage. I was hoping to redo the thing into something a bit more idiot proof without changing the scheme of things. If I can learn something beneficial along the way, so much the better. At home, where I'm able to work on it, I run a mac (I have windows 7 and parallels on board so it's not horrible to run windows), the club is a windows 7 box. With all that said, if your club has reliable internet access and you are up for the project then a web application would meet your needs. If you are a google fan you can do Google App Engine (https://cloud.google.com/appengine/), it supports a MySQL like db and their NOSQL data store and a variety of programming languages. If usage is low enough then it may not cost anything to deploy, and if your club finds it useful maybe you can start selling access to other clubs. |
|
Quoted:
hmm, C / c++ might be interesting. It's been a while but I used to do limited programing in Fortran IV (it's been a long while). There are no graphics to deal with - just various tables to print out and internal calculations. Some selection criteria on exactly what table needs to be printed (i.e. we will want to print out out teams in order of scratch scores, then again in terms of handicapped scores) There are individual awards also - high scratch, high new shooter, high lady etc I usually print all that out weekly after league night. Python would probably be easier to pick up and would do what you're looking for. |
|
Quoted:
Python would probably be easier to pick up and would do what you're looking for. Quoted:
Quoted:
hmm, C / c++ might be interesting. It's been a while but I used to do limited programing in Fortran IV (it's been a long while). There are no graphics to deal with - just various tables to print out and internal calculations. Some selection criteria on exactly what table needs to be printed (i.e. we will want to print out out teams in order of scratch scores, then again in terms of handicapped scores) There are individual awards also - high scratch, high new shooter, high lady etc I usually print all that out weekly after league night. Python would probably be easier to pick up and would do what you're looking for. Keep in mind that with these programming languages you will need two versions of your program, one for PC and one for mac. |
|
I don't know how useful XCode will be, especially for Web development. If you are working toward a cross platform, Internet- accessible application I would focus on the PaaS options from Google or Amazon, or get Web hosting from someone supporting a LAMP-ish stack.
If you have zero db experience, I would take a look at the book Database Design for Meer Mortals. It focuses on relational databases in the abstract, not on any specific platform. It will help you to start think in database terms. After that figure out what programing language you will use and start digging up tutorials The documentation for PHP is very beginner friendly. There are plenty of introduction tutorials for python, perl, and everything else out there. ... but the quickest path to a stand-alone application will likely be MS Access. |
|
The Mac-vs-PC is one benefit to making it a web app; anybody with a browser and the username/password could update the results, and anybody can read the results anytime, from anywhere.
It sounds like a weekend of PHP and MySQL and you could slap up something simple to meet your needs. |