Need MS Access app re-written to something else.
-
@jasgot said in Need MS Access app re-written to something else.:
@jaredbusch said in Need MS Access app re-written to something else.:
This is something the company I work for could possibly do. But I have no way to make any kind of intelligent conversation in forums posts without asking all of the questions I asked, then having you answer, then me asking more questions.
You did answer my questions, so now it is on me again.I just looked, for kicks...... The whole packages was written in 2006 with one modification in 2009 (running untouched since) and is 498 lines of VBA code plus one canned serial comms module.
We're talking super simple. I kinda wish I had 5 hours to dump into it. Heck REXX and a flat file read into an array would be perfect.
Often, if you have the dev resources, this kind of stuff is a weekend project to "do it right." Without digging into it, can't know that for sure. But there is a good chance that that is all that it is to write it in something modern in a good way that can be supported and isn't a high risk. It's often surprising how easy it is to do this stuff well, but it's "just too much" for many companies and so they skimp even on a weekend level project and end up with some real messes.
-
@jaredbusch said in Need MS Access app re-written to something else.:
@jasgot said in Need MS Access app re-written to something else.:
We're talking super simple. I kinda wish I had 5 hours to dump into it.
Super simple on top of the access backend.
Not a 5 hour job.
LOL, yeah, that doesn't make it fun.
-
@pete-s said in Need MS Access app re-written to something else.:
It's IT that is responsible for making their internal customer understand that there needs to be yearly maintenance costs on their custom software. Just as you would have with any software licensing or service agreement. There is no technical difference between software that the company themselves have commissioned and software that is stock from Microsoft, Oracle, vmWare or whoever.
There is. In one case, you are explaining vendor requirements to the customer. In the other, you are trying to tell the vendor the requirements. Remember with bespoke software, your company IS the vendor.
When I explain Windows patching to a customer, I'm passing on Microsoft's information along with my industry knowledge of how Microsoft behaves historically and some knowledge as to impact to us (how much effort patching takes, time, etc.)
But when the company has bespoke software, it is the company that has to tell this to IT. Technically you could say that we could have the company tell us and then us repeat it right back to them, but that would be awkward. The need for patching the software doesn't come from IT. IT knows that we need to apply patches that get released.
That's very different than overseeing the actual writing of patches. None of the information about how software development works should come from IT, that's not IT's job to know nor anything in the IT skillset. Knowing that software vendors turn out updates and patches for some products (not all) and knowing what patches and updates will be required or desired from bespoke software are radically different things.
So if you are my CEO and you tell me that I'm going to run your bespoke software... it's 100% on you to inform me of what the patch releases are going to be like. I might tell you how much effort I suspect applying those patches will take me, and I might decide when I apply them. But I have no input whatsoever in telling you what to patch, why or when.
-
@dashrender said in Need MS Access app re-written to something else.:
If it's an external team, then it's on the company for not listening when IT told them they need to hire someone to maintain it coding wise.
That, as well, is not ITs job. Think of IT like a chauffer here. I drive you around, I'm your IT guy. I might clean the car, I might change the oil, but I don't build the car.
Then you go and decide that you are going to design and build a car yourself and tell me to drive it. Nothing you do, no portion of that design, is my responsibility.
As IT, none of those things fall to us. Sure, a company might ask us to step out of IT and do some software oversight because we are "smart people" and that's the best that they have, or maybe we have experience in another arena. But we have to take off our IT hat to it. You might as well be asking the janitor or the receptionist - we all equally have nothing to do with it in our job title, but any of us might be generally smart and well organized or just use common sense.
JasGot was a good person to his company/customer to turn to to get general "where do we start on this" advice. But not because he has some IT knowledge, but because as an IT person he's likely better exposed and has more common sense than other areas of the business because IT has to just handle more things in more areas. He's just a "well read" worker, that he is IT is neither here nor there to the discussion.
That's important to understand in these cases. None of this can be blamed on IT as none of it is an IT function in any way. But IT tends to accept blame for any number of non-IT items and everyone is always thrilled to have a willing scape goat.
-
@pete-s said in Need MS Access app re-written to something else.:
@dashrender said in Need MS Access app re-written to something else.:
You're what - assuming IT just didn't mention to management that it needs yearly updates/etc? Well, if that's true, then some of the blame belongs to IT, but some is still on the manager/owner because they aren't considering their business holistically.
Yes, I'm assuming IT didn't mention it because they didn't think of it - as it's not immediately obvious to everyone.
If they did mention it and management decided against it, then it is what it is.
But we can say the same about any department. Why didn't operations, accounting, legal, maintenance, janitorial, etc. say something about it? Because 1) it has nothing to do with them even though all of those departments probably depend on it to some degree and 2) because anyone who would think of it would think that it is so obvious that mentioning it to the C-suite would be beyond insulting.
-
@dashrender said in Need MS Access app re-written to something else.:
@pete-s said in Need MS Access app re-written to something else.:
@dashrender said in Need MS Access app re-written to something else.:
You're what - assuming IT just didn't mention to management that it needs yearly updates/etc? Well, if that's true, then some of the blame belongs to IT, but some is still on the manager/owner because they aren't considering their business holistically.
Yes, I'm assuming IT didn't mention it because they didn't think of it - as it's not immediately obvious to everyone.
If they did mention it and management decided against it, then it is what it is.
A full life cycle of the device/solution should be undestood when implementing.. if not, you've already failed.
Granted, nothign says you have to stick to that.. but at least there's an understanding up front.
Right, this is something anyone in any management, owner, investor, or just generally an adult, should already know. If you commission something, you are responsible for ensuring the ongoing support.
Imagine deciding to start your own car company but assuming you don't have to worry about parts or support after you make them.
You can't blame IT for not thinking about the basics. It's not ITs job to figure out all the common sense being missed everywhere in a company and jump into other peoples' jobs and tell them what they are doing wrong. That's what AJ would have done, and you know how that works. IT is great to ask questions of when you want some general advice and you just need smart people, but no company wants IT acting like they are in charge of even the CEO and trying to run the company. There's a natural power grab that seems to happen in IT, it's some weird counterpart to the tendency to accept responsibility for absolutely anything and everything.
It's fine for IT to help wherever needed. But we have to keep track of when we are doing IT duties and when we are filling in the gaps of other departments (often a gap in the CEO, CFO, lawyers, etc.) because they are failing and know that IT will do expensive jobs for "free" if you ask nicely.
-
@jaredbusch said in Need MS Access app re-written to something else.:
Bar code: so RS485?
Gates: Does it need to stay a serial signal controlled bank? Can pins from a Pi board be used to trigger directly?
Computer: what kind of interface is needed? Are you adding and removing codes through this interface?RS485 - Yes
Gates - just closing a circuit with 12v / 500ma. PI directly - likely yes.
Any interface that can be operated from a Windows or Mac computer. -
@jasgot said in Need MS Access app re-written to something else.:
@jaredbusch said in Need MS Access app re-written to something else.:
Bar code: so RS485?
Gates: Does it need to stay a serial signal controlled bank? Can pins from a Pi board be used to trigger directly?
Computer: what kind of interface is needed? Are you adding and removing codes through this interface?RS485 - Yes
Gates - just closing a circuit with 12v / 500ma. PI directly - likely yes.
Any interface that can be operated from a Windows or Mac computer.Web interface is surely going to be the right option here.
-
Why not use Access?
-
@carnival-boy said in Need MS Access app re-written to something else.:
Why not use Access?
Lack of portability is the main reason. You might get lucky and find that the setup is simple enough to move from version to version, but then again, might not.
Also, why force yourself to have a $400+ Access license? Or a $20 OEM Windows license or a $100+ FBP Windows license, etc.
-
Not sure they're generally valid reasons. All systems require time and effort for upgrades, new versions etc etc.
Most companies already have Access licences as part of their Microsoft 365 account.
However, I see that Access doesn't run on a Mac which sounds like a showstopper.
-
@carnival-boy said in Need MS Access app re-written to something else.:
Most companies already have Access licences as part of their Microsoft 365 account.
Well, most companies don't have O365 at all. Many do, but not most.
And lots, maybe not most, don't get it with Access. But definitely lots.
Having access to Access isn't uncommon, but it is not the norm.
-
@carnival-boy said in Need MS Access app re-written to something else.:
Why not use Access?
Cost to acquire (assumed.) Cost to support (higher than something more robust.) Performance. Portability. Security. Reliability. And no need to lock in to SQL Server.
Access doesn't run on a phone, on a Raspberry Pi, on a Mac, on a Chromebook. Even in orgs that don't have any of those today, choosing Access means making a commitment to not having them without replacing that system... again.
If Access was cheaper or easier... there'd be a good argument for it. But I doubt that it is. PHP isn't hard and making an Access-parity app in it is often about the same time as making it in Access. But with so many benefits.
-
@dashrender said in Need MS Access app re-written to something else.:
@carnival-boy said in Need MS Access app re-written to something else.:
Why not use Access?
Lack of portability is the main reason. You might get lucky and find that the setup is simple enough to move from version to version, but then again, might not.
Also, why force yourself to have a $400+ Access license? Or a $20 OEM Windows license or a $100+ FBP Windows license, etc.
And don't forget that to have it be in any sense serious at all (not that any use of a client-server system is serious, but that's as good as Access gets) means maintaining a Windows Server license for the database and MS SQL Server. SQL Server might be free, but only at really small uses. If this grows or is large in any way, you might end up having to pay for and maintain SQL Server licensing, too.
The potentially for there to be lots of costs and lock-ins to those costs are high. Not guaranteed, but high.
-
I didn't get the impression from the OP that they were use SQL Server - less than 500 lines of code.
-
@carnival-boy said in Need MS Access app re-written to something else.:
I didn't get the impression from the OP that they were use SQL Server - less than 500 lines of code.
He point was - if you want to be "serious" about this project, and not be just someone's pet project.
While I think Scott's a bit overblown with the whole Windows Server and SQL server to be "serious" I see where he's coming from.
For example sticking with Windows 10 for example is likely fine because I'm assuming it's being run on and from a single machine connected to the gate system, not a remote server, etc... -
@carnival-boy said in Need MS Access app re-written to something else.:
I didn't get the impression from the OP that they were use SQL Server - less than 500 lines of code.
That's purely a configuration in Access. But the issue is, Access only works reliably with a small number of users until you switch it to SQL Server. Its design is that SQL Server is required for production use as intended for multi-user. Both for reliability, and security.
-
@dashrender said in Need MS Access app re-written to something else.:
While I think Scott's a bit overblown with the whole Windows Server and SQL server to be "serious" I see where he's coming from.
For example sticking with Windows 10 for example is likely fine because I'm assuming it's being run on and from a single machine connected to the gate system, not a remote server, etc...It's a licensing requirement if you want security and reliable multi-user access. Otherwise you have to use the shared-file system of a JetDB that is completely exposed to things like ransomware. And that is highly flaky once you have more than about five users.
-
@scottalanmiller said in Need MS Access app re-written to something else.:
@dashrender said in Need MS Access app re-written to something else.:
While I think Scott's a bit overblown with the whole Windows Server and SQL server to be "serious" I see where he's coming from.
For example sticking with Windows 10 for example is likely fine because I'm assuming it's being run on and from a single machine connected to the gate system, not a remote server, etc...It's a licensing requirement if you want security and reliable multi-user access. Otherwise you have to use the shared-file system of a JetDB that is completely exposed to things like ransomware. And that is highly flaky once you have more than about five users.
This really seems like a single computer setup - so while what you mention could be good, might be overkill for this setup.
-
@dashrender said in Need MS Access app re-written to something else.:
@scottalanmiller said in Need MS Access app re-written to something else.:
@dashrender said in Need MS Access app re-written to something else.:
While I think Scott's a bit overblown with the whole Windows Server and SQL server to be "serious" I see where he's coming from.
For example sticking with Windows 10 for example is likely fine because I'm assuming it's being run on and from a single machine connected to the gate system, not a remote server, etc...It's a licensing requirement if you want security and reliable multi-user access. Otherwise you have to use the shared-file system of a JetDB that is completely exposed to things like ransomware. And that is highly flaky once you have more than about five users.
This really seems like a single computer setup - so while what you mention could be good, might be overkill for this setup.
It is a Raspberry Pi setup, IMO. I think @JasGot is right on that.
I think he is off on the "wishing he had 5 hours" thing though.
I don't know enough about controlling Pi pins to handle this. I think that would be better than the serial interface for the relay control. But it will also require then new wiring which is physical.
The barcode readers should be a standard listen for input handler.
The database design should be pretty straightforward.
The user interface does not sound like it needs to be complex, but like anything, you need to make it comfortably usable, or users will not use.
Finally, security of the application, it's users, data, etc will have to be designed.