Ajutor creare cod

Ce este nou in Microsoft Access 2010?
Informatii despre cum se utilizeaza Microsoft Access 2010.
Baze de date, Interogari, Formulare, Rapoarte, etc
Închis
SharQue99
Mesaje: 72
Membru din: Vin Noi 02, 2012 3:06 pm

Ajutor creare cod

Mesaj de SharQue99 » Mar Ian 31, 2017 4:59 pm

Salutare din nou.
Am si eu, din nou, nevoie de ajutorul unui mai bun cunoscator in ale Access-ului si anume :

- am un form numit "cursefrm" care contine, printre altele, campurile "nr_cursa" si "pret" ;
- am un subform ( datasheet) numit "clientifrm" care contine, printre altele, campurile "nr_cursa_clienti", "nr_contract", "pret_contract", "pret_transport_per_contract". Campurile "nr_cursa" si "nr_cursa_clienti" sunt Link Master Field si Link Child Field. Pot fi mai multe inregistrari cu acelasi "nr_cursa_clienti" insa va diferi "nr_contract".

Eu doresc ca in momentul in care introduc un nou pret in campul "cursefrm"!"pret" sa caute in "clientifrm" toate inregistrarile unde "cursefrm"!"nr_cursa" = "clientifrm"!"nr_cursa_client" , sa adune sumele din "pret_contract" iar in campul "pret_transport_per_contract" al fiecarei inregistrari sa fie trecuta valoarea ecuatiei : "cursefrm"!"pret" * "clientifrm"!"pret_contract" din respectiva inregistrare / "suma campurilor "pret_contract" ".

Nu stiu daca m-am facut inteles si va rog sa ma intrebati daca ceva nu este clar.

Ma tot chinui sa

Va multumesc mult

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Ajutor creare cod

Mesaj de Dr.Windows » Mie Feb 08, 2017 7:51 pm

Salut!

Cred ca mai simplu ar fi daca ai putea pune o baza de date redusa la strictul necesar si eventual cateva date de test pentru a si putea verifica functionalitatea.

Asa la o prima vedere se pot face adunari rapide folosind functia DSUM, dar poate este nevoie de VBA daca nu se poate rezolva dintr-un simplu query... dar un raspuns mai concret poate veni numai dupa un exemplu mai concret... ;)

SharQue99
Mesaje: 72
Membru din: Vin Noi 02, 2012 3:06 pm

Re: Ajutor creare cod

Mesaj de SharQue99 » Mie Feb 15, 2017 6:55 am

Scuze.
Da, acum ca am citit ce am scris, mi-am dat seama ca fara sa fi pus si o baza de date ar fi destul de greu ca cineva sa ma ajute cu un cod.
Oricum, cred ca am rezolvat cat de cat problema insa acum am alta si anume :
Am baza de date din atasament si nu reusesc sa ii dau de cap chiar daca m-am chinuit si cu lookup si cu query, etc..
Vreau ca in momentul in care selectez categoria in campul "produs" sa imi arate doar aceel produse care fac parte din acceasi categorie.
Dupa ce selectez produsul vreau ca in "culoare" sa imi apara doar culorile disponibile prentru acel produs.
Dupa ce selectez culoarea vreau sa apara " pretul " pentru aces produs.
Ar parea mai simpul sa am direct lista cu produse dar la un moment dat vor fi 1000 si va fi cam greu de cautat prin ele.

Ma puteti ajuta, va rog ?

Va multumesc frumos.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Ajutor creare cod

Mesaj de Dr.Windows » Joi Feb 16, 2017 12:01 pm

Pentru ultima problema - liste relationate in acel user form:

Pentru selectia categoriei ai pus corect la row source type Table/Query (si urmatoarele campuri vor fi de acelasi tip, mai putin pret) iar la "Row Source"

Cod: Selectaţi tot

SELECT [tblcategorie-produse].Field1 FROM [tblcategorie-produse];
Acum si pentru campul Produs ar trebui sa se intample ceva similar, doar ca trebuie pusa conditia de selectie a produselor dintr-o anumita categorie si atunci in "row source" query-ul este urmatorul:

Cod: Selectaţi tot

SELECT DISTINCT tblproduse.produs
FROM tblproduse
WHERE (((tblproduse.categorie)=[Forms]![frmdtscomenzi_lookup]![categorie]));
Problema este ca daca se schimba categoria, atunci trebuie "reimprospatata" lista de produse conform categoriei alese... asa ca mai trebuie sa faci o setare in campul "Categorie" si anume in evenimentul After Update trebuie adaugat un cod/macro ce ar trebui sa faca un Requery pentru campul Produs si eventual se pot seta valorile pentru campurile ce urmeaza a fi completate cu blank-uri pentru ca daca raman datele initiale utilizatorul ar fi tentat sa le lase asa.

