Portale (o altro) con righe correlate provenienti da più tabelle

Portale (o altro) con righe correlate provenienti da più tabelle

0
0

Buongiorno a tutti.
Con la speranza di non fare una richiesta banale, evidenzio il mio problema:
ho creato un DB con una serie di tabelle:
La principale (macchine) è quella della anagrafica articoli.
A questa seguono una serie di altre tabelle ognuna riferita a differenti tipi di manutenzione (gommista, officina meccanica, vetri, carrozzeria ecc.).
Le relazioni funzionano perfettamente e posso tranquillamente “movimentare” ogni macchina e creare più tipi di intervento per tenere sotto controllo la situazione del singolo articolo.
Qui nasce il problema:
Ogni singolo tipo di intervento è visualizzabile in un portale dedicato. Quello che serve a me sarebbe un portale o una “lista” da cui, con ordinamento di data, possa risalire alla cronologia interventi di ogni macchina, slegandoli da un a logica di tipologia.
Premetto che avrei potuto creare una sola tabella differenziando con un codice i vari interventi, ma mi è stato chiesto di poter tenere le tabelle divise (ci sono una serie di autorizzazioni da rispettare)
Spero di essere stato chiaro, grazie

Segnalato come spam
Pubblicata da (Domande: 5, Risposte: 9)
Domanda inviata 2 Agosto 2016 13:12
123 vis.
0
Domanda privata

Sono stato assente per n periodo.

Alla fine ho risolto proseguendo con lo script sul salvataggio record in ogni tabella. Il tempo era poco e ho semplicemente duplicato e modificato il primo formato è relativo script.

Ho tuttavia paura che possano crearsi problemi con l’utilizzo nel tempo del DB. Il collegamento tramite formati credo sia pericoloso, anche perché esistono più formati (diverse visualizzazioni ) per ogni tabella.

Nei prossimi giorni spero di riuscire a creare i campi chiave e legarli alla tabella generale.

Grazie per il supporto

Segnalata come spam
Pubblicata da (Domande: 5, Risposte: 9)
Risposta inviata 12 Agosto 2016 12:32
0
Domanda privata

calcola che la relazione diretta è sempre più veloce e performante della ricerca.
.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 4 Agosto 2016 10:11
0
Domanda privata

Ottima direi.
Io stavo invece impostando così:
Dopo la ricerca, imposto una opzione del tipo:
If [Get (ContoTrovati] = 0
Nuovo Record/Richiesta
Imposta … tutti i campi
Else If If [Get (ContoTrovati] > 0
Vai al record correlato …
Imposta Campo … vari campi.

Sembra funzionare, ma testerò meglio stasera.
grazie Giulio e buona giornata

Segnalata come spam
Pubblicata da (Domande: 5, Risposte: 9)
Risposta inviata 4 Agosto 2016 07:28
0
Domanda privata

Allora, secondo me ti manca un pezzo :)

ok per i punto 1 e 2, ma la tabella ”onnicomprensiva” secondo me deve essere in relazione con tutte le tabelle da cui prende i dati.

Buonasera, Giovanni.

io farei così: su ciascuna tabella terrei due campi: la chiave primaria (numerico, indicizzato, progressivo, unico) e un campo calcolato (testo, indicizzato) che puoi chiamare nometabella in cui inserirai il nome della tabella in cui si trova (es. ”gommista”).  Sulla tabella onnicomprensiva crei un campo manutenzione_id (numerico, indicizzato, NON unico) e un campo manutenzione_tabella (testo, indicizzato).

Dopodiché metti in relazione le singole tabelle  con la tabella onnicomprensiva per chiave primaria=manutenzione_id E nometabella=manutenzione_ tabella,  e selezioni il flag ”Consenti la creazione di record in questa tabella mediante questa relazione” dal lato della tabella onnicomprensiva.

A questo punto, non ti serve niente altro, non devi nemmeno uscirà dal formato con lo script trigger: ti limiti a impostare i campi della occorrenza della tabella manutenzione correlata al tuo formato. Dato che hai selezionato l’opzione ”consenti la creazione…” se il record già esiste viene aggiornato, se non esiste viene creato direttamente. Semplice e lineare :)

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 4 Agosto 2016 01:04
0
Domanda privata

Grazie Giulio
Stasera ho provato ad impostare una soluzione come quella da te suggerita.
Ho creato una tabella ed ho impostato i campi che mi interessa fare emergere (ovviamente i dati tecnici delle macchine non sono importanti in questa fase)
Ho quindi creato le relazioni tra la nuova tabella e quelle dei singoli interventi ed ho proceduto in questo modo:
1) – Creo tante variabili quanti sono i campi da ”esportare”
2) – Imposto Script Trigger che, sulla uscita dal formato che genera un intervento (gomme, vetri, carrozzeria ecc.), copia i vari dati tramite ”imposta campo”
Fin qui tutto regolare, al di la delle relazioni da ottimizzare in fatto di creazione ed eliminazione, ma quello si vedrà.
Il problema è un altro: la modifica di una scheda già fatta. Così impostata ovviamente mi crea un nuovo record, doppio, anche se il campo ”IdScheda” è stato impostato come ”valore unico”. La cosa ovviamente non va bene.
Ho pertanto modificato lo script: Creo una variabile con il numero di scheda; vado al formato ”nuovo”, eseguo una ricerca e poi VORREI che:
se trova lo stesso numero di scheda si limitasse ad aggiornare i dati (comunque imposta campo)
se non trova il numero crea un nuovo record.
Stringi stringi, alla fine, il problema nasce proprio quando non trova analogia e dovrebbe creare il nuovo record.
Come faccio ad uscire dalla maschera che avvisa di non aver trovato nessun record corrispondente?
spero di essere stato chiaro

Segnalata come spam
Pubblicata da (Domande: 5, Risposte: 9)
Risposta inviata 3 Agosto 2016 19:04
0
Domanda privata

Buongiorno, Giovanni.
non potendo utilizzare una sola tabella, dividendo i vari interventi mediante un campo tipologia, l’unica cosa è creare una tabella generale in cui travasare i vari interventi via script, e utilizzare quella (magari correlata 1 a 1 con il singolo intervento).

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 2 Agosto 2016 13:33