User-ul poate vedea doar propriile inregistrari ??

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

User-ul poate vedea doar propriile inregistrari ??

Mesaj de SharQue99 » Dum Aug 21, 2016 9:52 pm

Salutare din nou,
De adata aceasta am urmatoarea situatie:

Am tabelul useri cu: user_id(integer), own_records_view(yes/no)
Am form-ul comenzi: order_id(integer),order_createdby_id(integer)

In momentul in care se logheaza se creeaza 2 variabile temporare :

Cod: Selectaţi tot

Set rs = CurrentDb.OpenRecordset("tbl1Employees", dbOpenSnapshot, dbReadOnly)
TempVars("iduser") = rs!ID.Value 
TempVars("orv") = rs!own_records_view.Value
Acum, cum fac eu ca in Multiple Items Form sa filtrez inregistrarile astfel ca:
Daca TempVars("orv")=False(-1) sa nu filtreze nimic
Daca TempVars("orv")=True(0) sa filtreze astfel sa apara doar rezultatele unde: order_createdby_id=TempVars("iduser")

Am incercat sa il pun pe Macro OnLoad dar nu functioneaza, imi apare eroare: "Run-time Error '2753':
A problem occurred while Microsoft Access was communicating with the OLE server. Close the OLE server and restart it outside of Microsoft Access. Then try the original operation again in Microsoft Access."
Daca nu pun si prima conditie functioneaza fara probleme. Daca o pun, imi apare eroarea.

Va rog sa ma ajutati pentru ca imi scapa ceva minuscul si nu stiu ce.
Va multumesc anticipat tuturor.

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

Re: User-ul poate vedea doar propriile inregistrari ??

Mesaj de Dr.Windows » Lun Aug 22, 2016 9:54 pm

Incearca sa pui urmatorul cod in Form_Load:

Cod: Selectaţi tot

Private Sub Form_Load()
    If Nz(TempVars!orv, 0) <> 0 Then
        Me.Filter = "order_createdby_id=" & TempVars!iduser
        Me.FilterOn = True
    Else
        Me.Filter = ""
        Me.FilterOn = False
    End If
End Sub

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

Re: User-ul poate vedea doar propriile inregistrari ??

Mesaj de SharQue99 » Mar Aug 23, 2016 6:29 am

Multumesc mult insa am aceeasi problema, am bagat codul si apare aceeasi eroare ( vezi atasamentul).

Variabilele temporare sa nu retina valoarea campurilor yes/no ? Nu cred sa fie altceva..

Multumesc inca o data pentru ajutor, daca ai alta idee te rog sa o scrii.
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: User-ul poate vedea doar propriile inregistrari ??

Mesaj de Dr.Windows » Mar Aug 23, 2016 7:59 am

Mesajul de eroare este acum altul fata de problema initiala, iar in cazul de fata o compilare s-ar putea sa ajute, sau macar sa sublinieze linia care creaza problema, asa ca iti recomand ca in formul respectiv, dupa ce editezi evenimentul "OnLoad" in Visual Basic, foloseste meniul Debug si apoi Compile.

Pentru "debugging" poti folosi fie un breakpoint fie te "ajuti" de o metoda de afisare msgbox/debug.print ca sa verifici ca variabilele sunt initializate corect.

Eventual posteaza codul exact asa cum apare el in evenimentul OnLoad, sau si mai bine ar fi daca ai putea sa reproduci problema intr-o baza de date pe care o poti atasa aici - este necesara doar o tabela pe care sa se faca filtrarea si un form care sa foloseasca evenimentul OnLoad.

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

Re: User-ul poate vedea doar propriile inregistrari ??

Mesaj de SharQue99 » Mar Aug 23, 2016 10:06 am

Salutare,
Scuze dar era prea dimineata sa imi dau seama de diferenta de eroare.
Am incarcat toata baza de date( nu este inca nici un secret in ea). Ca sa te loghezi introdu user: cristib, pass: 436508. Inainte de asta reinnoieste legaturile pentru tabele la tine pe calculator.
Pentru inceput sa intereseaza sa fac treaba asta in form-ul comenzi (lista_comenzi) .

Problema este ca nu imi apare debuging.

Multumesc frumos pentru ajutor.
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: User-ul poate vedea doar propriile inregistrari ??

