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

Jedno početničko pitanje

[es] :: Access :: Jedno početničko pitanje

Strane: 1 2

[ Pregleda: 6140 | Odgovora: 23 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

slavko13

Član broj: 49045
Poruke: 41
*.251.EUnet.yu.



Profil

icon Jedno početničko pitanje11.03.2005. u 18:32 - pre 232 meseci
Imam formu preko koje unosim kupljenu robu u tabelu "OrdersDetails".Imam jedan proizvod uz koji ide obavezno jedan drugi proizvod.Radi lakšeg unošenja robe da li moze da ako unesem taj proizvod(ProductID) odmah da mi u iducem unosu ponudi ovaj drugi proizvod i istu količinu.
Imam polja ProductID(Combo Box), Količina u formi.
ProductID uzimam iz tabele Products.

 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Jedno početničko pitanje11.03.2005. u 19:00 - pre 232 meseci
Pitanje je na mestu, ali resenje nije ni malo pocetnicko. Ti znaci imas proizvod A koji podrazumeva proivod B (kad se unese A da se odmah doda i B u nekoj kolicini, recimo istoj). Koristis formu (moze i subform) za unos u tabelu OrdersDetails, recimo frmOrdersDetails.

Na formi frmOrdersDetails, na Form_AfterUpdate event, stavis kod koji provereva sta je upravo uneto. Form_AfterUpdate event se odigrava uvek, odmah posle operacije "save record", a pre nego sto se pomeris na novi rekord (Form_OnCurrent).

Posto si jos uvek na tekucem rekordu, proveris u kodu za Form_AfterUpdate neku proveru, kao ovaj pseudo-kod (nije pravi kod, vise kao skica):
Code:

sub Form_AfterUpdate()
dim db as dao.database
dim rs as dao.recordset
IF me!ItemID=Id_za_ProizvodA then
'otvori novi rekordset 
    set db=currentdb
    set rs=db.operecordset ("SELECT * FROM OrdersDetails WHERE 1=2")
'ovo WHERE 1=2 je ozbiljno, ne zezam se, tako ti vraca 0 rekorda = brze je
'nemoj slucajno da si stavio bez WHERE, vratice ti celu tabelu = vrlo sporo
'dodaj novi rekord
    rs.addnew
        rs!ItemID=Id_za_ProizvodA 
        rs!Kolicina = me!kolicina
     rs.update
     rs.close
     set db=nothing
End IF
'mozda ti treba i ovo, nisam siguran:
me.recalc
'ili
me.requery
'da bi se novi rekord video na formi
'Onda ti treba nesto kao
' pomeri se na poslednji dodati rekord
'9ovo se ne secam napamet kako ide
end sub

Za vise detalja, knjigu u ruke ;-)
 
Odgovor na temu

slavko13

Član broj: 49045
Poruke: 41
*.198.EUnet.yu.



Profil

icon Re: Jedno početničko pitanje11.03.2005. u 19:37 - pre 232 meseci
Zidar puno sam Vam zahvalan ali to za knjigu u sake kao prvo ne znam koju a kao drugo ja sam strogi pocetnik pa bi to ucenje bojim se potrajalo.
Meni bi ovo mnogo pomoglo pa ako mozes malo detaljnije.
Proizvod A ima ProductID 12
Proizvod B ima ProductID 36
Probao sam ovo sto si mi pomogao ali nece da doda proizvod B kada se premestim u naredno polje i treba da se karat odmah postavi na vec upisanu kolicinu proizvoda B , i ja je samo potvrdim ili izmenim.
MNOGO BIH VAM BIO ZAHVALAN.
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Jedno početničko pitanje11.03.2005. u 21:36 - pre 232 meseci
Nazalost, ne mogu da ti pomognem detaljnije. Knjiga ima, i na srpskom i na engkleskom, potrazi malo i naci ces. A sto ce trajati duze, pa ni Rim nije sagradjen za jedan dan. Ja radim ovaj posao poslednjih 25 godina i stalno nesto ucim i stalno nesto ne znam, ali se mora, sta ces. Ako je problem koji resavas deo nekog skolskog projekta, onda ne vidim razlog da ne naucis kako treba. Ako je opet za neki posao, onda nije u redu da ja to resavam ovde za dzabe a ti za to dobijas platu.

Tacno je da ovde dolaze mnogi ljudi koji rade privatno i profesionalno, zaradjuju za zivot pisuci kod u Accessu. I svima pomognemo koliko mozemo, ali nikom ne resavamo osnovne zadatke, svi dobiju ideju i sami je posle razrade ili dorade.

Ne ljuti se, ali moraces da naucis sta su event procedure i kako se pise kod. to su osnovne stvari i tu nema popusta.
 
Odgovor na temu

slavko13

Član broj: 49045
Poruke: 41
*.192.EUnet.yu.



Profil

