I am having great success with using an access 97 database & VB6.

what other database options do I have? with access 97 it is a problem to have mutilple users even looking, printing data because this will corrupt some records if more that one person even looks at the same record at the same time.

I would like to use the same code, just change the connection string and have a blank database setup with the required fields.

any ideas?? (cheap ideas???) or another solution

Thanks


Ron

Dani AI

Generated

Short, practical checklist and fixes that build on the thread (notes for , with context from and ):

  1. Diagnose first, do not assume View-only = no writes
  • Confirm the .mdb is the shared "back end" (tables) and each client has a local front end (forms/reports).
  • Force clients to open the back end using a UNC path (\Server\Share\Database.mdb) — mapped drives can mask problems.
  • While two clients are connected, look for the .ldb file in the same folder; open it in a text editor to see which client names are listed. If the .ldb disappears or looks corrupted while users are connected, suspect network drops, antivirus or backup software locking the file.
  • Run Access Compact & Repair and make a verified backup before any test.
  1. VB6 runtime and record access
  • Use ADO with client-side cursors and read-only lock for pure viewing. That avoids server-side page locks that Jet sometimes applies. Also verify code never opens the database or a table in Exclusive mode.
  • Disable any code that automatically writes (temp stamps, logging) while you are reproducing the problem—those hidden writes can corrupt on flaky networks.
  1. Quick VB6 example (ADO, read-only)
    
    ' add reference to Microsoft ActiveX Data Objects
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Server\Share\Database.mdb;"
    cn.Mode = adModeRead
    cn.Open

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "SELECT * FROM MyTable", cn, adOpenForwardOnly, adLockReadOnly



4) Longer-term options (cheap / low-effort paths)
- If concurrency must be reliable, move table data to a client-server engine and keep the VB6 code DSN-less (connection string in a config file). That lets you swap back ends with minimal code change.  
- Before migrating, export tables, test a small user group, and ensure the chosen provider/ODBC driver is installed on each client.

If the corruption reproduces after the above checks, capture a repeatable test (two machines, no editing, logging enabled) and collect the .ldb and Windows event logs — those artifacts will point to network/driver causes rather than VB6 itself.

Recommended Answers

All 6 Replies

There is no problem with access 97 if mutilple users looking, printing data. That is no way going to create any problem for you. There can be any number of users looking at the same record at the same time.

so far as other databses are concerned ,you can connect to Oracle ,MySql or SQL Server databases also with VB 6.0 by making minor changes to the code.

I setup a test on two computers in my office and when I had two computers just looking at data i had 2 records become corrupted at different times. i was not doing any editing.

That never happens in database. That might be because of improper coding.

is Oracle expensive???

would the free version of Oracle work with VB6?

can i use the free version with multiple users?

does VB6 already have the required .dll & .ocx files to run Oracle, if not, where could I get them??


any information would be helpful.


in regard to Access, if I just want to view records do I open the DB in a different way?? could this be my problem?

you can download the latest version of oracle(ora10g) from http://www.oracle.com(IT'S FREE) but be aware this could be of 2.0 gb in size(the downloadable file itself). just download and begin the installation process, the rest thing will be managed by the oracle installer itself. it will install the data provider which you can use to communicate with any oracle database and its associated tables,views,procedures,triggers etc from your vb6 apps.

regards
Shouvik

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.