So I invented a way to automatically track changes in any MS Access database...

Discussion in 'OT Technology' started by Black Light, Mar 8, 2004.

  1. Black Light

    Black Light Guest

    ...with very minimal modifications (<1 min of work per form) :o

    According to my contract anything I invent while working for my client automatically becomes their intellectual property...

    ...but, what I developed is actually based on code that I developed for another client, for another project, and...

    ...I could automate it further to apply needed changes on all forms automatically, and then sell it as a stand-alone product, but...

    ...I couldn't really do it, since I would probably be quickly sued :hsd:
     
  2. Black Light

    Black Light Guest

    Anybody knows anything about intellectual rights? What would you advise? :hs:
     
  3. 5Gen_Prelude

    5Gen_Prelude There might not be an "I" in the word "Team", but

    Joined:
    Mar 14, 2000
    Messages:
    14,519
    Likes Received:
    1
    Location:
    Vancouver, BC, CANADA
    WOuldn't you just append the current record into a tracking table, then delete it if no changes were made :dunno: ?
     
  4. Black Light

    Black Light Guest

    No, it only records what was changed, by whom, and when, not entire record. It extracts very detailed information about each change using conventional methods and API calls. What makes it really :cool: is that it is very easy to port to any other database.
     
  5. Black Light

    Black Light Guest

    Basically using my method it is possible to return the database data to a state in any point in time by simply walking backwards through the table tracking all the changes :coold:
     
  6. 5Gen_Prelude

    5Gen_Prelude There might not be an "I" in the word "Team", but

    Joined:
    Mar 14, 2000
    Messages:
    14,519
    Likes Received:
    1
    Location:
    Vancouver, BC, CANADA
    Sounds like you need to be working in a more robust SQL environment where that's already built in. At any rate, the point of that clause is simply that you don't create something that could come back and cause them financial loss. If you work for a company that specifically tracks items for access, then yes, you're screwed. If this is simply a byproduct of a database project, I doubt they'd even know. If they don't know already, throw it into an executible and don't release the source.
     
  7. Black Light

    Black Light Guest

    I've yet to see any other database do what my code does with MS Access. For example, could SQL Server or Oracle walk back in time to the way database data was at a said point in time? Could it also capture a ton of information about the user who did it with precision of 1/10,000th of a second? My code can :embd:
     
  8. Astro

    Astro Code Monkey

    Joined:
    Mar 18, 2000
    Messages:
    2,047
    Likes Received:
    0
    Location:
    Cleveland Ohio
    Transactional processing - its how ATMs don't screw up your balance if they lose power or their data connection.
     
  9. 5Gen_Prelude

    5Gen_Prelude There might not be an "I" in the word "Team", but

    Joined:
    Mar 14, 2000
    Messages:
    14,519
    Likes Received:
    1
    Location:
    Vancouver, BC, CANADA
    Exactly - trust me whatever application you've created is nowhere near the sophistication that is required by extremely sensitive information apps. My hat is off to you for creating it for access, but it's not a new thing in the world of DB management.
     
  10. Black Light

    Black Light Guest

    :rofl:

    I'm well aware of how transactions work. MS Access normally uses non-transactional methods to change data. Besides, it won't provide the level of exact precision that my code can provide. How is transactional processing like my detailed change tracking code? :confused: I think you are thinking of something else :ugh:
     
  11. Black Light

    Black Light Guest

    MS Access is still the #1 most used personal use/small group database software out there. There's nothing better out there that is a complete package like MS Access is. It's not only a database, but a development environment too. No other database can offer what MS Access can in terms of flexibility and self-sufficiency to create complete database solutions :fawk:
     
  12. Astro

    Astro Code Monkey

    Joined:
    Mar 18, 2000
    Messages:
    2,047
    Likes Received:
    0
    Location:
    Cleveland Ohio
    Like 5Gen said, its impressive you got it to go in Access.

    In my own words, transactional processing is the act of providing realtime logs of all steps in a process. If at any point a step fails, regardless of the reason (hardware, communication link, etc), the transaction fails and can either roll back all the transactions up to a predetermined/coded point, or reroll the transactions onto another machine, hardware, or communication link. Transactional processing usually takes place from within an RDBMS, but I believe it can be done at the OS level to cater for file or CPU instruction transactions (although I couldn't name you any OSes that do this).

    For example, MS SQL provides transactional processing and I've recovered data and tables just from the transaction logs. The transaction logs also provide a means for incremental backups, if/when needed.
     
  13. Astro

    Astro Code Monkey

    Joined:
    Mar 18, 2000
    Messages:
    2,047
    Likes Received:
    0
    Location:
    Cleveland Ohio
    For personal use, Access is great. If you're group is under 8, its still great. If its over 8, good luck. From a performance standpoint, Access is a slug. But for home use, its perfect.
     
  14. Black Light

    Black Light Guest

    Thanks, but transactional processing actually is available in MS Access if you don't mind using some VBA to use it.

    There's no need for transactions for what I designed my code to do. It simply allows you to play back all changes and find out who messed and when during manual data entry. There are some times when even when a transaction succeeded, something wasn't done quite right, so instead of storing batches of transaction data, it stores data on a each invidual field data change level. It's extremely precise and designed for low data volume databases specifically. MS Access is typically used to deal with 100,000 records or less per database, so storing detailed change playback info is not much of an issue with 100 records/day change averages.
     
  15. Black Light

    Black Light Guest

    That's exactly what I use MS Access for. Very small groups of 5 users or less :hs:

    I can easily upsize it to a full blown SQL server using built-in tools and a bit of manual fixing. That's not the point however. The point is that small databases lack any decent way to track changes, and my solution provides even more detail than any other, even large database software can.
     
  16. Black Light

    Black Light Guest

    Let me give you a few typical database uses so u can have a better idea for my change tracking code in MS Access:
    1. FDA validated data change tracking for low volume databases
    2. HR personnel data that keeps track of employee info. In case some kind of error was made (something was changed incorrectly), my code can pinpoint exact date/time error was made and by whom and where (on which machine)
    3. Any other small database where keeping track of changes is extremely important, so that it can be quickly undone and investigated in extreme detail... on even greater than record-level, but actual field-level.
     
  17. Astro

    Astro Code Monkey

    Joined:
    Mar 18, 2000
    Messages:
    2,047
    Likes Received:
    0
    Location:
    Cleveland Ohio
    So, you built something to work around triggers and stored procedures. Ok.

    Right tool for the right job, I would have picked PostgreSQL (can't beat the price either) if change tracking was mission critical.
     
  18. 5Gen_Prelude

    5Gen_Prelude There might not be an "I" in the word "Team", but

    Joined:
    Mar 14, 2000
    Messages:
    14,519
    Likes Received:
    1
    Location:
    Vancouver, BC, CANADA
    BL, don't get me wrong - I work in Access every day - 6-8 projects always on the go. And if you do all your data addition via data entry, your method can work. However, when you start adding and updating data via queries, it falls short. That's why transactional processing is far superior, it keeps track of every change to every single piece of data, regardless of how you change the data.

    My point was to simply say I'm not sure there is a market for your code snippet - and this is coming from someone who relies on Access for handling 10 GB's of data. (Which in itself is laughable)
     
  19. SL1200MK4

    SL1200MK4 New Member

    Joined:
    Sep 27, 2003
    Messages:
    1,552
    Likes Received:
    0
    :bowdown: :bowdown: :bowdown: :bowdown: :bowdown:

    Man, I never thought that could be possible with Access... Practically speaking I mean.
     
  20. Black Light

    Black Light Guest

    1. I'm not sure how you intend to track all your changes with transactions. What database are you talking about in particular? :ugh:

    2. :bsflag: :rofl: @ "handling 10 GB's of data" in MS Access
    MS Access is limited to 2GB per database :slap:
     
  21. Black Light

    Black Light Guest

    It's NOT possible. At least not with a single MS Access database. There's a 2GB limit for MS Jet database engine :uh:
     
  22. vudoodoodoo

    vudoodoodoo Guest

    Just quit and make your own company. Hyperglobalcomputex. :big grin:
     
  23. Black Light

    Black Light Guest

    Well, technically, I am my own company. I'm an independent IT Consultant :eek3d:
     
  24. EvilSS

    EvilSS New Member

    Joined:
    Jun 11, 2003
    Messages:
    5,104
    Likes Received:
    0
    Location:
    STL
    Consult an law firm that handles intellectual property. They will usually give you the initial consult for free. If you are in the Metro-STL area of Illinois, I can point you to a firm in Saint Louis that I have used in the past.
     
  25. 5Gen_Prelude

    5Gen_Prelude There might not be an "I" in the word "Team", but

    Joined:
    Mar 14, 2000
    Messages:
    14,519
    Likes Received:
    1
    Location:
    Vancouver, BC, CANADA
    I never said it was a single database. Using linked tables I have one database that manages 5 GBs of records (one table). I had to split them up into monthly databases just to manage them properly. Then used union queries if I needed to extract data from more than one at a time. On top of the 5GB's, there's another 3 GB's of regular data. And then about 2 GBs of data that it doesn't use on a daily basis but has access to it. This was built when I was using 97 so the limite was 1 GB back then.
     

Share This Page