icon Re: Jedno početničko pitanje11.03.2005. u 22:53 - pre 232 meseci
Mozes li mi reci zasto mi prijavljuje gresku u ovome:
Set rs = db.OpeRecordset("SELECT * FROM [Order Details] WHERE 1=2")
 
Odgovor na temu

JogyII

Član broj: 29257
Poruke: 623
*.adsl.sezampro.yu.



Profil

icon Re: Jedno početničko pitanje12.03.2005. u 02:19 - pre 232 meseci
nebi trebao da ti javlja gresku ako tabela postoji, ovde pise "[Order Details]" a gore je pisalo "OrdersDetails" da nisi pogresio spelling ?


So Long, and Thanks for All the Fish


 
Odgovor na temu

JogyII

Član broj: 29257
Poruke: 623
*.adsl.sezampro.yu.



Profil

icon Re: Jedno početničko pitanje12.03.2005. u 02:20 - pre 232 meseci
usput nije OpeRecordset nego OpenRecordset

So Long, and Thanks for All the Fish


 
Odgovor na temu

slavko13

Član broj: 49045
Poruke: 41
*.230.EUnet.yu.



Profil

icon Re: Jedno početničko pitanje12.03.2005. u 08:56 - pre 232 meseci
Hvala za ovo "n" ali sad nece da doda nego prijavi kao gresku
"rs.update" kad izaberem proizvod A i uvek me vraca na prvi zapis kad izaberem neki drugi proizvod a ne na novi unos.
 
Odgovor na temu

slavko13

Član broj: 49045
Poruke: 41
*.173.EUnet.yu.



Profil

icon Re: Jedno početničko pitanje12.03.2005. u 19:10 - pre 232 meseci
ZIDAR MOLIM VAS AKO MI MOZET RECI GDE MALO DETALJNIJE MOGU NACI O DAO OBJEKTIMA, IMAM ACCESS 2000 KNJIGU I U NJOJ SVEGA POLA STRANE O DAO3.6.
OVO STO SI MI POKAZAO NEMOZE DA FUNKCIONISE.
Zidar molim Vas ako mi mozete reci gde neke primere mogu naci za DAO objekte, imam knjigu Access 200 i u njoj svega pola strane o DAO 3.6.
Ovo sto si mi rekao ne moze da radi, probao sam na sve nacine, ispravio sam i greske u nazivu tabele i ono n ali opet nece.
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Jedno početničko pitanje14.03.2005. u 13:52 - pre 232 meseci
Ovo sam nasao pretrazujuci ovaj forum:
http://www.elitesecurity.org/tema/42335/0#279467

O knjigama na srpskom ne znam nista, odavno nisam tamo i nemam uvida u stanje literature. Sigura sam da neko sa forume moze da pomogne vise. Knjiga na engleskom mogu da ti preporucim mnogo, s nadom da su ti dostupne. evo ti nekoliko autora, pa sta nadjes:
Allen Browne, Alisson Balter, Ken Getz/Greg reddick, Rogger Jennings.

Zao mi je ali mi vreme ne dozvoljava da ti pomognem vise.

Srecan rad

:-)
 
Odgovor na temu

JogyII

Član broj: 29257
Poruke: 623
*.adsl.sezampro.yu.



Profil

icon Re: Jedno početničko pitanje15.03.2005. u 03:58 - pre 232 meseci
Citat:
slavko13: Hvala za ovo "n" ali sad nece da doda nego prijavi kao gresku
"rs.update" kad izaberem proizvod A i uvek me vraca na prvi zapis kad izaberem neki drugi proizvod a ne na novi unos.


da si napisao kakvu ti gresku prijavljuje (tacnu poruku), dali je pri kompajliranju ili izvrsavanju i na kom tacno redu neko bi mozda mogao i da ti pomogne, ovako mozemo samo da nagadjamo LOL





So Long, and Thanks for All the Fish


 
Odgovor na temu

slavko13

Član broj: 49045
Poruke: 41
*.243.eunet.yu.



Profil

icon Re: Jedno početničko pitanje15.03.2005. u 07:38 - pre 232 meseci
Private Sub Form_AfterUpdate()
Dim db As dao.Database
Dim rs As dao.Recordset
If Me!ProductID = 10 Then
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM [Order Details] WHERE 1=2")
rs.AddNew
rs!ProductID = 11
rs!Quantity = Me!Quantity
rs.Update
rs.Close
Set db = Nothing
End If
End Sub

Znaci kad unesem proizvod sa ID=10 treba odmah kursor da predje u iduci red na polje Quantity gdje ce vec biti ponudjena kolicina i u prethodnom polju unet proizvod sa ID=11.
Ja kad unesem neki drugi proizvod sve radi normalno ali kad unesem ProductID=10
prijavi mi na Debug žuto rs.Update i ne doda u iduci red ProductID=11.
 
Odgovor na temu

slavko13

Član broj: 49045
Poruke: 41
*.252.EUnet.yu.



Profil

