REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

di il
26 risposte

REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

Non riuscendo a riaprire la discussione Limitare visualizzazione dati tabella in base ad utente loggato, chiusa, provo ad aprire un nuovo argomento richiamando la precedente discussione, spero di non sbagliare.

Ho provato ad eseguire i suggerimenti forniti, tuttavia al login non riesco ancora a limitare la visualizzazione dei soli dati associati all'utente loggato.

ho caricato qui database il db con un file txt in cui sono riportate le utenze di test create, se qualcuno volesse visualizzare quanto fatto.

grazie mille per il supporto.

26 Risposte

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    Come già  suppone l'utente che apre la discussione sotto riportata, l'argomento è già stato trattato tante volte.

    https://www.iprogrammatori.it/forum-programmazione/access/codice-per-apertura-maschera-con-condizione-where-t19844.html

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    Con la speranza che i toni non si scaldino nuovamente.

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    Ok al form login cosa hai messo come controlli e come codice?

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    Domanda.

    Ma lo hai testato il database che hai condiviso?

    Non funziona nulla.

    il select count non funziona come presubilmente pensi.

    Non ti estrae il valore della prima colonna filtrata in base alla where condition. Restituisce solo il numero di righe di una determinata colonna.

    Ad esempio. Quante persone con età uguale a 74 anni sono presenti nella prima colonna della tabella Soci?

    Ti restituirà il numero totale di persone con età 74 anni presenti in tabella.
    E non il nome della prima persona che trova.

    Hai nidificato così tanti if else if che sono chiusi anche male. Non ti genera errori, perchè i tag di apertura e di chiusura sono di pari numero, ma sono chiusi male.
    Non hai attivato l'option explicit, quindi ad ogni minima distrazione ti si generano errori difficilmente individuabili.

    Assegni un valore testo ad una variabile numerica.

    Non c'è logica nella scrittura del codice e sinceramente non ho capito nemmeno la logica nell'approccio a quello che vuoi realizzare.

    Questa sintassi
    If IsNull(rs(0)) = False 

    non ha senso e non funzionerà mai.

    Mi dispiace, e non lo dico per offendere, ma siamo lontani anni luce dall'ottenere l'effetto sperato.
    E sinceramente trovo difficile che si riesca ad aiutarti tramite il forum.

    Ps. non c'è bisogno del file di testo con le credenziali di accesso. Sono visibili dalle tabelle.

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    15/08/2023 - fratac ha scritto:


    Mi dispiace, e non lo dico per offendere, ma siamo lontani anni luce dall'ottenere l'effetto sperato.

    Si purtroppo devo concordare ancora una volta con quanto esposto…


    joker88 ti consiglio di non perderci troppo tempo perchè se non si hanno gli strumenti e le conoscenze è molto difficile che ne vieni fuori.

    Del resto non puoi aspettarti che qualcun altro faccio il lavoro al posto tuo. 
    Questo non si può fare.
    Si discute di soluzioni e di tecniche, di approcci e possibili soluzioni, ma per il resto devi essere tu all'altezza di capire e realizzare quanto suggerito nella discussione precedente e questa attuale.

    Purtroppo, se posso permettermi, non hai la possibilità di farcela e deduco ciò in quanto le risposte e le soluzioni con tutti i pro e i contro ti sono stati ben forniti nel corso dei vari post.

    Senza offesa ma per darti un semplice consiglio, ora come ora è meglio se non affronti tale soluzione… se poi rileggi i post della precedente discussione vedi come può essere molto divisivo tale argomento dove taluni dicono certe cose e altri ne dicono altre… chi con saggezza e chi senza sapere o disconoscere la materia fino in fondo… e in più senza conoscere il progetto in questione etc etc etc … ti dico questo per farti capire che non esiste una soluzione che sia la SALUZIONE… esistono alcune tecniche che devono essere padroneggiate con il sapere e una certa professionalità.

    Quindi se non hai tali requisiti ti sarà impossibile, almeno per adesso, affrontare tale argomento e mettere in pratica le soluzioni che ti sono state date. E ripeto, non puoi aspettarti che qualcuno faccia il lavoro al posto tuo. Non è questo il sistema o per lo meno non è previsto in tale forum.

    Capisco che ti tornerebbe comodo fare un copia incolla, ma devi anche capire che non puoi affrontare questo particolare argomento in questi termini. 


    Mi raccomando, prendi ciò che ti ho appena detto come un consiglio (anche se non richiesto) da amico… poi quando avrai gli strumenti adatti capirai come e se applicare le varie soluzioni che ti abbiamo dato e potrai discernere tra le varie ipotesi in modo consapevole.

    ;-)   …ti ripeto, MsAccess non prevede tale gestione e pertanto non esiste “la SOLUZIONE” ma devi tecnicamente studiare i possibili approcci più adatti al progetto e alle tue esigenze.

    Mi spiace parlarti in questi termini e mi auguro non sia motivo di offesa, ma piuttosto uno stimolo per guardare avanti e continuare a progettare con MsAccess al fine di acquisire conoscenze ed esperienze.

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    joker88 ti consiglio di impiegare tutto il tempo che serve per realizzare il tuo progetto, perchè anche se attualmente non si hanno gli strumenti e le conoscenze necessarie, porsi un obiettivo e perseverare nel raggiungerlo, cercando di abbattere uno per uno tutti gli ostacoli che inevitabilmente si parano di fronte, e' MOLTO piu' importante che avere le conoscenze e gli strumenti adatti

    Come secondo consiglio, usa Access per l'interfaccia utente, ma i dati falli tenere a chi fa quello di mestiere, un qualsiasi db server che faccia solo quello e lo faccia bene (Sql Server, Db2, Firebird, Postgresl, …), anche per piccoli progetti i vantaggi che ne trarrai saranno moltissimi, senza contare che il progetto partira' gia' da subito ‘grande’ 

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    15/08/2023 - joker88 ha scritto:


    Non riuscendo a riaprire la discussione Limitare visualizzazione dati tabella in base ad utente loggato, chiusa, provo ad aprire un nuovo argomento richiamando la precedente discussione, spero di non sbagliare.

    Ho provato ad eseguire i suggerimenti forniti, tuttavia al login non riesco ancora a limitare la visualizzazione dei soli dati associati all'utente loggato.

    ho caricato qui database il db con un file txt in cui sono riportate le utenze di test create, se qualcuno volesse visualizzare quanto fatto.

    grazie mille per il supporto.

    Vedo che usi una variabile id_utente_loggato come globale, io terrei anche la password ed il livello di sicurezza su variabili globali sempre disponibili al codice, una volta passato il login e' comodo averle sempre sottomano piuttosto che andare sempre sul db

    Poi, in seguito alla schermata login vedo che vai su una ‘inserimentodati’, non mi e' ben chiaro il motivo

    Io andrei su una form con la lista/elenco dei dati attualmente visibili all'utente, nel caso di un admin allora vedrai tutte le righe della tabella Assegnazioni, e da questa form se premi AGGIUNGI/NUOVO allora potresti mostrare una form di dettaglio con tutti i campi presenti nella tabella ed inserire un nuovo record

    In sostanza la prima form, la lista solo in visualizzazione, niente modifiche, se premi NUOVO allora apri la form frmAssegnazioniInserimentoModifica e da questa puoi aggiungere un nuovo record, quando premi SALVA puoi aggiornare il nuovo record coi campi presenti sulle textbox, aggiornare il recordset della sottostante frmAssegnazioniElenco (perche' deve mstrare il record appena aggiunto) e poi ‘spegnere’ la frmAssegnazioniInserimentoModifica

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    16/08/2023 - amorosik ha scritto:


    joker88 ti consiglio di impiegare tutto il tempo che serve per realizzare il tuo progetto, perchè anche se attualmente non si hanno gli strumenti e le conoscenze necessarie, porsi un obiettivo e perseverare nel raggiungerlo, cercando di abbattere uno per uno tutti gli ostacoli che inevitabilmente si parano di fronte, e' MOLTO piu' importante che avere le conoscenze e gli strumenti adatti

    Come secondo consiglio, usa Access per l'interfaccia utente, ma i dati falli tenere a chi fa quello di mestiere, un qualsiasi db server che faccia solo quello e lo faccia bene (Sql Server, Db2, Firebird, Postgresl, …), anche per piccoli progetti i vantaggi che ne trarrai saranno moltissimi, senza contare che il progetto partira' gia' da subito ‘grande’ 

    Esatto una soluzione che nessuno di noi aveva proposto.

    Effettivamente non ci sarebbe nemmeno bisogno di scrivere codice per i permessi lato front end, perchè verrebbero gestiti dal motore del database su cui ci si appoggia.

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    15/08/2023 - fratac ha scritto:


    Domanda.

    Ma lo hai testato il database che hai condiviso?

    Non funziona nulla.

    il select count non funziona come presubilmente pensi.

    Non ti estrae il valore della prima colonna filtrata in base alla where condition. Restituisce solo il numero di righe di una determinata colonna.

    Ad esempio. Quante persone con età uguale a 74 anni sono presenti nella prima colonna della tabella Soci?

    Ti restituirà il numero totale di persone con età 74 anni presenti in tabella.
    E non il nome della prima persona che trova.

    Hai nidificato così tanti if else if che sono chiusi anche male. Non ti genera errori, perchè i tag di apertura e di chiusura sono di pari numero, ma sono chiusi male.
    Non hai attivato l'option explicit, quindi ad ogni minima distrazione ti si generano errori difficilmente individuabili.

    Assegni un valore testo ad una variabile numerica.

    Non c'è logica nella scrittura del codice e sinceramente non ho capito nemmeno la logica nell'approccio a quello che vuoi realizzare.

    Questa sintassi
    If IsNull(rs(0)) = False 

    non ha senso e non funzionerà mai.

    Mi dispiace, e non lo dico per offendere, ma siamo lontani anni luce dall'ottenere l'effetto sperato.
    E sinceramente trovo difficile che si riesca ad aiutarti tramite il forum.

    Ps. non c'è bisogno del file di testo con le credenziali di accesso. Sono visibili dalle tabelle.

    Non c'e', non funziona, non ha senso, non ti estrae, non hai attivato, mi dispiace ….

    Ma perche' non gli dai qualche indicazione di come potrebbe fare per ottenere quel che ha chiesto inizialmente?

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    16/08/2023 - amorosik ha scritto:


    Ma perche' non gli dai qualche indicazione di come potrebbe fare per ottenere quel che ha chiesto inizialmente?

    Hm.. a parte che le spiegazioni sono subito dopo gli appunti fatti e si basano sul codice che ha scritto all'interno del suo database.

    Una volta che avrà corretto gli errori, allora si potrà procedere con aiuti più mirati.

    Ma toglimi una curiosità.

    Su questo forum sei l'addetto alla critica dei commenti degli altri utenti?

    Perchè invece di perdere tanto tempo e fatiche a rispondere agli altri utenti, non aiuti l'autore del post?

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    16/08/2023 - amorosik ha scritto:


    Non c'e', non funziona, non ha senso, non ti estrae, non hai attivato, mi dispiace ….

    Ma perche' non gli dai qualche indicazione di come potrebbe fare per ottenere quel che ha chiesto inizialmente?

    1. con questa tipologia di risposte, indirizzata a specifici utenti, poni le basi per i flames. 
    2. nuovamente, se quoti l'intero messaggio, allunghi troppo il thread.

    Per tutti: evitiamo i flames.

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    Suona un po' come al forum del muratore:

    Ragazzi ho messo un po' di ghiaia, un po' di cemento e un po' d'acqua, come posso costruire un palazzo di 20 piani, qualcuno ha un'idea?

    Cioè, non sta chiedendo aiuto su un materiale da usare.

    Se al mutatore dici: usa il preriscaldato, lui, essendo un muratore, capisce.

    Abbiamo spiegato come procedere, non essendo un programmatore, non ha capito.  

    Chi sbaglia?

    Joker88, ho fatto un programmino, mi hanno chiesto di calcolare il break even point, come faccio a tirarlo fuori dalle mie tabelle?

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    16/08/2023 - Toki ha scritto:


    16/08/2023 - amorosik ha scritto:


    Non c'e', non funziona, non ha senso, non ti estrae, non hai attivato, mi dispiace ….

    Ma perche' non gli dai qualche indicazione di come potrebbe fare per ottenere quel che ha chiesto inizialmente?

    1. con questa tipologia di risposte, indirizzata a specifici utenti, poni le basi per i flames. 
    2. nuovamente, se quoti l'intero messaggio, allunghi troppo il thread.

    Per tutti: evitiamo i flames.

    2.   capisco, ma essendo l'unica riga che ho scritto facente riferimento a diverse negazioni di diverse righe riportate nel post che ho quotato, se non lo avessi riportato tutto un eventuale lettore non avrebbe capito a cosa mi riferisco

    1.  vorrei evitare i flames, puoi per cortesia darmi una definizione precisa di cosa si intenda per ‘flames’  (ho visionato adesso il regolamento del forum ma non trovo riferimenti validi), cosi' dove possibile li evitero' e dove non possibile evitero' di rispondere

  • Re: REOPEN Limitare visualizzazione dati tabella in base ad utente loggato

    Semplicemente non serve contestare le risposte altrui se non sono errate tecnicamente. Dai le tue risposte e non commentare inutilmente le altre opinioni.

    Semplice 

Devi accedere o registrarti per scrivere nel forum
26 risposte