[ markopadjen @ 23.05.2008. 11:08 ] @
Koristim MS ACCESS 2000 - 2003 bazu i MS VB 2005.

U skorije vreme mi se pojavio izuzetno čudan problem.
Pošto razvijam serversku aplikaciju, za upis u bazu koristim DAO 3,6 a za čitanje ADO.NET (zbog brzine) i Microsoft.Jet.OLEDB.4.0. To je sve radilo super, međutim ADO je počeo da mi pokazuje nepotpune tabele. Kada stavim da mi učita tabelu od početka počne od indeksa npr. 82 i završi do kraja kako treba. Kao da ne vidi prethodne unose. Ako obrišem prvi unos, onda i on učitavanje pomeri na gore, to jest opet počne od 82. unosa!
Ako privremeno iskoristim na istoj tabeli u istim uslovima DAO, tih problema nema.
Takođe, ako otvorim bazu u ACCESSu 2007 tabela se prikazuje normalno, iako on koristi isti ADO.NET.

Ovo u suštini i nije neki praktičan problem, mogu za taj pojedini slučaj da stavim DAO za čitanje, tabela ne pralazi 2000 unosa, ali mi je dosta bitno da se problem ne pojavi u nekim drugim tabelama.
Probao sam i da obrišem tabele pa da ih napravim ponovo, uz nalapljivanje (Paste :-))))) prethodnih podataka i to nije upalilo.
Verovatno je tabela nekako oštećena, ali kako to da rešim?

Unapred hvala
[ Zidar @ 23.05.2008. 13:52 ] @
Ne razumem tacno u kom programu radis 'serversku aplikaciju'. Ako je u pitanju Access ili VB, onda nije iznenadjenje da ADO i DAO ne funkcionisu bas najbolje kad rade istovremeno. Problem moze da dodje od banalnih stvari, ka sto je definisanje rekordseta. Ako kazes:

dim rs as recordset

to ne valja, treba staviti

Dim rs as DAO.recordset
ili
DIm rs AS ADO.recordset

I tako za db i sve ostalo sto sledi. Tu se cesto gresi, ne navede se sta je sta, pa onda Access/VB ne zna sta u stvari treba da radi, ali uporno pokusava. Iz tog razloga se ljudi opredele i sve rade ili u ADO ili u DAO. "Opredele" znaci da se u Tools/References mora ukloniti onaj koji neces upotrebiti (ADO ili DAO)

A mozda je nesto skroz deseto. Ako koristis VB 2005 - sta je to? VB6 ili VB5 ili VB.net? Za rad sa Accesovim bazama koje ne idu na web, najbolji alat je jos uvek - Access.