campuri calculate inteligent

Ce este nou in Microsoft Access 2013?
Informatii despre cum se utilizeaza Microsoft Access 2013.
Baze de date, Interogari, Formulare, Rapoarte, etc
Închis
gpaunica
Mesaje: 10
Membru din: Dum Iun 28, 2015 10:24 pm

campuri calculate inteligent

Mesaj de gpaunica » Joi Iul 02, 2015 7:05 pm

Salutare,
As vrea si eu sa va intreb daca in Access 2013 este posibil sa creem campuri calculate ca in programul de contabilitate Saga, adica:

Sa zicem ca avem coloanele: Pret Unitar Cantitate Valoare fara tva Total TVA
Daca introducem pretul unitar si valoarea se calculeaza automat toate campurile, dar daca se intampla sa difere totalul cu 0,01 sau oricum cu niste banuti putem sa trecem la total cat avem nevoie modificandu-se automat pretul unitar si implicit valoarea fara tva si tva.

Multumesc frumos.

Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

Re: campuri calculate inteligent

Mesaj de mesersmith » Joi Iul 02, 2015 11:06 pm

Bineinteles ca se pot face. Nu stiu in ce e facut Saga, dar aproape tot ce face Saga stocuri, am reusit eu sa-mi fac in firma cu Access.

Pentru problema ta, raspunsul este vba.
Iata niste mostre din una dintre bazele mele. Ti-as fi ridicat o bucatica din aceasta baza, insa dureaza prea mult pana rup bucata care trateaza problema asta si la mine e jale cu timpul.

Cod: Selectaţi tot

Private Sub pret_unitar_BeforeUpdate(Cancel As Integer)
[pret intrare cu TVA].Value = [pret unitar].Value * ([cota_tva] / 100 + 1)

End Sub



Private Sub pret_vanzare_cu_TVA_AfterUpdate()
[pret vanzare unitar].Value = [pret vanzare cu TVA].Value / ([cota_tva] / 100 + 1)
[procent adaos].Value = ([pret vanzare unitar].Value - [pret unitar].Value) / Abs([pret unitar].Value) * 100





End Sub

Private Sub procent_adaos_AfterUpdate()
[pret vanzare cu TVA].Value = ((([procent adaos].Value / 100) * [pret unitar].Value) + [pret unitar].Value) * ([cota_tva].Value / 100 + 1)
[pret vanzare unitar].Value = [pret vanzare cu TVA].Value / ([cota_tva] / 100 + 1)


End Sub

Private Sub Text29_AfterUpdate()
[pret unitar].Value = [pret intrare cu TVA].Value / ([cota_tva] / 100 + 1)


End Sub
Oricum, ideea este urmatoarea: eu am socotit bazele mele ca dupa completarea unui camp, la apasarea tastei tab sau enter, sa se treaca la urmatorul camp. Asta inseamna ca se poate folosi evenimetul AfterUpdate al fiecarui camp pe care tocmai l-ai parasit. Evident ca se poate insera codul unde vrei tu, atata vreme cat iti returneaza ce doresti.

Daca intre timp nu te ajuta un alt coleg cu un exemplu punctual, indata ce o sa gasesc un pic de timp, o sa incerc eu sa fac un mic exemplu.

gpaunica
Mesaje: 10
Membru din: Dum Iun 28, 2015 10:24 pm

Re: campuri calculate inteligent

Mesaj de gpaunica » Vin Iul 03, 2015 10:44 am

Multumesc frumos pentru raspuns.
Eu, campurile calculate le-am definit in tabel si apoi am construit un formular.
Si acum nu ma mai lasa sa modfic datele chiar daca scriu acele proceduri.
Trebuie campurile calculate sa le fac in interogare? sau chiar in formular?
Multumesc frumos.

Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

Re: campuri calculate inteligent

Mesaj de mesersmith » Sâm Iul 04, 2015 7:53 am

Da, definești acele câmpuri în tabel, dar nu scrii tu nimic în ele, vba-ul va face asta, dacă legi câmpul din formular la câmpul din tabel.
Urcă exemplul pe care l-ai construit tu și încerc să fac eu un câmp, două să-ți facă ce vrei tu.

Send from non-Apple device and I'm proud of it: Note 4 SM-N910U

gpaunica
Mesaje: 10
Membru din: Dum Iun 28, 2015 10:24 pm

Re: campuri calculate inteligent

Mesaj de gpaunica » Sâm Iul 04, 2015 10:52 am

Multumesc mult.
Atasat va transmit bazuta mea de date.
Inca o data multumesc mult.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

gpaunica
Mesaje: 10
Membru din: Dum Iun 28, 2015 10:24 pm

Re: campuri calculate inteligent

Mesaj de gpaunica » Sâm Iul 04, 2015 11:21 am

Ma scuzati nu am precizat despre ce tabel, respectiv formular este vorba.
Tabelul este DATE FACTURI, formularul cu acelasi nume.
Multumesc frumos.

Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

Re: campuri calculate inteligent

Mesaj de mesersmith » Dum Iul 05, 2015 10:14 am

Am vazut baza ta si desi nu era scopul meu altul decat cel de a-ti arata cum este cu campurile calculate, nu am putut sa nu observ cateva chestii care nu prea au cum sa te ajute.
Nu m-am uitat cu atentie la organizarea datelor, insa nu prea inteleg cum o sa lucrezi tu intr-o astfel de baza.

Iti urc exemplul tau, putin modificat.
S-au facut modificari in tabel la formatarea campurilor, am facut anumite campuri tip number si nu calculated, dar poti sa le faci curency, ca sa-ti scrie si moneda. Daca setezi regionals pe Romania, vei avea indicatia lei.

Mai este mult de lucru si nu cred ca te ajuta foarte mult tipul asta de formatare al formularelor.

Cat priveste calcularea inteligenta, am facut cate ceva la campurile de care spuneai ca ai nevoie.
Dar doar ca sa vezi cam cum se face. Uita-te in editor si studiaza fiecare camp care se update-aza singur.
Ai toate codurile acolo.



Undeva prin topicurile istorice, o sa gasesti un programel de stocuri. Poate te inspiri de acolo cu privire la asezare, facturi, continut facturi, etc.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

gpaunica
Mesaje: 10
Membru din: Dum Iun 28, 2015 10:24 pm

Re: campuri calculate inteligent

Mesaj de gpaunica » Dum Iul 05, 2015 11:41 am

Multumesc frumos.
Raman dator de cinste.

Închis

Înapoi la “Intrebari despre Access 2013”