Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su query

Forum dedicato interamente a Microsoft Access

Moderatore: Toki

Regole del forum
Leggi: IProgrammatori.it - Regolamento Forum
iLara
Utente Junior
Messaggi: 22
Iscritto il: 18 apr 2017, 15:53

Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su query

Messaggioda iLara » 18 apr 2017, 15:56

Salve,
Sto creando un DataBase con Access che mi permetta di catalogare tutte le tipologie di attrezzature presenti all’interno di diversi punti vendita. A tale scopo ho creato 3 tabelle (Grandi attrezzature, piccole attrezzature e mobili) i cui campi sono (Articolo, descrizione, modello, produttore, allegato, prezzo), per raggruppare gli elenchi delle attrezzature. Poi ho creato una tabella dei Punti Vendita (negozio1, negozio2, negozio3, negozio4) e una dei diversi Reparti appartenenti ai negozi (pescheria, forneria, macelleria, etc..), entrambe senza ulteriori campi oltre la loro denominazione. Successivamente ho creato le relazioni tra le attrezzature, il negozio in cui sono presenti e i reparti in cui sono collocate. (NB: LO STESSO "TAVOLO" PUO’ ESSERE PRESENTE PIU’ VOLTE NELLO STESSO NEGOZIO POICHE’ COLLOCATO IN PIU’ REPARTI DELLO STESSO).
Ho poi creato 3 query (1 per le Grandi attrezzature, 1 per le Piccole attrezzature, 1 per Mobili) formate da tutti i campi delle attrezzature più denominazione Punto Vendita e Reparto)…e impostando tra i criteri “Like[Quale Punto Vendita?]” e “Like[Quale Reparto?]”, riesco a selezionare e consultare i dati digitando il Punto Vendita e il Reparto.
Ho creato quindi delle Maschere a tali query, con le stesso funzionamento e anche dei Report (Report con alla base le stesse query e quindi lo stesso funzionamento di ricerca tramite domanda iniziale).
Ora mi si presentano le seguenti difficoltà:

1- Vorrei evitare che i Report mi facciano la stessa domanda alla quale ho già precedentemente risposto nella maschera. Cioè vorrei che mi riportasse direttamente i risultati di ricerca che ho già ottenuto in maschera senza dover rispondere nuovamente alla domande Quale Punto Vendita? e Quale Reparto? . Forse dovrei modificare la macro alla base dei pulsanti che ho posizionato nella maschera e che mi aprono i report ma non so in che modo, poiché effettivamente i report sono basati su una query che funziona in quella maniera.

2- Inoltre, devo necessariamente inserire nelle maschere la possibilità di aggiungere o eliminare dei record, cioè vorrei che chi visualizza il database e che NON ha idea di come funzioni access possa però aggiungere ed eliminare delle attrezzature dagli elenchi.
Ho provato a creare il pulsante con la macro integrata ma poi mi dice “impossibile passare al record specificato”. Forse il problema sta nel fatto che tale maschera sia sempre basata sulla query di selezione e non su di una tabella…effettivamente andando ad aggiungere un nuova attrezzatura in tali maschere si dovrebbero aggiornare campi appartenenti a diverse tabelle legate tra loro tramite relazioni che si dovrebbero anch’esse ripetere.

Spero di essere stata abbastanza chiara nel descrivere la mia situazione ed i miei dubbi, e che qualcuno mi possa aiutare! Grazie mille in anticipo!
Avatar utente
@Alex
Utente Senior
Messaggi: 3318
Iscritto il: 29 feb 2012, 17:59
Contatta:

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda @Alex » 18 apr 2017, 16:04

iLara ha scritto:Salve,
Sto creando un DataBase con Access che mi permetta di catalogare tutte le tipologie di attrezzature presenti all’interno di diversi punti vendita. A tale scopo ho creato 3 tabelle (Grandi attrezzature, piccole attrezzature e mobili) i cui campi sono (Articolo, descrizione, modello, produttore, allegato, prezzo), per raggruppare gli elenchi delle attrezzature.

