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

VB i Access

[es] :: Access :: VB i Access

[ Pregleda: 3357 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bane

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



Profil

icon VB i Access03.05.2003. u 21:30 - pre 255 meseci
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
 
Odgovor na temu

DraganK

Član broj: 4976
Poruke: 109



+3 Profil

icon Re: VB i Access03.05.2003. u 21:50 - pre 255 meseci
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
 
Odgovor na temu

bane

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



Profil

icon Re: VB i Access04.05.2003. u 19:51 - pre 255 meseci
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
 
Odgovor na temu

DraganK

Član broj: 4976
Poruke: 109



+3 Profil

icon Re: VB i Access05.05.2003. u 00:42 - pre 255 meseci
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.
 
Odgovor na temu

MILANM72
MILAN MIJATOVIC

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



Profil

icon Re: VB i Access30.05.2003. u 22:12 - pre 254 meseci
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...
 
Odgovor na temu

[es] :: Access :: VB i Access

[ Pregleda: 3357 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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