Mesaj de Dr.Windows » Mie Aug 24, 2016 12:26 pm

Se pare ca problema apare datorita faptului ca ai dezvoltat initial baza de date pe o interfata in Romana si apoi in Engleza sau invers... ideea este ca in acel form apar cateva elemente cu diacritice - de ex.: Etichetă1.

Dupa eroare imi afisa formularul, dar fara sa filtreze.

Dupa ce am sters diacriticele din toate obiectele acelui form, acum imi afizeaza formul fara mesaje de eroare, si face si filtrarea.

Vezi si noul front end 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: User-ul poate vedea doar propriile inregistrari ??

Mesaj de SharQue99 » Dum Aug 28, 2016 8:14 pm

Domnule ITI MULTUMESC .
Nu m-as fi gandit niciodata ca de acolo vine eroarea. Si da, sa-mi fie invatare de minte sa am grija sa nu mai folosesc diacritice sau sa nu mai concep o baza de date folosind doua versiuni diferite de access.
Inca o data iti multumesc.

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

Re: User-ul poate vedea doar propriile inregistrari ??

Mesaj de SharQue99 » Mar Aug 30, 2016 8:18 pm

Buna seara,
Pentru a nu mai deschide alt topic, chiar daca este alt subiect, intreb tot aici :
De la inceput va spun ca nu doresc coduri gratis ( poate ca unii v-ati saturat sa tot intreb pe aici dar incepe sa imi placa din ce in ce mai mult programul asta) ci intotdeauna intreb doar dupa ce epuizez eu toti neuronii si scotocesc suficient de mult prin google.

De data aceasta am nevoie de idei pentru urmatoarea situatie pentru ca nu reusesc sa imi dau seama sub nici o forma de cum ar trebui structurata baza de date:

Vreau sa creez, pentru jobul pe care il am ( resp. administrativ si logistica), un program prin care sa tin evidenta salariatilor dar mai ales a echipamentele care se predau acestora.
Mai departe, vreau sa am 2 tabele: tblechipament, tblangajat.
In formularul editare_echipament sa pot sa selectez carui anjatat ii este dat ( sa nu poata fi dat mai multor angajati) si in formularul editare editare_angajat sa poat sa selectez ce echipament ii este dat respectivului.
Mai exact : daca selectez din forumularul editare_angajat sa se schimbe in tabelul tblechipament si daca selectez angajatul din formularul editare_echipament sa se modifice si in tblangajat.

Daca aveti vre-o ideea despre cum ar trebui structurata baza de date va rog mult sa ma ajutati.

Am totusi o idee : tabelele sa ramana simple, sa contina doar detalii deste angajati sau echipamente. Ca sa ii dau sau sa ii iau un echipament ar trebui sa ii emit un proces verbal de predare primire. Sa fie oare asta legatura intre angajati si echipamente ?

TudyBTH
Moderator
Moderator
Mesaje: 993
Membru din: Joi Feb 11, 2016 2:12 pm
Localitate: Cluj Napoca

Re: User-ul poate vedea doar propriile inregistrari ??

Mesaj de TudyBTH » Mar Aug 30, 2016 11:14 pm

Buna,
doar ca structura de aranjare a datelor, ai nevoie de 3 tabele
1. Tabel cu evidenta angajati
2. Tabel cu evidenta echipamente
3. Tabel cu evidenta legaturilor (in timp) dintre angajati si echipamente.
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.

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

Re: User-ul poate vedea doar propriile inregistrari ??

Mesaj de SharQue99 » Mie Aug 31, 2016 5:04 pm

Cumva aceste "Legaturi dintre Angajati si Echipamente" pot fi aceste procese verbale ( nu conteaza ca sunt de primire sau predare) ?

Banuiesc ca gandesc gresit faptul ca eu in tabelul angajat doresc sa am un camp cu id-ul echipamentului pe care il detine angajatul la momentul asta, nu ? In tabelul angajati sa fie doar datele lui iar in tabelul echipament doar datele echipamentului si daca vreau ca unui angajat sa ii aloc un echipament sa ii emit un proces verbal de primire. Daca vreau sa i-l iau atunci sa ii emit un proces verbal de predare.

Gandesc bine ? Are cineva alte idei ?

Va multumesc anticipat pentru ajutor.

Închis

Înapoi la “Intrebari despre Access 2010”