[ bane @ 03.05.2003. 21:30 ] @
Napravio sam bazu podataka sa dve tabele(1->oo) u Access-u. Treba da je preuzmem u VB programu koji će moći da prepravlja i dodaje nove zapise.
Krenuoa sam da radim preko ADO modela. Dakle , otvorio sam
Data Evironment,
uzeo OLE DB Provider for ODBC Drivers,
Use connect string, Build i podesio sve što treba,
Uz pomoć Test utvrdio sam da je veza uredu,
Add command i podesio sve
Add Child Command itd.
Zatim sam ova polja prevukao u moj Form, dodao dugmad Next, Previous.

Problem je u tome što sada samo moug da pregledam sadržaj. U drugoj tabeli (1->oo) koja koristi FlexGrid nemogu ništa da upišem, dok što se tiče polja prve tabele koja koriste TexBox-ove mogu da mjenjam sadržaj.
Nisam siguran kako da dodajem nove zapise.
Poželjna je bilo kakva pomoć ukoliko neko zna u čemu je poblem ili ako ima neke sugestije oko nekog drugog načina rešavanja problema(nemora ADO model).
[ DraganK @ 03.05.2003. 21:50 ] @
Pazi, nikako se ne savetuje rad sa podacima preko dataenvironmenta i ostalih wizard type dizajn kontrola. Em što to radi traljavo, em što nemaš nikakvu kontrolu nad podacima, em što ti povećava setup arhivu. Tu je ujedno i glavna mana reporta, što ne može da radi bez d.env-a.

Treba da radiš sa recordsetovima i connection objektima, a ako su u pitanju dve povezane tabele, onda transakcija:

dim cn as new adodb.connection
cn.connectionstring=dataenvironment1.connection1.connectionstring
cn.open
cn.begintrans

cn.execute ("INSERT INTO tabela 1...")
cn.execute ("INSERT INTO tabela 2...")

cn.committrans
cn.close
set cn=nothing
[ bane @ 04.05.2003. 19:51 ] @
Javlj mi sintaksnu grešku na:
cn.execute ("INSERT INTO tabela 1...")
cn.execute ("INSERT INTO tabela 2...")

Takođe nisam siguran šta tačno radi:
cn.committrans

Mnogo bi mi pomoga tačna sintaksa ovog primera sa dve povezane tabele pošto imam dve knjige za VB:
Vodič kroz Visual Basic 6.0
Visual Basic 6 programiranje baza podataka za 21 dan

Ova druga knjga jednostavno ne pominje ovakav slučaj tj. u odeljku ADODB daje primere sa jednom tabelom.
Prva knjiga se malo dotiče baza podataka što je i razumljivo.

U svakom slučaju bilo kakva pomoć je dobrodošla.
[ DraganK @ 05.05.2003. 00:42 ] @
Pazi, nisam mislio bukvalno "INSERT INTO tabela 1...", valjda je logično da je to samo putokaz... Ako ne znaš SQL jezik, onda ti je bolje da radiš preko dataenvironmenta, adodc kontrola i ostalih wizarda.

Committrans označava kraj transakcije, to znači da si u međuvremenu mogao da uradiš više update-ova, inserta ili delete-a iz koliko hoćeš tabela, ali tek se onda to izvršava. To je nekad neophodno kod povezanih tabela, nestane struja i šta ti ja znam.
[ MILANM72 @ 30.05.2003. 22:12 ] @
Naravno da ne mozes da upisujes podatke. U data environment imas
svojstvo read only [samo za pregled] koje moras da promenis da bi mogao da
upisujes podatke.

Data environment se uglavnom koristi za izvestaje jer moze lako da generise
SQL sintaksu sa sumiranim poljima i upitima sa vise tabela. Ako zelis obrazac za upis
podataka bolje idi preko recordseta ili koristi ado kontrolu. Ne zaboravi da
referenciras potrebnu ado biblioteku da bi sve radilo...