Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

VB i Access

[es] :: Access :: VB i Access

[ Pregleda: 1492 | Odgovora: 4 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bane

Član broj: 449
Poruke: 184
*.telekomsrpske.com



Profil

icon VB i Access03.05.2003. u 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).

1000 zasto 1000 zato
03.05.2003. u 21:30 

DraganK
bgd

Član broj: 4976
Poruke: 94
*.beg.sezampro.yu



Profil

icon Re: VB i Access03.05.2003. u 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
03.05.2003. u 21:50 

bane

Član broj: 449
Poruke: 184
*.telekomsrpske.com



Profil

icon Re: VB i Access04.05.2003. u 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.
1000 zasto 1000 zato
04.05.2003. u 19:51 

DraganK
bgd

Član broj: 4976
Poruke: 94
*.sme.sezampro.yu



Profil

icon Re: VB i Access05.05.2003. u 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.
05.05.2003. u 00:42 

MILANM72
MILAN MIJATOVIC

Član broj: 10853
Poruke: 1
*.eunet.yu



Profil

icon Re: VB i Access30.05.2003. u 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...
30.05.2003. u 22:12 

[es] :: Access :: VB i Access

[ Pregleda: 1492 | Odgovora: 4 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.