Query parametrizzate
Introduzione
Una query con parametri è una query a cui manca un valore in un criterio. La parola "mancante" qui sembra negativa per indicare qualcosa di negativo nella query, ma non è così. La query viene creata appositamente in questo modo in modo che venga fornito un valore al suo filtro. Al momento della creazione della query, il filtro è impostato in un determinato modo.
Una query con parametri è una query a cui manca un valore in un criterio. La parola "mancante" qui sembra negativa per indicare qualcosa di negativo nella query, ma non è così. La query viene creata appositamente in questo modo in modo che venga fornito un valore al suo filtro. Al momento della creazione della query, il filtro è impostato in un determinato modo. Quando la query viene eseguita, è necessario fornire il valore mancante per completare il criterio, quindi la query è completa e viene prodotto il risultato della query. Nella maggior parte dei casi, viene creata una query parametrizzata in modo che l'utente debba specificare i record specifici da produrre.
Sebbene sia stato specificato che la query è parametrizzata, in realtà è l'istruzione SQL ad essere parametrizzata. Ciò significa che è possibile creare un'espressione SQL utilizzata come origine record di un modulo o report, ma obbligare l'utente a fornire le informazioni mancanti in modo che il modulo o il report visualizzi solo i record che utilizzano quel valore.
Apprendimento pratico:Introduzione alle query parametrizzate
- Avvia Microsoft Access
- Nell'elenco dei file, fai clic su Altair Realtors3 dalla lezione precedente
- Nella barra multifunzione, fai clic su Crea e fai clic su Progettazione query
- Nella finestra di dialogo Mostra tabella, fare clic su Proprietà, fare clic su Aggiungi e fare clic su Chiudi
- Nell'elenco in alto, fai doppio clic su PropertyNumber, PropertyType, City, Bedrooms, Bathrooms, FinishedBasement, IndoorGarage, Condition e MarketValue
- Per visualizzare i risultati, nella barra di stato, fare clic sul pulsante Foglio dati
- Se necessario, sulla barra multifunzione, fare clic su Home.
Modifica le seguenti caratteristiche:
Nome carattere:Calisto MT (se non hai quel carattere, seleziona Times New Roman)
Colore di sfondo:verde, accento 6, più chiaro 40% (colori del tema:10a colonna, 4a riga)
Colore riga alternativo:verde, accento 6, più chiaro 80% (colori tema:10a colonna, 2a riga) - Dopo aver visualizzato il risultato, nella sezione Viste della barra multifunzione, fai clic sulla freccia sotto il pulsante Visualizza e fai clic su Vista SQL
- Modificare l'istruzione SQL come segue:
SELECT Properties.PropertyNumber, Properties.PropertyType AS [Property Type], Properties.City, Properties.Bedrooms AS Beds, Properties.Bathrooms AS Baths, Properties.FinishedBasement AS [Basement?], Properties.IndoorGarage AS [Garage?], Properties.Condition, Properties.MarketValue AS [Market Value] FROM Properties;
- Visualizza la visualizzazione struttura della query
Creazione di una query parametrizzata
Quando si crea una query con parametri, è necessario fornirle un parametro. Per procedere, apri la query in Visualizzazione Progettazione e seleziona le colonne necessarie. Nella casella Criteri del campo che conterrà i criteri, digitare le parentesi quadre[]. Tra parentesi, inserisci tutto quello che vuoi, come un messaggio o una domanda. Il messaggio o la domanda verrà presentato all'utente che deve digitare un valore in una casella di testo. Una volta che l'utente fornisce il valore e fa clic su OK o preme Invio, la query verrà eseguita.
Apprendimento pratico:creazione di un'espressione SQL parametrizzata
- Fai clic sulla casella Criteri per la colonna PropertyNumber e digita:[Inserisci il numero di proprietà da visualizzare:]
- Passa la query a Visualizzazione foglio dati per visualizzare il risultato
- Inserisci il numero della proprietà come 192703
- Fai clic su OK
- Torna alla vista Design
- Elimina [Inserisci la proprietà # da visualizzare:]
- Fai clic sulla casella Criteri per la colonna Tipo di proprietà e digita:[Inserisci il tipo di proprietà che desideri visualizzare:]
- Passa la query a Visualizzazione foglio dati per visualizzare il risultato
- Inserisci il tipo di proprietà come casa a schiera
- Premere Invio
- Torna alla vista Design
Congiunzione parametrizzata
È possibile creare una query con parametri che poneva due o più domande che devono essere combinate per completare la query. Per fare ciò, nella Visualizzazione struttura della query, inserisci un messaggio per la casella Criteri di ciascuna colonna.
Apprendimento pratico:creazione di una disgiunzione parametrizzata
- Fai clic sulla casella Criteri per la colonna Camere da letto e digita [Quante camere hai bisogno?]
- Passa la query a Visualizzazione foglio dati per visualizzare il risultato
- Inserisci il tipo di proprietà come unifamiliare e premi Invio
- Inserisci il numero di camere da letto come 5 e premere Invio
- Torna alla vista Design
- Elimina [Quante camere da letto hai bisogno?]
Disgiunzione parametrizzata
Una disgiunzione parametrizzata richiede due o più valori. La query produce tutti i record che includono uno qualsiasi dei valori. Per creare una tale query parametrizzata, aggiungere la prima domanda o messaggio alla casella Criteri del campo desiderato. Quindi aggiungi il secondo messaggio o domanda alla casella O della stessa colonna. Se hai bisogno di valori aggiuntivi, inserisci le loro domande o messaggi nelle caselle sotto la cella O della stessa colonna.
Apprendimento pratico:creazione di una disgiunzione parametrizzata
- Fai clic sulla casella O della colonna Tipo di proprietà e digita [Quale altro tipo di proprietà vuoi vedere?]
- Passa la query a Visualizzazione foglio dati per visualizzare il risultato
- Inserisci il primo tipo di proprietà come casa a schiera e premi Invio
- Inserisci il secondo tipo di proprietà come unifamiliare e premere Invio
- Chiudi la query senza salvarla
Query di azione
Introduzione
Microsoft Access fornisce alcune query già pronte che consentono di eseguire azioni semi-complesse su tabelle esistenti. Le azioni vengono eseguite come query. Quando si utilizza una query di azione, non si crea una query regolare in senso stretto. La maggior parte di queste query sono generalmente utili solo una volta. Per questo motivo, difficilmente avrai bisogno di salvarli.
La query di azione Crea tabella
Invece di creare prima una tabella e poi riempirla con valori, se disponi già di valori memorizzati in una tabella, Microsoft Access ti consente di creare una nuova tabella riempita con valori da quella tabella.
Usando le query, ci sono due tecniche principali che puoi usare per creare una nuova tabella per il tuo database. Microsoft Access fornisce una tecnica denominata Crea query tabella. Questo tipo di query viene utilizzato per recuperare tutti o alcuni campi di una tabella esistente e, invece di creare una nuova query che dipende da una tabella esistente, otterresti una tabella nuova di zecca, indipendente da qualsiasi tabella esistente. Questo tipo di azione ti consente di creare una nuova tabella in base a una regola applicata a una tabella esistente.
Per creare una tabella utilizzando una query di Microsoft Access, avviare una nuova query in visualizzazione struttura. Quindi, nella sezione Tipo di query della barra multifunzione, fare clic sul pulsante Crea tabella . Questo ti presenterebbe una finestra di dialogo Crea tabella che ti consente di specificare un nuovo nome per la query o di selezionare una tabella esistente che riceverà i nuovi dati.
Apprendimento pratico:utilizzo di query Make-Table
- Il database di Altair Realtors3 dovrebbe essere ancora aperto.
Sulla barra multifunzione, fai clic su Crea e, nella sezione Query, fai clic su Query Design - Nella finestra di dialogo Mostra tabelle, fare clic su Proprietà, fare clic su Aggiungi e quindi su Chiudi
- Nella sezione Tipo di query della barra multifunzione, fai clic sul pulsante Crea tabella
- Nella casella combinata Nome tabella, digita Condomini come nome del tavolo
- Assicurati che il pulsante di opzione Database corrente sia selezionato e fai clic su OK
- Nell'elenco delle proprietà, fare doppio clic su PropertyNumber, PropertyType, City, Località, State, Bedrooms, Bathrooms, FinishedBasement, IndoorGarage, Condition e MarketValue
- Nella parte inferiore della finestra, fai clic sulla casella Criteri per la colonna PropertyType e digita condominio
- Fai clic sulla casella di controllo di Mostra per rimuovere il segno di spunta
- Per creare la tabella, sulla barra multifunzione, fare clic sul pulsante Esegui
- Riceverai un messaggio
- Leggilo e fai clic su Sì
- Chiudi la query senza salvarla
- Nel riquadro di spostamento, fare doppio clic sulla tabella Condomini
- Chiudi il tavolo
La query di aggiornamento
Se si dispone di un elenco di grandi dimensioni e molti record devono ricevere una modifica comune, è possibile creare una query speciale denominata Aggiorna query. Una query di aggiornamento consente di modificare i valori esistenti di una o più colonne di una tabella. In altre parole, puoi recuperare i valori che sono già nei campi di una tabella, modificare questi valori e salvare la tabella con essi.
Per creare una query di accodamento, avviare una query nella visualizzazione struttura. Nella sezione Tipo di query della barra multifunzione, fare clic sul pulsante Aggiorna . Durante la creazione della query, sarà necessario impostare una condizione che verrà applicata da Microsoft Access a una tabella per scoprire quali record devono essere aggiornati. Per fare ciò, utilizzi la casella Criteri di una colonna, proprio come abbiamo appreso durante l'analisi dei dati.
Apprendimento pratico:aggiornamento dei record
- Apri il database Metro System1 dalla lezione 18
- Nel riquadro di spostamento, fare doppio clic sulla tabella Silver Line per visualizzarne i record
- Chiudi il tavolo
- Nella barra multifunzione, fai clic su Crea e, nella sezione Query, fai clic su Query Design
- Nella finestra di dialogo Mostra tabelle, fare clic su Silver Line, fare clic su Aggiungi e quindi su Chiudi
- Nella sezione Tipo di query della barra multifunzione, fare clic sul pulsante Aggiorna
- Nell'elenco in alto, fai doppio clic su MetroLine
- Nella parte inferiore della finestra, fai clic sulla casella Criteri per la colonna MetroLine e digita Argento
- Per eseguire l'azione, sulla barra multifunzione, fare clic sul pulsante Esegui
- Riceverai una finestra di messaggio
- Chiudi la query senza salvarla
- Nel riquadro di spostamento, fai doppio clic sulla tabella Silver Line per esaminarla
- Chiudi il tavolo
Una query di accodamento
Se hai una tabella con un numero significativo di record e devi aggiungere quei record a un'altra tabella, il lavoro può diventare estenuante. Microsoft Access fornisce una funzionalità per creare una query speciale che può essere utilizzata per aggiungere molti record a una tabella in un solo passaggio.
Una query di accodamento consente di aggiungere record a una tabella esistente ma non di creare i record. Devono essere recuperati da una tabella e aggiunti a un'altra tabella.
Per creare una query di accodamento, avviare una query nella visualizzazione struttura. Nella sezione Tipo di query della barra multifunzione, fare clic sul pulsante Aggiungi . Ti verrà presentata una finestra di dialogo che ti chiede di selezionare la tabella a cui aggiungere i record o di specificare il nome di una nuova tabella che riceverà i record. Se desideri aggiungere i record a una tabella esistente, puoi selezionarla dalla casella combinata.
Come puoi immaginare, aggiungere un record consiste nell'aggiungere un record a una tabella. Se vuoi farlo in SQL, crea semplicemente un INSERT dichiarazione.
Apprendimento pratico:aggiunta di record
- Il database Metro System1 dovrebbe essere ancora aperto.
Nel riquadro di navigazione, fai doppio clic sulla tabella MetroStations e scorri fino in fondo nell'elenco - Nota che non ci sono stazioni per la linea Silver.
Chiudi la tabella - Nella barra multifunzione, fai clic su Crea e, nella sezione Query, fai clic su Query Design
- Nella finestra di dialogo Mostra tabella, fai clic su Silver Line, fai clic su Aggiungi e fai clic su Chiudi
- Nella sezione Tipo di query della barra multifunzione, fai clic sul pulsante Aggiungi
- Nella finestra di dialogo Aggiungi, fare clic sulla freccia della casella combinata Nome tabella e selezionare MetroStations
- Fai clic su OK
- Nell'elenco in alto, fai doppio clic su StationNumber, StationName, MetroLine e Location
- Per eseguire la query, sulla barra multifunzione, fare clic sul pulsante Esegui
- Leggi il messaggio:
- Chiudi la query senza salvarla
- Nel riquadro di navigazione, fai doppio clic sulla tabella MetroStations e scorri fino in fondo nell'elenco
- Nota che ora contiene stazioni per la linea Silver.
Chiudi la tabella
La query di eliminazione
Se si dispone di alcuni record che devono essere rimossi da una tabella, Microsoft Access fornisce varie tecniche per eliminare tali record. Per eliminare un gruppo di record in un'unica azione, puoi creare una query speciale denominata Elimina query.
Come tutte le altre query di azione, una query di eliminazione consente di selezionare i campi necessari di una tabella. La prima differenza tra questa e la query di selezione è che la query di eliminazione, come tutte le altre query di azione, seleziona o considera tutti i campi, anche quelli non inclusi nell'estratto conto. Le altre colonne sono quelle che verrebbero utilizzate per specificare le regole in base alle quali un record deve essere eliminato.
È possibile utilizzare uno o più criteri per impostare la regola da seguire per eliminare (a) record. Come la maggior parte delle altre query di azione, l'azione di una query di eliminazione è irreversibile.
Apprendimento pratico:eliminazione dei record del database
- Il database Metro System1 dovrebbe essere ancora aperto.
Nel riquadro di navigazione, fai doppio clic sulla tabella MetroStations per aprirla - Scorri verso il basso e nota che alcune stazioni sono per la linea Maroon, ma sappiamo che non esiste una linea metropolitana Maroon
- Chiudi la tabella MetroStations
- Nella barra multifunzione, fai clic su Crea e, nella sezione Query, fai clic su Query Design
- Nella finestra di dialogo Mostra tabelle, fare clic su MetroStation, fare clic su Aggiungi e quindi su Chiudi
- Nella sezione Tipo di query della barra multifunzione, fare clic sul pulsante Elimina
- Nell'elenco in alto, fai doppio clic su MetroLine
- Nella parte inferiore, fai clic sulla casella Criteri per la colonna e digita marrone
- Per eseguire l'azione, sulla barra multifunzione, fare clic sul pulsante Esegui
- Riceverai una finestra di messaggio
- Leggilo e fai clic su Sì
- Nel riquadro di navigazione, fai doppio clic sulla tabella MetroStations per aprirla
- Scorri verso il basso e nota che non ci sono più stazioni Maroon
- Chiudi la tabella MetroStations
- Chiudi il tavolo
Operazioni speciali sulle query
Unire i record di molte tabelle
Se disponi di varie tabelle, puoi creare una query che combini i loro record in modo da poter esaminare tali record quando vengono messi insieme. Per aiutarti in questo, SQL fornisce un operatore chiamato UNION . La formula principale per usarlo è:
SELECT columns-names FROM table-name1 UNION [ALL] SELECT columns-names FROM table-name2
Thyis equivale a creare due SELECT dichiarazioni. Ciascuno contiene alcune colonne e una tabella. Entrambe le istruzioni devono contenere lo stesso numero di colonne. I tipi di dati delle colonne su ciascuna posizione devono essere compatibili.
Apprendimento pratico:unire i record di molte tabelle
- Apri il database Ceil Inn3 dalla lezione 40
- Nella barra multifunzione, fai clic su Crea e, nella sezione Query, fai clic su Query Design
- Nella finestra di dialogo Mostra tabella, fare doppio clic su Dipendenti e impiegati
- Fai clic su Chiudi
- Negli elenchi Dipendenti, fai doppio clic su Numeroimpiegato, Nome e Cognome
- Nell'elenco Impiegati, fare doppio clic su Impiegato, Nome e Cognome
- Fai clic con il pulsante destro del mouse sulla finestra della query e fai clic su Vista SQL
- Modificare l'istruzione SQL come segue:
SELECT Employees.EmployeeNumber, Employees.FirstName, Employees.LastName FROM Employees UNION SELECT Clerks.ClerkCode, Clerks.FirstName, Clerks.LastName FROM Clerks;
- Per eseguire la query, fare clic sul pulsante Esegui
- Chiudi la query
- Quando ti viene chiesto se desideri salvare, fai clic su No
Selezione in una tabella
Se hai dei record in una tabella esistente, puoi copiare tutti o alcuni di quei record per inserirli in una nuova tabella che crei. Per fare ciò, la formula da seguire è:
SELECT fields INTO new-table-name FROM existing-table [WHERE condition]
Per utilizzare tutte le colonne e tutti i record, inizia con SELECT operatore, seguito da *, seguito da INTO , seguito da un nome per la tabella che desideri creare, seguito da DA e il nome della tabella originale che contiene i record. Ecco un esempio:
SELECT * INTO CompanyRecipients FROM Employees;
Invece di utilizzare tutte le colonne, puoi specificare solo il campo desiderato dopo SELECT parola chiave. Ecco un esempio:
SELECT EmployeeNumber, LastName, FirstName, EmploymentStatus INTO Salaried FROM Employees;
Invece di utilizzare tutti i record, puoi utilizzare una condizione in base alla quale i record verrebbero selezionati e aggiunti alla nuova tabella che stai creando. Per impostare la condizione, puoi creare un WHERE dichiarazione come l'ultima nell'intera espressione. Ecco un esempio:
SELECT * INTO FullTimeEmployees FROM Employees WHERE EmploymentStatus = 'Full Time';
Rimozione di tutti i record da una tabella
In SQL, per rimuovere tutti i record da una tabella, utilizzare DELETE comando. La formula da seguire è:
DELETE columns-names FROM table-name;
Normalmente, usi * come nomi-colonne . Il nome-tabella parametro deve essere un nome valido di una tabella del database corrente. Ecco un esempio:
DELETE * FROM States;
Quando esegui, riceverai un avviso:
Se fai clic su Sì, tutti i record dalla tabella verranno rimossi.
Eliminazione di alcuni recordx
Per eliminare uno o più record, aggiungi un WHERE condizione a un CANCELLA comando. La formula da seguire è:
DELETE columns-names FROM table-name WHERE condition;
Il DOVE La clausola specifica la condizione in base alla quale alcuni record verranno eliminati. Ecco un esempio:
DELETE * FROM [Staff Members] WHERE [Marital Status] = "Single";
Ancora una volta, quando esegui, riceverai un avviso che ti permetterà di decidere se vuoi continuare l'operazione.
Apprendimento pratico:conclusione della lezione
- Chiudi Microsoft Access