Sbagliato... non servono 3 Tabelle, serve applicare un minimo do Normalizzazione, ti rendi conto che le 3 Tabelle sono identiche e che se vuoi sapere quanti Attrezzi ci sono in un Punto Vendita devi UNIRE 3 Tabelle...?
Tutto questo non ti suona inutilmente complicato ...?
Crea 1 Tabella ed aggiungi 1 Campo che ne Differenzia la TIPOLOGIA di Attrezzatura, possibilmente con Tabella Collegata un Catalogo Tipologia, quindi usando INdici Numerici.
iLara ha scritto:Poi ho creato una tabella dei Punti Vendita (negozio1, negozio2, negozio3, negozio4) e una dei diversi Reparti appartenenti ai negozi (pescheria, forneria, macelleria, etc..), entrambe senza ulteriori campi oltre la loro denominazione. Successivamente ho creato le relazioni tra le attrezzature, il negozio in cui sono presenti e i reparti in cui sono collocate. (NB: LO STESSO "TAVOLO" PUO’ ESSERE PRESENTE PIU’ VOLTE NELLO STESSO NEGOZIO POICHE’ COLLOCATO IN PIU’ REPARTI DELLO STESSO).

Mmmm
PuntoVendita=Negozio...?
Credo di si, ma non generare confusione in chi ti legge...
QUindi se un PuntoVendita/Negozio può avere Molti Reparti, serve il Catalogo Reparti...!
Quindi TabellaPuntiVendita devi fare un MOlti-Molti con Reparti...!
3° Regola di Normalizzazione... ma se non hai studiato un minimo di basi non ne esci.
iLara ha scritto:Ho poi creato 3 query (1 per le Grandi attrezzature, 1 per le Piccole attrezzature, 1 per Mobili) formate da tutti i campi delle attrezzature più denominazione Punto Vendita e Reparto)…e impostando tra i criteri “Like[Quale Punto Vendita?]” e “Like[Quale Reparto?]”, riesco a selezionare e consultare i dati digitando il Punto Vendita e il Reparto.
Ho creato quindi delle Maschere a tali query, con le stesso funzionamento e anche dei Report (Report con alla base le stesse query e quindi lo stesso funzionamento di ricerca tramite domanda iniziale).
Ora mi si presentano le seguenti difficoltà:

1- Vorrei evitare che i Report mi facciano la stessa domanda alla quale ho già precedentemente risposto nella maschera. Cioè vorrei che mi riportasse direttamente i risultati di ricerca che ho già ottenuto in maschera senza dover rispondere nuovamente alla domande Quale Punto Vendita? e Quale Reparto? . Forse dovrei modificare la macro alla base dei pulsanti che ho posizionato nella maschera e che mi aprono i report ma non so in che modo, poiché effettivamente i report sono basati su una query che funziona in quella maniera.

2- Inoltre, devo necessariamente inserire nelle maschere la possibilità di aggiungere o eliminare dei record, cioè vorrei che chi visualizza il database e che NON ha idea di come funzioni access possa però aggiungere ed eliminare delle attrezzature dagli elenchi.
Ho provato a creare il pulsante con la macro integrata ma poi mi dice “impossibile passare al record specificato”. Forse il problema sta nel fatto che tale maschera sia sempre basata sulla query di selezione e non su di una tabella…effettivamente andando ad aggiungere un nuova attrezzatura in tali maschere si dovrebbero aggiornare campi appartenenti a diverse tabelle legate tra loro tramite relazioni che si dovrebbero anch’esse ripetere.

Spero di essere stata abbastanza chiara nel descrivere la mia situazione ed i miei dubbi, e che qualcuno mi possa aiutare! Grazie mille in anticipo!


