Asa cum v-am obisnuit, revin cu una din obisnuitele mele provocari. Cum nevoia m-a impins, am zis sa fac un macro care sa imi modifice automat statusul clientilor. Doar ca nu pot singur si am nevoie de sfatul vostru.
Speta suna cam asa :
Avem tabelele - care contin, printre altele, urmatoarele campuri:
- tblClienti - id_client, status_client
- tblComenzi - id_comanda, data_comanda, id_client
- tblCereri - id_cerere, data_adaugare_cerere, id_client
- tblIstoric_client - id_nota, data_adaugare_nota, id_client
- tblStatus - id_status, status
Ce vreau sa faca este :
Cod: Selectaţi tot
Selectare fiecare client in parte si :
a. Daca status_client = 5 atunci nu face nimic
b. Altfel se verifica in tblCcomenzi fiecare record.
i. Daca exista o comanda cu id_client egal cu al celui selectat si cu data_comanda mai mica de 180 zile atunci tblClienti!status_client = 1 ;
ii. Daca nu exista atunci se verifica in tblCereri fiecare record.
1. Daca exista o Cerere cu id_client egal cu al celui selectat si data adaugare_cerere mai mica de 120 zile atunci tblClienti!status_client = 2 ;
2. Daca nu exista atunci se verifica in tblIstoric_client.
a. Daca exista o nota id_client egal cu cel selectat si cu data_adaugare_nota mai mica de 90 zile atunci tblClienti!status_client = 3 ;
b. Daca nu exista o nota cu data adaugare mai mica de 90 atunci tblClienti!status_client = 4 ;
2. Daca da, sa zicem ca If-urile, else-urile, stiu sa le fac. Nu stiu insa care este comanda prin care macro-ul cauta in fiecare record din tabele, pana la ultimul ?
3. Oare la 2000 de clienti si 1000 de comenzi, cereri si note, o sa dureze foarte mult rularea lui ? Daca da atunci o sa il pun sa il faca o data pe zi, la prima deschidere.
Sper sa aveti timp sa va ganditi putin la aceasta mica provocare ( nu stiu pentru voi dar pentru mine cu siguranta este ) .
Va multumesc mult.
PS: Nu cersesc coduri gratis, provocarea este sa le fac singur. Am nevoie doar de mici "hint"-uri.
