Simultaneous Crystal Report Generation - how to distribute and generate dynamic crystal reports while multiple users are logged on.

Hi all, I'm a co-op student working in Toronto and I've taken over the old co-op student's web app project.

The app gathers a bunch of data through layers of pages and what not, then, once data entry is complete the user can print a report summarizing and charting the info.  The current system works fine - when only ONE user is trying to print a report - but when a user tries to print the same report while another report is being generated it will error or the report will be mixed data.

I'm trying to figure out the best way to isolate the users sessions so this doesn't happen.  Additionally, the user will need to be provided raw Access files (the database is oledb) of their data as well....this part I need to write from scratch.

What's the best method to solve this dilemma?

I was thinking of creating a folder per user whlie they are logged in and keeping all their session files in that, kinda like a shopping cart...but I have never tried something like this, and there must be a tried and tested method that you guys can enlighten me with.  The site traffic will not be very large so the memory is not a huge issue, but a robust scalable solution is preferable.

Thanks guys.
Who is Participating?
Ok so there about 8 questions in there, lol

1) if the crystal reports are getting mixed up then theres a problem with that routine
2) If you correctly authenticate your user, this should help
3) When they download the .mdb do they get the whole site, or does each user have his/her own .mdb

basically if you correct the existing design problems all should be well, but I would rethink the download.mdb bit.
I know your gonna have about a billion other questions, so I'll leave it at this for now and wait for your rebuttle.

this is a function to create a .mdb on the fly for you:

Public Function CreateAccessDatabase( _
    ByVal DatabaseFullPath As String) As Boolean
        Dim bAns As Boolean
        Dim cat As New ADOX.Catalog()

         'Make sure the folder
         'provided in the path exists. If file name w/o path
         'is  specified,  the database will be created in your
         'application folder.

            Dim sCreateString As String
            sCreateString = _
              "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _

            bAns = True

        Catch Excep As System.Runtime.InteropServices.COMException
            bAns = False
            'do whatever else you need to do here, log,
            'msgbox etc.
            cat = Nothing
        End Try
        Return bAns
    End Function
'      If CreateAccessDatabase("F:\test.mdb") = True Then
'           MsgBox("Database Created")
'      Else
'           MsgBox("Database Creation Failed")
'      End If
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

NateDizzleAuthor Commented:
Aeros Saga:

The users need unique, filtered databases.  i.e. a standard query will grab the data that they need and then put it into the newly created database file for them.

Do you have any good links for accomplishing the user authentication bit?  As of right now the authentication is strictly a database check of the username and password.  Authentication is set to "windows" but anonymous access is still checked.  I can log on as many times as I want from a number of different machines under the same login.

The users need unique, filtered databases.  i.e. a standard query will grab the data that they need and then put it into the newly created database file for them.

No they don't they need a correctly setup real RDMS such as sql server.  Not the hacked access approach that you so unfortunately inherited.
NateDizzleAuthor Commented:
Tell me about it.  Thanks for the links that you provided.
Your very welcome

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.