Mi fermo...!
Le lacune da colmare per proceddere sono tali da richiedere un approfondimento dei principi fondamentali della strutturazione di un DB altrimenti rischi di fare un lavoraccio, fatto malissimo concettualmente che poi non funzionerà MAI.
Sono contrario al CROSSPOST
@Alex
iLara
Utente Junior
Messaggi: 22
Iscritto il: 18 apr 2017, 15:53

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda iLara » 18 apr 2017, 16:53

Ciao Alex,
innanzitutto grazie per aver risposto!
Purtroppo sto usando Access da meno di un mese e quindi è possibile che abbia alcune lacune, comunque cerco di spiegare meglio il lavoro che ho fatto...
Ho creato 3 tabelle distinte perché miravo a mantenere una divisione delle attrezzature più utile ai fini delle ricerche che avrei dovuto fare in seguito, ma probabilmente si possono effettuare ricerche anche in funzione di un singolo campo di una stessa tabella e quindi potrebbe essere sensato il tuo discorso.
In quanto ai Reparti è proprio come hai immaginato...ho creato la tabella Reparti con l'elenco di essi e ho relazionato MOLTI-MOLTI (tramite una terza tabella di relazione) con la tabella dei punti vendita.
Il mio problema principale rimane quello di non sapere come fare per dare la possibilità ad un utilizzatore (che non conosce access) di aggiungere ed eliminare record (ovvero attrezzature) con le dovute relazioni a Negozio e Reparto, e quindi utilizzare nel tempo il DB che sto creando.
Grazie ancora...spero tu abbia qualche altro suggerimento per me.
Avatar utente
@Alex
Utente Senior
Messaggi: 3318
Iscritto il: 29 feb 2012, 17:59
Contatta:

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda @Alex » 18 apr 2017, 18:58

iLara ha scritto:Ciao Alex,
innanzitutto grazie per aver risposto!
Purtroppo sto usando Access da meno di un mese e quindi è possibile che abbia alcune lacune, comunque cerco di spiegare meglio il lavoro che ho fatto...
Ho creato 3 tabelle distinte perché miravo a mantenere una divisione delle attrezzature più utile ai fini delle ricerche che avrei dovuto fare in seguito,

Sbagliato concettualmente, non è Excel... questo è un Database e le regole non sono quelle del "secondo me"... per questo ti invito a prendere un minimo di visione delle prime 3 REGOLE di FORMA NORMALE.
iLara ha scritto:ma probabilmente si possono effettuare ricerche anche in funzione di un singolo campo di una stessa tabella e quindi potrebbe essere sensato il tuo discorso.

No, acolta, non "probabilmente"... quello che ti ho suggerito è l'unico modo per gestire correttamente la tua struttura, è il tuo metodo che è sbagliato e NON VA USATO, ma lo capirai man mano che entri nel meccanismo di NORMALIZZAZIONE.
iLara ha scritto:In quanto ai Reparti è proprio come hai immaginato...ho creato la tabella Reparti con l'elenco di essi e ho relazionato MOLTI-MOLTI (tramite una terza tabella di relazione) con la tabella dei punti vendita.

Ottimo
iLara ha scritto:Il mio problema principale rimane quello di non sapere come fare per dare la possibilità ad un utilizzatore (che non conosce access) di aggiungere ed eliminare record (ovvero attrezzature) con le dovute relazioni a Negozio e Reparto, e quindi utilizzare nel tempo il DB che sto creando.
Grazie ancora...spero tu abbia qualche altro suggerimento per me.

Questo è automatico se costruisci delle Maschere in modo adeguato... e l'autocomposizione è un primo inizio... devi fare attenzione ai Campi Indicizzati, le Chiavi Primarie e chiavi Esterne... altrmenti le Query saranno ReadOnly... ed anche questo fa parte dello studio che hai bisogno necessariamente di fare...
Sono contrario al CROSSPOST
@Alex
iLara
Utente Junior
Messaggi: 22
Iscritto il: 18 apr 2017, 15:53

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda iLara » 19 apr 2017, 16:44

