Creare collegamento tra report

di il
26 risposte

26 Risposte - Pagina 2

  • Re: Creare collegamento tra report

    A me non convince la descrizione dei passaggi che vuoi realizzare. A cosa ti serve aprire una "schermata" (Query1) che ti mostra le Cartelle, quando di fatto, alla fine vuoi raggiungere SEMPRE un Disegno?

    Oppure, accetto la tua descrizione (un po' confusa per me) e, mi viene in mente una soluzione facile facile per le tue tasche. Io ci vedrei una tabella Cassetti relazionata uno-a-molti con Cartelle. È vero che Cassetti rischia di avere un solo campo IDCassetto (o Cassetto seguendo le tue denominazioni...)...ma mi serve per mettere in atto la seguente strategia: uso dei "Fogli dati secondari". Descrivo tutto passo passo.
    1. Crea una tabella Cassetti con un campo Cassetto (numerazione automatica, chiave primaria)
    2. Relazioni:
    Cassetti.Cassetto uno-a-molti con Cartelle.Cassetto
    Cartelle.IDCartella uno-a-molti con Disegni.IDCartella (lo abbiamo già detto prima)
    3. Apri tabella Cassetti e aggiungi un "Foglio dati secondario" che guarda la tabella Cartelle impostando:
    Collega campi secondari: Cassetto
    Collega campi master: Cassetto
    4. Salva tabella Cassetti
    5. Apri tabella Cartelle e aggiungi un "Foglio dati secondario" che guarda la tabella Disegni impostando:
    Collega campi secondari: IDCartella
    Collega campi master: IDCartella
    6. Salva tabella Cartelle
    7. Chiudi tutto e riapri tabella Cassetti, noterai una piccola colonna con un + sulla sinistra. Cliccando su tale + si apre Cartelle filtrato del solo Cassetto corrispondente. A sua volta, anche Cartelle mostrerà tanti +. Cliccando su uno di essi si vedranno tutti i Disegni relativi a quella Cartella.
    Non so se è una soluzione che ti aggrada.
  • Re: Creare collegamento tra report

    Perché praticamente io ho questi disegni che sono schemi e tabelle relative ad utenze elettriche. ogni utenza elettrica è identificabile con una "sede tecnica" ovvero un gruppo di appartenenza. in questo caso se so che tipo di utenza ho ma non ne so il nome esatto posso cercarlo tramite la sede tecnica... allo stesso tempo tutto è diviso in gruppi fisici, so che i cassetti da 1 a 3 sono del gruppo1, dal 4 al 6 sono gruppo 2 ecc.... quindi molto semplicemente vorrei avere una rappresentazione grafica di quello che fisicamente in ufficio: mi guardo cassetto per cassetto cercando di individuare la sede tecnica (che è identificata tramite una cartella), quindi apro la relativa cartella e ho una lista dei disegni delle utenze!

    PS: mi odierai ma non so come si crei una relazione uno-a-molti
  • Re: Creare collegamento tra report

    Cioè per dirti, ci sarei anche arrivato con i report ma sono bloccato proprio li li!
    Mi spiego: la tabella principale si chiama Cartelle (mi indica in ogni cassetto i nomi delle cartelle), la seconda tabella si chiama Disegni (in ogni cartella quali disegni ci sono).
    Cartelle Report mi chiede il numero Cassetto e mi fa visualizzare tutto,
    Disegni Report mi chiede numero cassetto, numero cartella e mi fa visualizzare tutto. quando io apro Cartelle Report un dato glielo do già (numero Cassetto), di fianco a ogni titolo ho un tasto con questo codice:
    Private Sub Comando23_Click()
    DoCmd.OpenReport "Disegni Report", acViewReport, , (([Disegni Query].CASSETTO = [Cartelle Query]. CASSETTO) AND (([Disegni Query].CARTELLA = [Cartelle Query]. CARTELLA)
    End Sub
    sbaglio a fissarmi troppo su questo? mi piace molto l'interfaccia grafica e penso sia l'opzione migliore nell'ambiente dove lavoro!
  • Re: Creare collegamento tra report

    Il post 1/7/2015 14:42 parla di tutt'altro abbiamo discusso finora.

    cele93 ha scritto:


    mi odierai ma non so come si crei una relazione uno-a-molti
    Leggi attentamente il regolamento del forum. È richiesta una conoscenza minima dell'applicazione Access. Consulta un manuale di base.

    cele93 ha scritto:


    cioè per dirti, ci sarei anche arrivato con i report ma sono bloccato proprio li li
    Torno a ripetere che i report non assolvono a quello che stai cercando.

    Non ci sto capendo più niente.
  • Re: Creare collegamento tra report

    Allora c'è qualcosa che non va, non mi sono spiegato bene io!
    reset: metto le foto così si capisce:)
    Query1 (parametro CASSETTO-> Like [Inserire Numero CASSETTO])
    Immagine.png
    Immagine.png

    risultato:
    Immagine2.png
    Immagine2.png

    Query2 (parametro CASSETTO-> Like [ cassetto ]; parametro CARTELLA-> Like [ cartella ])
    Immagine3.png
    Immagine3.png

    risultato:
    Immagine4.png
    Immagine4.png

    ora sono due query separate, entrambe con un report, il report mi serve perché, ripeto, in ufficio preferisco la semplicità di un interfaccia grafica che in qualche modo è "guidata" piuttosto che far aprire voci che di sicuro i colleghi non impareranno mai a premere, e soprattutto perché è l'impaginazione che voglio per poi poterla stampare e incollare fisicamente su cassetti e cartelle.
    il mio obiettivo è "unire" i due report in modo che, magari con un pannello di comandi di una schermata iniziale, io apro il primo report scegliendo il numero della cassettiera. una volta individuato sull'immagine2 che cartella aprire, premo il pulsante a fianco (che in foto ha nome Comando13) e mi apra il report della query2, senza che mi chieda di inserirgli i parametri ovviamente, perché ho già scelto il cassetto e la cartella.

    dimmi se hai capito ciò che voglio realizzare!
    e ti ringrazio per il tuo tempo, ora sto leggendo parecchi manuali online ma essendo il primo impatto non è per niente semplice capire tutto
  • Re: Creare collegamento tra report

    La tua logica è giusta. Ma il report non è l'oggetto adatto per fare tutte quelle cose che vuoi fare. Hai messo dei pulsanti sul report, ma il report, che è un oggetto destinato alla sola VISUALIZZAZIONE e STAMPA, non sa cosa farsene dei tuoi pulsanti. Tu ci clicchi sopra, ma non potrai ottenere nulla...(tra l'altro io non ho mai capito (nei report) a cosa serve dare la possibilità all'utente di aggiungere pulsanti e altri oggetti su cui è impossibile interagire).
    Devi sforzarti di pensare il tutto con le maschere. Crei un look maschere analogo e il gioco è fatto.
    Comunque sia è importantissimo che tu conosca le relazioni. Oggi forse risolverai questo piccolo problema progettuale, ma domani, volendo evolvere il tuo database, non potrai andare lontano se non imposti correttamente STRUTTURE TABELLE e RELAZIONI.
  • Re: Creare collegamento tra report

    Ok, passetto in più: poniamo il caso che io con un pulsante all'interno della query1 (che sia una maschera, un report, una scheda, qualsiasi cosa) faccio partire una macro e al suo interno faccio memorizzare all'interno di una variabile CASS (con imposta TempVar), il valore del cassetto, poi è possibile far leggere quella variabile nella finestra parametro della query2??
    non so se mi sono spiegato... cioè se nell'inserimento manuale del campo cassetto scrivo "Like [inserisci cassetto]", c'è invece un modo per assegnargli il valore di tale variabile?

    PS non pensare stia ignorando i tuoi consigli, anzi, sto partendo da zero con guide e controguide per capire il più possibile delle basi!
  • Re: Creare collegamento tra report

    Per interagire l'utente DEVE usare le Maschere, questo è il primo ASSUNTO da cui devi partire, poi puoi fare tutti i voli pindarici che vuoi, ma parti da qualche cosa di SOLIDO.

    MsAccess come tutti gli strumenti di sviluppo necessida di essere usato secondo Logica, e per farlo serve consocerla, altrimenti i suggerimenti rischiano di non essere capiti, o dati per scontati, sottovalutati o nemmeno presi in considerazione...

    Se usi le maschere, la query con i Parametri andrà predisposta non più come hai fatto, ma in modo tale da prendere il parametro dalla Maschera di Inserimento opzioni.

    L'errore iniziale è non aver approfondito un MINIMO le basi tecniche, che presonalmente suggerisco di rivedere...
    A tal scopo forse un Libro da cui partire potrebbe aiutarti.
  • Re: Creare collegamento tra report

    Ho riguardato con attenzione la tua struttura tabelle. Non mi ero accorto che c'erano più errori di NORMALIZZAZIONE. Che vuol dire questa parolaccia? Che le tabelle vanno strutturate secondo alcune regole logiche di base. Questo thread non può proseguire senza solidi presupposti. Suggerimenti seri:
    1. Leggi manuale di base (già detto e ribadito...)
    2. Apri un nuovo thread nella sezione "Progettazione database" in cui descrivi il tuo scenario tabelle e chiedi che ti venga normalizzato...sento odore di altre tabelle...ma preferisco risponderti nella sezione appropriata
    3. Dopo aver normalizzato per bene, ti accorgerai tu stesso che cambierà nettamente il punto di vista e il da farsi conseguente...
  • Re: Creare collegamento tra report

    OK tabelle normalizzate!
  • Re: Creare collegamento tra report

    Ok risolto, ho creato pulsante nel corpo della maschera "Cartelle Maschera" (che apro scegliendo il numero del cassetto), evoco la maschera "Disegni Maschera" tramite macro:

    ImpostaTempVar CASS;[Maschere]![Cartelle Maschera]![IDCassetto]
    ImpostaTempVar CART;[Maschere]![Cartelle Maschera]![Numero]
    ApriMaschera Disegni Maschera (WHERE: [Disegni Query]![IDCassetto]=[TempVars]![CASS] And [Disegni Query]![NumeroCartella]=[TempVars]![CART])

    da report mi hanno mostrato che è uguale identico, semplicemente uso la sintassi "Report" al posto di "Maschera"/"Maschere"

    grazie a tutti dell'aiuto:)
  • Re: Creare collegamento tra report

    Re-uppo il post per fare un'altra domanda: siccome il database principale (disegni) è a malapena cominciato, circa 600 disegni su non so nemmeno io quanti, mi giunge la necessità di rendere l'inserimento di un nuovo disegno facile all'utente medio, quindi senza che abbia una conoscenza di access, tabelle, query.
    una volta che creo una semplice maschera di inserimento, come faccio a inserire il titolo del disegno in un determinato cassetto e una determinata cartella se fanno parte di altre tabelle?

    queste sono le relazioni fra campi che ho:
    relazioni.png
    relazioni.png

    il percorso che ho fatto fino ad ora è questo:
    pannello comandi principale: clicco sul cassetto numero 1 (lasciate perdere l'ordino grafico delle cose):
    cassetto.png
    cassetto.png

    clicco sulla cartella numero 1:
    cartella.png
    cartella.png

    mi scuso per la qualità delle immagini ma ho dovuto ridimensionarle con i mezzi a disposizione

    PS. ovviamente al pulsante indicato dalla freccia voglio associare la maschera sopra citata di inserimento nuovo disegno
Devi accedere o registrarti per scrivere nel forum
26 risposte