Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I have a requirement where MS Access application needs to be re-platformed to java application.The MS access app has about 45,000 records and 53 columns with SQL connectivity.These record data need to be edited,data used to send email with pdf report attachment.Report is designed using SQL reporting services.I need to create UI to call the reporting service and generate reports.The customer wants all the 45000 records to be loaded in the single stretch in the datatable.

Can anyone please suggest which is the best way to mimic this in java.Do i need to go with swing app or a web app.

share|improve this question

closed as unclear what you're asking by Robert Harvey, GlenH7, gnat, Bart van Ingen Schenau, Kilian Foth Dec 3 '13 at 13:18

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

    
what database are you going to use with java? –  iveqy Dec 1 '13 at 8:48
    
I am going to use SQL Server 2008. –  rks Dec 1 '13 at 10:39
    
Sharing your research helps everyone. Tell us what you've tried and why it didn’t meet your needs. This demonstrates that you’ve taken the time to try to help yourself, it saves us from reiterating obvious answers, and most of all it helps you get a more specific and relevant answer. Also see How to Ask –  gnat Dec 1 '13 at 10:41
3  
I think you need to step back and revisit your requirements. We can't possible tell you if a webapp or a swing app is the best approach for your user interface. –  iveqy Dec 1 '13 at 13:12

2 Answers 2

DON'T DO IT!

You're approaching the problem of re-writing a program with a relatively small amount of information from one client solution to a new client solution (MS Access to Java) while still using the same server platform (SQL Server 2008). This is a bad idea. Even if you find one-to-one matches for every class and feature you want, you're still throwing away a known code-base for a brand-new set of bugs.

If you're pulling data down from SQL Server Reporting Services to generate an MS Access Report that you save as a PDF and email to someone, you're already using a perfect acceptable tool in exactly the domain said tool was designed for. While there are other tools that could produce the same solution, unless your problem domain is fundamentally changing you don't want to change one line of that MS Access app if you don't have to.

But it's an MS Access Application (.APP), and those aren't supported in 2013...

Yes, *.app files are gone, and if you have an application written using them, and you don't want to jump on the SharePoint bandwagon, you may very well have a bonna fide need to touch otherwise perfectly working code.

But, in that case, the solution is not to throw away the entire access code base and start again. Instead, since all of your data is already on SQL server, you can just create an MS Access Desktop database and link the tables and views you need as either "linked tables" or pass-through queries. At worst, you may need to search through your code base and change references like "dbo.stuff" to either "dbo_stuff" or "stuff", depending on your naming convention.

No, it's a company policy, as we're a Java Shop...

Then you already have program standards. Follow those, and not random strangers on the internet.

Actually, we're moving mostly to android tablets and iPads and stuff, and want to support them...

Great. Then you want to make a new web-based "client" to your SQL server, that should work alongside of your Access application instead of having to do EVERYTHING on first release.

I'm a big fan of XSLT for the sort of reports that Access produces, although they're hardly user-friendly. (XSLT is almost a programming language by itself.) I know that Java can do the kind of user-friendly drag-and-drop kind of stuff that Access can do, but that's more of a specific platform question than a general programming inquiry.

Ok, you got me. I'm really just a Java-fluent IT support in a small office who inherited this boondoggle and want to re-do it in anything but Access.

Neat. Java's not a bad choice at all to move your office's home-grown application to, especially if you're small enough that Apple or Linux is a real possibility. But, as with the stub answer above about making a web interface, don't try and replace EVERYTHING right away. Pick a solution that offers some useful benefits, and start there. If necessary, you can even call back to Access via COM or by sending windows command-line calls.

Hey, I'm not just some kid out of college! Java as %SOME_FEATURE% we want to use, and we're going to use it!

Great. Go for it. Submit more questions with the particular hangups you have in replicating a use-case from Access with your chosen Java toolkit. But "Java" is almost as broad as "programming", and doesn't really help anyone offer advice until you get a little more specific.


Was there a single answer in there somewhere?

Sure.

  1. Don't do it if you don't have to.

  2. Don't replicate everything your access app does if you can run them side-by-side for a short while. If all the data is on SQL server, you can connect to different client platforms at once, without having to shut down one over the other.

  3. Figure out what your future platform needs and existing enterprise choices are, and go there. If you already have a web server, use that. If you already use some swing apps, do those instead.

share|improve this answer
    
Could do with about 80% less hyperbole. –  Robert Harvey Dec 2 '13 at 2:31

The best way to do it is to write a new application in Java, from scratch.

The usual software development life cycle applies; the only difference in your case is that some of the business logic (and possibly the database schema) are already modeled in your Access application (which you should consider your prototype).

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.