Ciao Alex,
grazie per i tuoi suggerimenti!
Ho creato 1 Tabella unica per le Attrezzature ed aggiunto il Campo che ne Differenzia la TIPOLOGIA. Ora, diversamente a quanto descritto nel primo post, ho provato a creare una maschera dotata di 2 Caselle Combinate, 1 per la selezione del Punto Vendita ed una per la selezione del Reparto tramite le quali mi vengono restituite in elenco tutte le attrezzature presenti nel negozio e nel reparto selezionato.
Ora i problemi che si ripresentano sono quelli iniziali...ovvero non riesco ad far aggiungere record tramite la maschera e non so come collegarci un report che mi riporti l'elenco delle attrezzature che varia con la ricerca specifica.
Grazie e scusami!
Avatar utente
@Alex
Utente Senior
Messaggi: 3318
Iscritto il: 29 feb 2012, 17:59
Contatta:

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda @Alex » 19 apr 2017, 16:53

NOn riesci ad aggiunhgere cosa significa...?
Che la Maschera inibisce l'inserimento...? E' in ReadOnly...?
Se è così ti ho già spiegato perchè, è questione di COme crei le Queries e come generi le Relazioni...
Sono contrario al CROSSPOST
@Alex
OsvaldoLaviosa
Utente Senior
Messaggi: 4099
Iscritto il: 06 apr 2012, 16:17
Località: Conversano

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda OsvaldoLaviosa » 19 apr 2017, 19:41

Per iLara: @Alex ti ha già esposto che il passo PRIMARIO da fare è NORMALIZZARE la struttura. Questa cosa non la puoi "improvvisare" o "aggiustare" qua e là in maniera approssimativa. Cerca di risolvere prima questo scoglio indispensabile. Una volta fatto, anche le query avranno un sapore/significato diverso e più lineare.
Non sono intervenuto causa descrizione (relativamente) disordinata. Se posso intervenire anch'io, fornisci una descrizione molto CHIARA di:
- tutti i nomi propri tabelle
- nomi propri di tutti i campi con indicazione della chiave primaria
- le relazioni
- rispiega cosa intendi realizzare
...altrimenti la discussione non può andare avanti...
iLara
Utente Junior
Messaggi: 22
Iscritto il: 18 apr 2017, 15:53

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda iLara » 20 apr 2017, 13:55

Le TABELLE sono le seguenti:

1- PUNTI VENDITA, i cui campi sono 2: ID (chiave primaria) e Denominazione Punto Vendita.
2- REPARTI, i cui campi sono 2: ID (chiave primaria) e Denominazione Reparto.
3- ATTREZZATURE, i cui campi sono 8: ID (chiave primaria), Tipologia, Articolo, Descrizione, Produttore, Modello, Prezzo e Allegato.
4- ASPETTI ARCHITETTONICI, i cui campi sono 5: ID (chiave primaria), Riferimento progettuale, Descrizione, Colore/Codice/Modello e Allegato.
5- RELAZIONE PUNTO VENDITA/REPARTO, i cui campi sono 3: ID Punto Vendita, ID Reparto, ID Coppia Punto Vendita + Reparto(chiave primaria).
6- RELAZIONE PUNTO VENDITA/REPARTO/ASPETTI ARCHITETTONICI/ATTREZZATURE, i cui campi sono 3: ID Coppia Punto Vendita + Reparto, ID Aspetti architettonici, ID Attrezzatura.

Ho quindi queste RELAZIONI:
- Relazione Molti-Molti tra Punto Vendite e Reparto;
- Relazione Molti-Molti tra Coppia Punto Vendita + Reparto e Scelte Architettoniche e Attrezzatura;