icon Re: Jedno početničko pitanje18.03.2005. u 08:01 - pre 232 meseci
Nemogu da verujem da niko nezna u cemu je problem ili niko ne otvara ove starije teme.
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Jedno početničko pitanje18.03.2005. u 13:25 - pre 232 meseci
Citat:
prijavi mi na Debug žuto rs.Update

Ovo bas i ne govori mnogo o gresci koju dobijes. Koji broj greske, koji tekst dobijes?

 
Odgovor na temu

slavko13

Član broj: 49045
Poruke: 41
*.89.EUnet.yu.



Profil

icon Re: Jedno početničko pitanje18.03.2005. u 16:43 - pre 232 meseci
Kade izaberem proizvod koji se prodaje u kompletu sa ovim drugim, a kog bi trebalo automacki uneti u drugi red,prijavi mi gresku:
Run-time error `3058`
Index or primary key cannot contain a Null value.
End Debug Help

Kada izaberem Debug žuto označi Update.
Prikačeni fajlovi
 
Odgovor na temu

TomaParComp
Goran Tomic
Paraćin

Član broj: 17923
Poruke: 118
194.106.174.*

Sajt: www.parcomp.co.yu


Profil

icon Re: Jedno početničko pitanje18.03.2005. u 20:20 - pre 232 meseci
Pa što ne kažeš odmah!
Verovatno u tabeli order details imaš polje kojim tu tabelu linkuješ sa tabelom u kojoj čuvaš datum, šifru dobavljača i te stvari. E sad, kad se ona puni iz subforme, taj ID se sam updatuje, a kad ti updatuješ tabelu moraš ručno da updatuješ i taj ID.
Ja bih ti preporučio drugo rešenje.

Jednostavo odradi nešto tipa:

me![ime_subforme].addnew
me![ime_subforme]![ime_prvog_polja] = to_i_to
me![ime_subforme]![ime_drugog_polja] = to_i_to
.....
.....

Pišem napamet pa možda izgrešam sintaksu, ali sam ovakve situacije uglavnom rešavao tako da direktno POLJIMA FORME dodeljujem vrednosti i jednostavno pustim accessu da te podatke snimi u POLJA TABELE gde god da su one (recimo SQL).

Radi sporije ali za dodavanje jednog sloga zadovoljiće!

A i lepo izgleda, kao da neko popunjava podatke umesto tebe :)

Ako ne uspeš pošalji mi mdb.
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Jedno početničko pitanje18.03.2005. u 21:41 - pre 232 meseci
Toma je 100% u pravu. Fali ti OrderID, koji se automatski popunjava kad imas formu i subformu. Ono sto Toma predlaze je jednstavnije nego da sam pomocu rekordseta pronalazis OrderID s kojim trenutno radis pa da ga ubacis u tvoj rs.Addnew.. rs.Update kod.

 
Odgovor na temu

TomaParComp
Goran Tomic
Paraćin

Član broj: 17923
Poruke: 118
194.106.174.*

Sajt: www.parcomp.co.yu


Profil

icon Re: Jedno početničko pitanje18.03.2005. u 22:34 - pre 232 meseci
Yeah...

Mlogo zgodna stvar, ja je non stop koristim. Meni je u stvari najviše trebalo da povučem neke vezane vrednosti, tipa jedinica mere, tarifni broj, prodajna cena pa sam zbog toga "razradio" ovaj način upisivanja podataka.

Bio mi je problem da na osnovu šifre robe tražim ove podatke, nego sam ih lepo stavio u combo box kao kolone i kad upišem šifru robe, combo box se lepo ažurira i ja lepo pokupim vrednosti sa column(1), column(2)...
 
Odgovor na temu

slavko13

Član broj: 49045
Poruke: 41
*.196.eunet.yu.



Profil

icon Re: Jedno početničko pitanje20.03.2005. u 10:13 - pre 232 meseci
Uploadovao sam bazu uz prethodnu poruku pa neka neko proba da to izvede, ja nisam mogao.
 
Odgovor na temu

slavko13

Član broj: 49045
Poruke: 41
*.45.eunet.yu.



Profil

icon Re: Jedno početničko pitanje20.03.2005. u 11:56 - pre 232 meseci
Resio sam problem ovako:
Private Sub Form_AfterUpdate()
Dim db As dao.Database
Dim rs As dao.Recordset
If Me!ProductID = 10 Then
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM [Order Details] WHERE 1=2")
rs.AddNew
rs!OrderID = Parent.OrderID
rs!ProductID = 11
rs!Quantity = Me!Quantity
rs.Update
rs.Close
Set db = Nothing
End If
Me.Recalc
End Sub

Samo jos mi fali naredba da se kursor nadje na poslednjoj dodatoj kolicini.
Mnogo hvala svima.
 
Odgovor na temu

[es] :: Access :: Jedno početničko pitanje

Strane: 1 2

[ Pregleda: 6140 | Odgovora: 23 ] > FB > Twit

Postavi temu Odgovori

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