Pentru Culoare se procedeaza similar, adica row source va fi:

Cod: Selectaţi tot

SELECT DISTINCT tblproduse.culoare FROM tblproduse WHERE (((tblproduse.produs)=[Forms]![frmdtscomenzi_lookup]![produs])); 
Dar nu uita si de reimprospatarea datelor ce ar trebui sa se faca in Produs.AfterUpdate

Iar in final, in evenimentul AfterUpdate pentru Culoare trebuie sa setezi valoarea pentru Pret si se poate folosi urmatoarea formula:

Cod: Selectaţi tot

=DLookUp("[pret]","tblproduse","[categorie]= '" & [Forms]![frmdtscomenzi_lookup]![categorie] & "' and [produs]='" & [Forms]![frmdtscomenzi_lookup]![produs] & "' and [culoare]='" & [Forms]![frmdtscomenzi_lookup]![culoare] & "'")
Pentru detalii vezi si fisierul atasat.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

SharQue99
Mesaje: 72
Membru din: Vin Noi 02, 2012 3:06 pm

Re: Ajutor creare cod

Mesaj de SharQue99 » Lun Mar 27, 2017 9:27 pm

Iti multumes frumos pentru ajutor. Chiar m-ai ajutat foarte mult.

Referitor la prima intrebare, atasez aici un baza de date de test.

Eu doresc ca de fiecare data cand introduc un client nou sau modific pretul_contract sa sa imi calculeze cu regula de " 3 simpla" si anume: pret_client=pret_contract*pret_cursa/suma(pret_contract) . Am uneori si 10 transporturi in aceeasi cursa si doresc sa vad costul repartizat pe fiecare. Stiu ca se poate si cu calculatorul dar......... .

De asemenea as vrea sa calculeze si daca schimb suma transport un formul principal.( asta nu stiu daca se poate).

Ma puteti ajuta, va rog ?
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

SharQue99
Mesaje: 72
Membru din: Vin Noi 02, 2012 3:06 pm

Re: Ajutor creare cod

Mesaj de SharQue99 » Joi Iun 08, 2017 6:17 am

Am incercat sa implementez ceea ce mi-ati aratat mai sus insa ma lovesc de 2 probleme:
1. Uneori cand adaug o alta inregistrare sau chiar cand modific codul unei inregistrari dispare culoarea tuturor inregistrarilor.
2. Cand adaug si culoarea si ar fi trebuit sa imi apara pretul imi apare eroarea 2950. Daca scot din functia Lookup si culoarea functioneaza.

Va rog frumos sa ma ajutati ca sigur e ceva minor care imi scapa.

Va multumesc frumos.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Ajutor creare cod

Mesaj de Dr.Windows » Mie Iun 21, 2017 10:54 pm

ATENTIE! SetValue Macro Action functioneaza doar in "data sheet forms" (asa cum este si exemplul meu de mai sus) nu si in "continuous forms" asa cum ai tu.

Extras din ajutorul Microsoft pentru SetValue Macro Action:
Remarks

You can use this action to set a value for a field or control on a form, a form datasheet, or a report.
Din acest motiv apar si ciudateniile cu disparitia culorilor si restul problemelor... ;)

SharQue99
Mesaje: 72
Membru din: Vin Noi 02, 2012 3:06 pm

Re: Ajutor creare cod

Mesaj de SharQue99 » Vin Iul 21, 2017 10:44 am

Multumesc pentru sfat.
Am modificat formularul in mod datasheet si functioneaza cat de cat bine.
Problema care intervine acum este ca l-am pus ca si subformular si cand incerc sa il utilizez imi da eroare cum ca nu este deschis formularul la care fac referire formulele. Daca este subformular nu mai functioneaza ?
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

SharQue99
Mesaje: 72
Membru din: Vin Noi 02, 2012 3:06 pm

Re: Ajutor creare cod

Mesaj de SharQue99 » Dum Iul 23, 2017 1:48 pm

Am rezolvat.
Atunci cand este ca si subform trebuie scris [Form]![Subform]![camp] .

Scuze ca tot umplu forumul cu prostii

SharQue99
Mesaje: 72
Membru din: Vin Noi 02, 2012 3:06 pm

Re: Ajutor creare cod

Mesaj de SharQue99 » Dum Iul 23, 2017 2:04 pm

Am rezolvat.
Atunci cand este ca si subform trebuie scris [Form]![Subform]![camp] .

Scuze ca tot umplu forumul cu prostii

Închis

Înapoi la “Intrebari despre Access 2010”