Sia le Attrezzature che gli Aspetti Architettonici variano secondo COMBINAZIONE di Negozio con Settore, e ho creato quindi combinazioni tra negozi e settori generando un ID COPPIA NEGOZIO+SETTORE da poter mettere in relazione con l'ID ASPETTO ARCHITETTONICO e l’ID ATTREZZATURA.
In questo modo la stessa chiave primaria (ID COPPIA NEGOZIO+SETTORE) si relaziona con 2 chiavi esterne appartenenti a 2 tabelle diverse (Tab. Attrezzatura e Tab. Aspetti architettonici). Non ho unito in un'unica tabella Attrezzature e Aspetti Architettonici perché non possiedono gli stessi campi. Nell’immagine potete vedere le relazioni descritte, ditemi se ho ragionato in modo corretto.

Ho poi creato una QUERY come base della maschera, con i seguenti campi:
- ID Punto vendita (Tab. Punti Vendita)
- Denominazione Punto vendita (Tab. Punti Vendita)
- ID Reparto (Tab. Reparti)
- Denominazione Reparto (Tab. Reparti)
- ID Attrezzature (Tab. Attrezzature)
- Tipologia (Tab. Attrezzature)
- Articolo (Tab. Attrezzature)
- Descrizione (Tab. Attrezzature)
- Produttore (Tab. Attrezzature)
- Modello (Tab. Attrezzature)
- Prezzo (Tab. Attrezzature)
- Allegato (Tab. Attrezzature)
Tali campi mi permettono di effettuare le selezioni di dati che mi interessano (ovvero visualizzare l'Attrezzatura e gli Aspetti Architettonici secondo Punto Vendita e/o Reparto), e tramite questa query posso avere la possibilità di creare una maschera per la ricerca.
Il mio OBIETTIVO finale è infatti quello di creare 2 Maschere (1 per le Attrezzature e 1 per gli Aspetti Architettonici) che mi permettano di far interfacciare con il DB un utilizzatore che non conosca access.
L'utilizzatore deve avere la possibilità di MODIFICARE, ELIMINARE ED AGGIUNGERE RECORD (deve quindi poter aggiungere attrezzature o scelte architettoniche inserendo tutte le info proprie dei campi che compongono le tabelle corrispondenti, MA mantenendo le relazioni della ricerca da lui impostata. Nel senso che, dalla maschera l'utilizzatore visualizza l'attrezzatura presente nel punto vendita X e nel reparto Y, e a quel punto decide di aggiungere una nuova attrezzatura, la quale dovrà quindi essere AUTOMATICAMENTE relazionata al punto vendita X e nel reparto Y).
Dopo avermi dato un vostro consiglio sull’impostazione della struttura del DB, mi servirebbe qualche indicazione su come fare per permettere ad un utilizzatore del DB, che non sa usare access, di aggiungere una nuova attrezzatura con le dovute relazioni.
grazie e scusate l'ignoranza!
Allegati
relazioni.jpg
relazioni.jpg (64.07 KiB) Visto 141 volte
OsvaldoLaviosa
Utente Senior
Messaggi: 4099
Iscritto il: 06 apr 2012, 16:17
Località: Conversano

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda OsvaldoLaviosa » 20 apr 2017, 15:15

1. Fino alle 3 tabelle in alto a sinistra ci arrivo.
2. Non capisco cosa sono gli AspettiArchitettonici.
3. La tabella al centro riceve 3 relazioni "molti": non capisco.
4. Un RepartoPuntoVendita avrebbe molte Attrezzature. Idem una Attrezzatura potrebbe stare in molti RepartiPuntiVendita.
5. Ti consiglio di nominare i campi chiave primaria in modo "inequivocabile", ossia non chiamarli tutti ID, ma IDPuntoVendita, IDReparto, IDAttrezzatura...

Secondo me occorre rivedere la STRUTTURA.
Che ne dici di aprire un nuovo thread nella sezione "Progettazione database"?
iLara
Utente Junior
Messaggi: 22
Iscritto il: 18 apr 2017, 15:53

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda iLara » 20 apr 2017, 15:40

2. Gli Aspetti Architettonici indicano scelte progettuali (cartellonistica, colorazione scaffalature, tinteggiatura pareti,..) che cambiano per ogni reparto in relazione al negozio. Nel senso che un Reparto X per il Punto Vendita A ha pareti gialle (Aspetto Architettonico 1), MA Reparto X per il Punto Vendita B ha pareti rosse (Aspetto Architettonico 2).
Lo stesso percorso logico si deve fare per le Attrezzature, perchè anche la presenza o meno di ogni singola attrezzatura dipenderà dall'accoppiata Punto Vendita/Reparto, nel senso che un'Attrezzatura 1 è presente nel Reparto x ma solo nei Punti Vendita A e B (ma non nei Punti Vendita C e D).
Quindi sia Attrezzature che Aspetti Architettonici devono relazionarsi con l' ID COPPIA REPARTO/PUNTO VENDITA, motivo per cui dalla tabella in ci sono 2 relazioni MOLTI. E' sbagliato?
OsvaldoLaviosa
Utente Senior
Messaggi: 4099
Iscritto il: 06 apr 2012, 16:17
Località: Conversano

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda OsvaldoLaviosa » 20 apr 2017, 16:21

Io ci vedo un campo IDAspettoArchitettonico (FK) nella tabella RepartiPuntiVendita. Quindi la relazione AspettiArchitettonici.IDAspettoArchitettonico uno-a-molti RepartiPuntiVendita.IDAspettoArchitettonico.
Ovviamente cancelli la precedente relazione che partiva da AspettiArchitettonici.
iLara
Utente Junior
Messaggi: 22
Iscritto il: 18 apr 2017, 15:53

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda iLara » 20 apr 2017, 16:39

Ho impostato una relazione MOLTI-MOLTI perché come uno stesso Aspetto Architettonico può appartenere a più combinazioni di Reparto/PuntoVendita, anche una stessa combinazione Reparto/PuntoVendita può avere diversi Aspetti Architettonici.
OsvaldoLaviosa
Utente Senior
Messaggi: 4099
Iscritto il: 06 apr 2012, 16:17
Località: Conversano

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda OsvaldoLaviosa » 20 apr 2017, 17:11

Allora per me si possono accorpare le tabella AspettiArchitettonici e Attrezzi in un'uncia tabella Robe (permettimi il termine terra terra...). Un RepartoPuntoVendita avrà molte Robe (sia AspettiArchitettonici, sia Attrezzi). Anche una Roba può stare in molti RepartiPuntiVendita.
Per distinguere una Roba=AspettoArchitettonico da una Roba=Attrezzo, predisponi un campo con 2 soli valori che discrimina appositamente.
Se Robe non rende l'idea, trova tu un termine generalizzante più appropriato.
iLara
Utente Junior
Messaggi: 22
Iscritto il: 18 apr 2017, 15:53

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda iLara » 20 apr 2017, 21:11

Il termine "robe" va benissimo,ho capito perfettamente ciò che mi consigli. Effettivamente ci avevo anche pensato ma
non accorpavo le 2 tabelle perché comunque non hanno campi in comune...Attrezzature e Aspetti Architettonici non sono "descritti e definiti" tramite gli stessi campi.
Se facessi un'unica tabella lascerei vuoti i campi che non mi interessano per la definizione della "roba" del record? Sarebbe corretto?
OsvaldoLaviosa
Utente Senior
Messaggi: 4099
Iscritto il: 06 apr 2012, 16:17
Località: Conversano

Re: Collegamento di Report a maschere di ricerca e Possibilità di aggiungere/eliminare Record nella maschere basate su q

Messaggioda OsvaldoLaviosa » 20 apr 2017, 21:22

iLara ha scritto:Se facessi un'unica tabella lascerei vuoti i campi che non mi interessano per la definizione della "roba" del record? Sarebbe corretto?

Non conosco i dettagli del tuo campo lavorativo. Non riesco a cogliere i punti in comune fra le due "robe", ossia i campi omogenei. Tuttavia può accadere di avere "tipi di robe" che contemplano certi campi, mentre "altri tipi di robe" ben altri campi.

Torna a “Microsoft Access”

Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti