Seleziona le query in Access. Creazione di query in Microsoft Access

Soggetto: Creazione di relazioni tra tabelle. Creazione di una query di selezione, con un parametro e una query finale.

Apri il database creato nel lab precedente Preside della TF .

Creazione di relazioni tra tabelle

Selezionare un oggetto nella finestra del database Tabelle . Fare clic sul pulsante " schema dati " sulla barra degli strumenti o esegui il comando " Servizio »  « schema dati " utilizzando il menu dei comandi. Sullo schermo apparirà una finestra: schema dati " e finestra " Aggiunta tavoli "(Fig. 18).

Riso. 18. Finestra di dialogo Schema dati e finestra di dialogo Aggiungi tabella

Nella finestra " Aggiunta tavoli "sulla scheda" Tabelle » elenca tutte le tabelle del database. Per creare relazioni tra tabelle è necessario spostarle dal menu " Aggiunta tavoli "fuori dalla finestra" schema dati " Per trasferire una tabella, selezionarla con un clic del mouse e fare clic sul pulsante “ Aggiungere " Dopo aver trasferito le tabelle necessarie, chiudere la finestra " Aggiunta tavoli ».

Sposta tutte le tabelle nella finestra " schema dati " Ridimensiona le finestre della tabella in modo che tutto il testo sia visibile (Fig. 19).

Per creare una relazione tra tabelle Studenti E Giudizi secondo Schema dei dati è necessario spostare il cursore del mouse sul campo Codice studente sul tavolo Studenti e con il pulsante del mouse premuto, trascina questo campo sul campo Codice studente sul tavolo Giudizi , quindi rilasciare il pulsante del mouse. La finestra " Modifica connessioni "(Fig. 20).

Controlla l'immobile" Sicurezza integrità dati " cliccandoci sopra. Selezionare le caselle nelle proprietà " Cascata aggiornamento imparentato campi " E " Cascata cancellazione imparentato campi " Ciò ti consentirà di modificare i record solo nella tabella Studenti e nella tabella Giudizi queste azioni sui record collegati verranno eseguite automaticamente.

Per creare una connessione, fare clic sul pulsante " Creare ».

Riso. 19. Aspetto dello schema dei dati del database " Preside della TF» prima di effettuare i collegamenti

Riso. 20. Finestra di dialogo per specificare i parametri di connessione tra i campi della tabella

Allo stesso modo secondo Schema dei dati vengono create le connessioni tra le restanti tabelle (Fig. 21).

Riso. 21. Schema dei dati del database " Preside della TF»

Rispondi quando chiudi la finestra del diagramma dati alla domanda sul salvataggio del layout.

Le relazioni create tra le tabelle del database possono essere modificate.

Per modificare le connessioni è necessario chiamare la finestra " schema dati " Successivamente, posiziona il cursore del mouse sulla connessione che deve essere modificata e fai clic con il pulsante destro del mouse. Apparirà un menu contestuale (Fig. 22):

Riso. 22. Menu contestuale di comunicazione

Se selezioni il comando " Eliminare ", quindi dopo la conferma la connessione verrà eliminata. Se è necessario modificare la connessione, selezionare il comando " Modifica connessione " Successivamente, nella finestra che appare “ Modifica connessioni " (in alto) seleziona i campi delle tabelle che vuoi collegare e clicca sul pulsante " Creare ».

Richieste

Le query vengono utilizzate per selezionare o cercare dati da una o più tabelle. È possibile utilizzare le query per visualizzare, analizzare e modificare i dati di più tabelle. Vengono utilizzati anche come origine dati per moduli e report. Le query consentono di calcolare i totali e visualizzarli in un formato compatto, nonché di eseguire calcoli su gruppi di record.

Svilupperemo le richieste nella modalità progettista .

IN Accesso È possibile creare i seguenti tipi di query:

    Esempio di richiesta . Questo è il tipo di richiesta più comunemente utilizzato. Questo tipo di query restituisce dati da una o più tabelle e li visualizza come tabella. Le query di selezione possono essere utilizzate anche per raggruppare record e calcolare somme, medie, contare record e trovare altri tipi di totali. Per modificare le condizioni di selezione è necessario modificare la richiesta.

    Richiesta con parametri . Si tratta di un prompt che, una volta eseguito, visualizza una propria finestra di dialogo che richiede di inserire i dati o il valore che si desidera inserire in un campo. Questo dato o valore può cambiare ogni volta che viene effettuata la richiesta.

    Richiesta incrociata . Utilizzato per calcoli e presentazione dei dati in una struttura che ne facilita l'analisi. Una query di sezione trasversale calcola la somma, la media, il numero di valori o esegue altri calcoli statistici, quindi raggruppa i risultati in una tabella su due set di dati, uno che definisce le intestazioni di colonna e l'altro che definisce le intestazioni di riga.

    Richiesta di modifica . Si tratta di una query che modifica o sposta più record in un'unica operazione. Esistono quattro tipi di richieste di modifica:

1. Per eliminare una voce. Questa query elimina un gruppo di record da una o più tabelle.

2. Per aggiornare il record. Apporta modifiche generali a un gruppo di record in una o più tabelle. Consente di modificare i dati nelle tabelle.

3. Per aggiungere record. Aggiunge un gruppo di record da una o più tabelle alla fine di una o più tabelle.

4. Per creare una tabella. Crea una nuova tabella da tutti o parte dei dati di una o più tabelle.

    Richieste SQL . Creato utilizzando le istruzioni della lingua SQL , usato in DB .

Mi piacerebbe essere in grado di creare una query con parametri in MS Access 2003 e passare i valori di determinati elementi del modulo in quella query, quindi ottenere il set di risultati corrispondente ed eseguire alcuni calcoli di base con essi. Ti spiegherò brevemente come ottenere parametri di query da popolare con elementi del modulo. Se ho bisogno di usare VBA, va bene.

5 risposte

I riferimenti ai controlli di una videata possono essere utilizzati direttamente nelle query di Access, anche se è importante definirli come parametri (altrimenti i risultati ultime versioni L'accesso può essere imprevedibile se una volta era affidabile).

Ad esempio, se desideri filtrare una query in base al controllo LastName in MyForm, utilizzeresti questo come criterio:

Cognome = Moduli!MioForm!Cognome

PARAMETRI [!MyForm!] Testo (255); SELEZIONA tblCustomers.* DA tblCustomers DOVE tblCustomers.LastName=!;

Tuttavia, vorrei chiedere perché è necessaria una query memorizzata per questo scopo. Cosa fare con i risultati? Visualizzarli in un modulo o in un report? In tal caso, è possibile farlo nell'origine record del modulo/report e lasciare invariata la query salvata con i parametri in modo che possa essere utilizzata in altri contesti senza visualizzare una richiesta di popolamento dei parametri.

D'altra parte, se stai facendo qualcosa nel codice, scrivi semplicemente l'SQL al volo e usa il valore letterale del controllo del modulo per creare la clausola WHERE.

Ecco uno snippet di codice. Aggiorna la tabella utilizzando il parametro txtHospital:

Imposta db = CurrentDb Imposta qdf = db.QueryDefs("AddHospital") qdf.Parameters!txtHospital = Trim(Me.HospName) qdf.ReturnsRecords = False qdf.Execute dbFailOnError intResult = qdf.RecordsAffected

Ecco un esempio SQL:

PARAMETRI txtHospital Text(255); INSERISCI IN tblHospitals() VALORI()

Esistono tre modi tradizionali per aggirare questo problema:

  1. Impostare il parametro su un valore in modo che all'utente venga richiesto un valore durante l'esecuzione della query.
  2. Campo collegamento nel modulo (eventualmente nascosto)
  3. Crea la query al volo e non utilizzare parametri.

Penso che sia semplicemente sbagliato per me che tu debba inserire qualcosa come [?inserisci il codice ISO del paese] o collegamenti a campi nel tuo modulo come: !! .

Ciò significa che non possiamo riutilizzare la stessa query in più di un posto perché campi diversi forniscono i dati oppure dobbiamo fare affidamento sul fatto che l'utente non confonda l'immissione dei dati durante l'esecuzione della query. Per quanto ricordo, può essere difficile utilizzare lo stesso valore più di una volta con un parametro immesso dall'utente.

In genere sceglierei quest'ultima opzione, creerei la query al volo e aggiornerei l'oggetto della query secondo necessità. Tuttavia, questo è un attacco SQL injection comune (per errore o apposta conoscendo i miei utenti) ed è semplicemente osceno.

"Ed. Start - per completare l'esempio dim qryStartDate come data dim qryEndDate come data qryStartDate = #2001-01-01# qryEndDate = #2010-01-01# "Ed. Fine di "QUOTEING "stallion": Passare parametri a una query in VBA " è davvero molto semplice: "Per prima cosa imposteremo alcune variabili: Dim qdf As Querydef Dim rst As Recordset "poi apriremo la query: Set qdf = CurrentDB.QueryDefs(qryname) "Ora assegneremo valori alla query utilizzando l'opzione parametri: qdf.Parameters(0) = qryStartDate qdf.Parameters(1) = qryEndDate "Ora convertiremo la querydef in un recordset ed eseguilo Set rst = qdf.OpenRecordset "Esegui del codice sul recordset "Chiudi tutti gli oggetti rst.Close qdf.Close Set rst = Nothing Set qdf = Nothing

(Non l'ho testato personalmente, è solo qualcosa che ho raccolto durante i miei viaggi perché ogni tanto volevo farlo ma ho finito per usare uno dei miei kludge menzionati in precedenza)

modifica Finalmente ho avuto un motivo per usarlo. Ecco il codice vero e proprio.

"... Dim qdf As DAO.QueryDef Dim prmOne As DAO.Parameter Dim prmTwo As DAO.Parameter Dim rst as recordset "... "apri la query: Set qdf = db.QueryDefs("my_two_param_query") "params chiamati param_one e "param_two "collegano i tuoi DAP.Parameters alla query Set prmOne = qdf.Parameters!param_one Set prmTwo = qdf.Parameters!param_two "imposta i valori dei parametri prmOne = 1 prmTwo = 2 Set rst = qdf.OpenRecordset (dbOpenDynaset , _ dbSeeChanges) "... tratta il recordset come normale "assicurati di ripulirlo dopo te stesso Imposta rst = Niente Imposta prmOne = Niente Imposta prmTwo = Niente Imposta qdf = Niente

DoCmd.SetParameter "frontMthOffset", -3 DoCmd.SetParameter "endMthOffset", -2 DoCmd.OpenQuery "QryShowDifference_ValuesChangedBetweenSELECTEDMonths"

Dove Interrogazione SQL L'accesso include effettivamente SQL. Per esempio

"seleziona blah da miatabella dove dateoffset="

Tutto funziona e basta!

Facciamo un esempio. la richiesta parametrizzata si presenta così:

Seleziona Tbl_Country.* Da Tbl_Country WHERE id_Country = _ [?inserisci il codice ISO del paese]

e ti piacerebbe essere in grado di ottenere questo valore ([? inserisci... paese] uno) da un modulo in cui sono presenti controlli e alcuni dati. Beh... potrebbe essere possibile, ma richiede una certa normalizzazione del codice.

Una soluzione potrebbe essere quella di assegnare una logica ai controlli del modulo, come fid_Country per il controllo, che manterrebbe il valore id_Country. La tua query può quindi essere rappresentata come una stringa:

Qr = "Seleziona Tbl_Country.* Da Tbl_Country DOVE id_Country = "

Una volta inseriti tutti i dati richiesti nel modulo, cliccare sul pulsante “richiedi”. La logica esaminerà tutti i controlli e controllerà se sono presenti nella richiesta, eventualmente sostituendo il parametro con il valore del controllo:

Dim ctl come controllo Per ogni ctl in Me.controls Se instr(qr,"[" & ctl.name & "]") > 0 Allora qr = replace(qr,"[" & ctl.name & "]",ctl .value) End if Next i

In questo caso avrai una query completamente aggiornata, in cui i parametri verranno sostituiti con dati reali. A seconda del tipo fid_country (stringa, GUID, data e così via) potrebbe essere necessario aggiungerne altri virgolette o meno per ottenere la richiesta finale come:

Qr = "Seleziona Tbl_Country.* Da Tbl_Country DOVE id_Country = ""GB"""

Questa è una query completamente compatibile con Access che puoi utilizzare per aprire un recordset:

Imposta rsQuery = currentDb.openRecordset(qr)

Penso che tu abbia finito qui.

Questo argomento è fondamentale quando l'obiettivo è sviluppare applicazioni di Access. Devi offrire agli utenti modo standard richiedere loro dati GUI non solo per eseguire query, ma anche per filtrare moduli continui (proprio come fa Excel con l'opzione "filtro automatico") e gestire le opzioni dei report. Buona fortuna!

Soggetto: Creazione di relazioni tra tabelle. Creazione di una query di selezione, con un parametro e una query finale.

Apri il database creato nel lab precedente Preside della TF .

Creazione di relazioni tra tabelle

Selezionare un oggetto nella finestra del database Tabelle . Fare clic sul pulsante " schema dati " sulla barra degli strumenti o esegui il comando " Servizio »  « schema dati " utilizzando il menu dei comandi. Sullo schermo apparirà una finestra: schema dati " e finestra " Aggiunta tavoli "(Fig. 18).

Riso. 18. Finestra di dialogo Schema dati e finestra di dialogo Aggiungi tabella

Nella finestra " Aggiunta tavoli "sulla scheda" Tabelle » elenca tutte le tabelle del database. Per creare relazioni tra tabelle è necessario spostarle dal menu " Aggiunta tavoli "fuori dalla finestra" schema dati " Per trasferire una tabella, selezionarla con un clic del mouse e fare clic sul pulsante “ Aggiungere " Dopo aver trasferito le tabelle necessarie, chiudere la finestra " Aggiunta tavoli ».

Sposta tutte le tabelle nella finestra " schema dati " Ridimensiona le finestre della tabella in modo che tutto il testo sia visibile (Fig. 19).

Per creare una relazione tra tabelle Studenti E Giudizi secondo Schema dei dati è necessario spostare il cursore del mouse sul campo Codice studente sul tavolo Studenti e con il pulsante del mouse premuto, trascina questo campo sul campo Codice studente sul tavolo Giudizi , quindi rilasciare il pulsante del mouse. La finestra " Modifica connessioni "(Fig. 20).

Controlla l'immobile" Sicurezza integrità dati " cliccandoci sopra. Selezionare le caselle nelle proprietà " Cascata aggiornamento imparentato campi " E " Cascata cancellazione imparentato campi " Ciò ti consentirà di modificare i record solo nella tabella Studenti e nella tabella Giudizi queste azioni sui record collegati verranno eseguite automaticamente.

Per creare una connessione, fare clic sul pulsante " Creare ».

Riso. 19. Aspetto dello schema dei dati del database " Preside della TF» prima di effettuare i collegamenti

Riso. 20. Finestra di dialogo per specificare i parametri di connessione tra i campi della tabella

Allo stesso modo secondo Schema dei dati vengono create le connessioni tra le restanti tabelle (Fig. 21).

Riso. 21. Schema dei dati del database " Preside della TF»

Rispondi quando chiudi la finestra del diagramma dati alla domanda sul salvataggio del layout.

Le relazioni create tra le tabelle del database possono essere modificate.

Per modificare le connessioni è necessario chiamare la finestra " schema dati " Successivamente, posiziona il cursore del mouse sulla connessione che deve essere modificata e fai clic con il pulsante destro del mouse. Apparirà un menu contestuale (Fig. 22):

Riso. 22. Menu contestuale di comunicazione

Se selezioni il comando " Eliminare ", quindi dopo la conferma la connessione verrà eliminata. Se è necessario modificare la connessione, selezionare il comando " Modifica connessione " Successivamente, nella finestra che appare “ Modifica connessioni " (in alto) seleziona i campi delle tabelle che vuoi collegare e clicca sul pulsante " Creare ».

Richieste

Le query vengono utilizzate per selezionare o cercare dati da una o più tabelle. È possibile utilizzare le query per visualizzare, analizzare e modificare i dati di più tabelle. Vengono utilizzati anche come origine dati per moduli e report. Le query consentono di calcolare i totali e visualizzarli in un formato compatto, nonché di eseguire calcoli su gruppi di record.

Svilupperemo le richieste nella modalità progettista .

IN Accesso È possibile creare i seguenti tipi di query:

    Esempio di richiesta . Questo è il tipo di richiesta più comunemente utilizzato. Questo tipo di query restituisce dati da una o più tabelle e li visualizza come tabella. Le query di selezione possono essere utilizzate anche per raggruppare record e calcolare somme, medie, contare record e trovare altri tipi di totali. Per modificare le condizioni di selezione è necessario modificare la richiesta.

    Richiesta con parametri . Si tratta di un prompt che, una volta eseguito, visualizza una propria finestra di dialogo che richiede di inserire i dati o il valore che si desidera inserire in un campo. Questo dato o valore può cambiare ogni volta che viene effettuata la richiesta.

    Richiesta incrociata . Utilizzato per calcoli e presentazione dei dati in una struttura che ne facilita l'analisi. Una query di sezione trasversale calcola la somma, la media, il numero di valori o esegue altri calcoli statistici, quindi raggruppa i risultati in una tabella su due set di dati, uno che definisce le intestazioni di colonna e l'altro che definisce le intestazioni di riga.

    Richiesta di modifica . Si tratta di una query che modifica o sposta più record in un'unica operazione. Esistono quattro tipi di richieste di modifica:

1. Per eliminare una voce. Questa query elimina un gruppo di record da una o più tabelle.

2. Per aggiornare il record. Apporta modifiche generali a un gruppo di record in una o più tabelle. Consente di modificare i dati nelle tabelle.

3. Per aggiungere record. Aggiunge un gruppo di record da una o più tabelle alla fine di una o più tabelle.

4. Per creare una tabella. Crea una nuova tabella da tutti o parte dei dati di una o più tabelle.

    Richieste SQL . Creato utilizzando le istruzioni della lingua SQL , usato in DB .

Oggi inizieremo a considerare un'applicazione come − accesso Microsoft 2003 , che può creare i propri database ( formato mdb), nonché creare applicazioni client per database esistenti basati su MS server SQL. L'argomento dell'articolo di oggi riguarderà la creazione di nuove query da Access, ovvero sia query semplici che varie funzioni, visualizzazioni e procedure. Qui, una query si riferisce agli oggetti del database.

Informazioni su Microsoft Access

accesso MicrosoftSoftware Azienda Microsoft, che è un DBMS relazionale. Ha enormi capacità nell'organizzazione di un database, creando un'applicazione separata in grado di interagire con molti altri DBMS. La soluzione client-server più comune, dove il client è un'applicazione scritta in Access ( Linguaggio VBA, moduli e molto altro) e il server è il DBMS Microsoft SQL Server. Access supporta tuttavia anche l'interazione con altri DBMS, ad esempio MySql o PostgreSQL. Possiamo parlare a lungo di Access, ma lo scopo dell’articolo di oggi è proprio creare query ( oggetti) da Accesso.

Passiamo alla pratica e iniziamo con un semplice database mdb, ovvero come creare queste stesse query.

Creazione di query nel database Microsoft Access 2003 - MDB

Innanzitutto, apri il database, quindi fai clic sugli oggetti "Richieste" e premere il pulsante "Creare".

Nota! Ciò significa che hai già un database.

E davanti a te si aprirà una nuova finestra per selezionare il tipo di richiesta.

Esaminiamo ciascuno di questi tipi di richiesta in modo più dettagliato.

Tipi di query in Access 2003 - MDB

Costruttore- questo sta creando una richiesta basata sul costruttore, per così dire redattore grafico, ma puoi passare alla modalità SQL e scrivere il testo della query come al solito. Subito dopo il lancio, si aprirà una finestra in cui selezionare le tabelle necessarie o le query esistenti, poiché è possibile utilizzare anche le query esistenti per selezionare i dati necessari, è come se "prestazione".

Se non ti piace farlo in un editor grafico, puoi passare alla modalità SQL facendo clic sulla voce di menu "Visualizzazione", Poi "Modalità SQL".

Richiesta semplice- questo, si potrebbe dire, è lo stesso set di costruzioni, solo un tipo leggermente diverso e meno possibilità.

Richiesta incrociata– questa è la cosiddetta trasposizione della tabella, in altre parole, l'output dei dati che si trovano in colonne orizzontali, cioè Ciascun valore di una colonna verrà visualizzato orizzontalmente in una colonna separata. Tutto questo viene fatto con l'aiuto di una procedura guidata, quindi non dovrebbero esserci problemi.

Voci duplicate– come suggerisce il nome, si tratta di una ricerca di record duplicati.

Record senza subordinati– questa è una ricerca per quei record che mancano in una particolare tabella.

Con i database mdb è sufficiente, poiché sono usati raramente nelle aziende, di solito usano il seguente schema: scrivono un client separato e tutti i dati vengono archiviati sul server utilizzando un DBMS nel nostro caso - questo è MS SQL Server e il client è Access (.adp).

Creazione di query nel database Microsoft Access 2003 - MS SQL Server

Diamo un'occhiata alla creazione di nuove query da un client Access basato su MS SQL Server ( Si presuppone che tu abbia già un client adp e un database basato su MS SQL Server).

Nota! Questo articolo non implica l'apprendimento di SQL, quindi quando leggerai questo articolo dovresti già comprendere le basi di SQL e il concetto di oggetti di base nel database come: vista, funzione, procedura. Se sei completamente nuovo a questo, allora, ovviamente, ti consigliamo di padroneggiare SQL, poiché molti dei termini seguenti non ti saranno chiari. Articoli consigliati:

  • Cosa sono le viste VIEWS nei database? E perché sono necessari?

L'inizio è lo stesso, si apre il progetto, quindi si fa clic sugli oggetti "Richieste" e premere il pulsante "Creare".

E ora più nel dettaglio.

Tipi di query nel database Access 2003 - MS SQL Server

Costruttore di funzioni integrato- questa, si potrebbe dire, è una vista normale, è possibile passarvi solo i parametri, quindi alcune query vengono eseguite sul server e viene restituita una tabella. È un tipo di funzione che restituisce i dati sotto forma di tabella. Viene affrontato come segue ( se parliamo di sql):

SELEZIONA * DA my_test_tabl_func(par1, par2 ……)

Dopo aver cliccato su "OK" Per creare questa funzione, vedrai la finestra già familiare per aggiungere tabelle e viste esistenti. Ma di solito chiudo questa finestra e scrivo manualmente la richiesta in un campo apposito, per visualizzare questo campo fare clic su quanto segue sul pannello:

Quindi, se desideri aggiungere parametri in entrata, puoi semplicemente inserire il segno @ e il nome della variabile nella condizione, ad esempio, in questo modo:

SELECT * FROM tabella WHERE kod = @par

Successivamente sul pannello nelle proprietà della funzione

sulla scheda "parametri funzione" appariranno i parametri che hai specificato e dovranno essere trasmessi nell'ordine in cui sono qui indicati.

Visualizza costruttore- questa è la creazione di un'idea ordinaria tra la gente comune "Vyuha".

Costruttore di procedure memorizzate– creando una procedura utilizzando un costruttore, il principio è lo stesso delle funzioni precedenti. Permettimi di ricordarti che la procedura è un set istruzioni SQL, sia per il campionamento che per la modifica dei dati.

Immissione di una procedura memorizzata– si tratta della creazione di una procedura utilizzando un editor di testo, ad es. creazione di una procedura puramente manuale. Alla fine, è la stessa cosa che usare il costruttore. Quando si creano oggetti in editor di testo Il modello di creazione è già creato automaticamente dall'accesso.

Immissione di una funzione scalare sta creando una funzione che restituisce un valore. Creato utilizzando un editor di testo.

Immissione di una funzione di tabella sta creando una funzione che restituirà una serie di record. Sembra una funzione integrata.

Per distinguerli nel client di accesso, hanno icone diverse, le stesse che vedi quando crei questo o quell'oggetto.

Quando crei tutti questi oggetti, vengono salvati sul server e puoi utilizzarli non solo dal tuo progetto adp, ma anche da altri client.

Naturalmente è possibile creare tutti questi oggetti sul server utilizzando, ad esempio, Enterprise Manager ( deprecato, ora SQL Server Studio Direzionale ), ma oggi stiamo valutando la possibilità di creare questi oggetti dal client di accesso.

Per le basi, penso che questo sia sufficiente, se ne parliamo più in dettaglio, non entrerà in un articolo, ma mi sembra che questo sia sufficiente per creare determinate richieste. Ma se hai domande sulla creazione di una particolare funzione o procedura, chiedile nei commenti, cercherò di aiutarti.

Scopo del lavoro: Studio di tecniche per la costruzione e l'utilizzo di query per selezionare i dati.

Prima dell'esecuzione lavoro di laboratorioÈ necessario studiare le seguenti sezioni:

Tipologie di richieste;

Creazione di query in modalità progettazione;

Regole per la registrazione delle condizioni di selezione dei dati;

Utilizzo delle funzioni integrate;

Creazione di campi calcolati;

Utilizzo di moduli di input/output dati;

Creazione di query incrociate e attive.

Attività 1: crea una query semplice.

1. Aprire il database Istituto.

2. Fare clic nella finestra del database sull'oggetto Query.

3. Nella finestra Query, fare clic sul pulsante Crea.

4. Nella finestra Nuova query, selezionare Progettazione e fare clic su Ok.

5. Nella finestra Aggiungi tabella, aggiungi tutte e quattro le tabelle e chiudi la finestra.

6. Modificare la dimensione e la posizione delle finestre della tabella nel diagramma dei dati.

7. Trascinare i nomi dei campi corrispondenti (nome della facoltà, gruppo N, nome della specialità, registro dei voti N, nome completo) dalle finestre della tabella al modulo di richiesta situato sotto lo schema dei dati, rispettando l'ordine specificato. Utilizza una colonna del modulo per ogni campo che deve essere incluso nella selezione.

8. Visualizzare la selezione eseguendo il comando VISUALIZZA/Modalità tabella o facendo clic sul pulsante Visualizza nella barra degli strumenti.

9. Tornare alla modalità Progettazione query se la selezione contiene errori e correggere la query.

10. Chiudi la richiesta. Apparirà una finestra di dialogo che ti chiederà di confermare se desideri salvarlo. Denominare la query Select1.

Compito 2. Creare una query semplice per recuperare informazioni dal database, includendo gli stessi campi della query precedente, ma contenente solo informazioni sugli studenti commerciali. Tale richiesta viene chiamata richiesta condizionale.

1. Nella finestra del database, copiare la query Seleziona1 trascinando l'icona della query mentre si preme il tasto Ctrl.

2. Rinominare la query in Seleziona per commerciale. Per fare ciò, fare clic con il pulsante destro del mouse sul nome della richiesta e selezionare menù contestuale Rinomina elemento.

3. Aprire la query in visualizzazione struttura. Aggiungi il campo Commerciale alla tua richiesta.

4. Immettere il valore Sì nel campo Condizione di selezione per il campo Commerciale.

5. Disabilitare la visualizzazione quando viene richiesto il valore del campo Commerciale. Per fare ciò, disattiva la casella di controllo di visualizzazione per questo campo.

6. Sfoglia la selezione facendo clic sul pulsante Esegui sulla barra degli strumenti.

7. Chiudere la richiesta, salvando il layout della richiesta.

Compito 3. Crea una query per trovare il cognome e il numero di registrazione dello studente più giovane in uno dei gruppi.


1. Nella finestra Database, fare clic sul pulsante Crea e selezionare l'opzione Progettazione.

2. Nella finestra Aggiungi tabella, seleziona la tabella Studente. Inserisci tutti i campi di questa tabella nel modulo di richiesta. Per fare ciò, seleziona prima tutti i campi nel diagramma dati utilizzando il tasto Maiusc, quindi trascinali sulla prima riga del modulo di descrizione della richiesta.

3. Immettere un'espressione formula nel campo Condizione di selezione per il campo Data di nascita in base all'attività. Utilizzare lo strumento Generatore di espressioni di Access. Per fare ciò, posizionare il cursore nella cella corrispondente della tabella di descrizione della richiesta e fare clic sul pulsante Crea nella barra degli strumenti.

4. Nella finestra Generatore di espressioni, immettere il nome della funzione DMax. A tale scopo, espandere l'elenco Funzioni nel riquadro sinistro del builder e selezionare Funzioni integrate. Successivamente, nella sottofinestra centrale, seleziona la categoria di funzione Per sottoinsieme e, nella sottofinestra destra, seleziona la funzione DMax(). La funzione corrispondente apparirà nella finestra principale del builder con i suoi argomenti indicati.

5. Rimuovere il primo argomento della funzione e inserire al suo posto il nome del campo Data di nascita, sia tramite immissione diretta da tastiera, sia facendo clic sull'elenco Tabelle nel riquadro di sinistra, quindi selezionando la tabella Studente e il campo dentro. In quest'ultimo caso, è necessario rimuovere la parte inutilizzata della riga Expression. Successivamente, inserisci i valori degli argomenti rimanenti della funzione, in modo che la funzione assuma la seguente forma finale: DMax("[Data di nascita]";"Studente";"=851")

6. Per scrivere la funzione nella cella della tabella di descrizione della richiesta, fare clic sul pulsante Ok. Chiudi la richiesta salvando il layout e rinominandolo Youngest Student Sample. Visualizza il risultato di una query facendo doppio clic sul suo nome nella finestra del database.

7. Dimostra il risultato del tuo lavoro all'insegnante.

Compito 4. Crea una query per contare il numero di studenti di commercio in ciascun gruppo.

1. Crea nuova richiesta utilizzando le tabelle Facoltà, Gruppo, Studente.

3. Impostare la condizione di selezione per la 3a colonna su Sì.

4. Imposta la prima e la seconda colonna del modulo in modo che siano ordinate in ordine crescente.

5. Disabilitare la visualizzazione dei dati della terza colonna.

6. Inserisci il campo Commerciale nella quarta colonna e sostituisci il nome della colonna con Numero di commerciale. Per fare ciò, la cella con il nome del campo deve contenere: Numero di pubblicità: Commerciale (i nomi delle colonne nuove e vecchie sono separati da due punti)

7. Facendo clic sul pulsante della barra degli strumenti Operazioni di gruppo, aggiungere la riga Operazione di gruppo al modulo e selezionare l'operazione Conteggio dall'elenco per la quarta colonna.

8. Visualizzare la selezione totale facendo clic sul pulsante Esegui nella barra degli strumenti o eseguendo il comando QUERY/Esegui.

9. Tornare alla modalità Progettazione query facendo clic sul pulsante Visualizzazione dashboard.

10. Salvare la richiesta assegnandole il nome Conteggio commerciali per gruppi.

Compito 5. Crea una query che ti consenta di visualizzare un campione che riflette il numero di studenti commerciali per ciascuna facoltà e ciascun gruppo. Le intestazioni delle colonne dovrebbero corrispondere ai nomi delle facoltà, le intestazioni delle righe dovrebbero corrispondere ai numeri dei gruppi. Il campione dovrebbe contenere anche una colonna riassuntiva con il numero totale di studenti di commercio in ciascun dipartimento. Questo tipo di campionamento può essere implementato con una query incrociata. Per applicare tale query, è auspicabile avere nel database informazioni su 5-6 gruppi di studenti che studiano in 3 facoltà.

1. Utilizzando il designer, creare una nuova query utilizzando le tabelle Facoltà, Gruppo, Studenti.

2. Inserisci il campo Nome Facoltà nella 1a colonna del modulo di richiesta, il campo Gruppo N nella 2a colonna e il campo Commerciale nella 3a colonna.

3. Eseguire il comando QUERY/Cross oppure fare clic sul pulsante della barra degli strumenti Tipo query e selezionare Cross dall'elenco.

4. Selezionare i valori nella riga del modulo della tabella a campi incrociati espandendo l'elenco nelle celle: per la prima colonna Intestazioni riga, per la seconda colonna – Intestazioni colonna, per la terza colonna – Valore.

5. Selezionare nella terza colonna la funzione Conteggio per l'operazione di gruppo.

6. Visualizzare il campione incrociato facendo clic sul pulsante Esegui.

7. Per creare una colonna di riepilogo, tornare in modalità progettazione e inserire un altro campo Commerciale nel modulo di richiesta. Immettere il nome della colonna Totale prima del nome di questo campo: nella riga Operazione di gruppo selezionare Conteggio e nella riga Tabella a campi incrociati selezionare Intestazioni di riga.

8. In modalità tabella, ridurre la larghezza delle colonne della tabella di selezione. Per fare ciò, seleziona le colonne con i dati in gruppi ed esegui il comando FORMATO/Larghezza colonna/Adatta a larghezza dati.

9. Visualizza la selezione modificata e salva la richiesta, assegnandole il nome Numero spot per gruppi e facoltà.

10. Una vista approssimativa di un campione in sezione trasversale è mostrata in Fig. 1.

Fig. 1. - Campionamento incrociato del numero di studenti commerciali per gruppi e facoltà.

Compito 6. Scrivere una query per elencare elenchi di gruppi, con il numero del gruppo richiesto come parte della query. Tale richiesta viene chiamata richiesta con parametro. Il parametro è il numero del gruppo. Il valore del parametro viene immesso nella finestra di dialogo. Per creare una richiesta è necessario inserire il testo della condizione di selezione tra parentesi quadre nella cella con la condizione.

1. Utilizzando la finestra di progettazione, creare una nuova query utilizzando una tabella Studente.

2. Compila tutti i campi della tabella nella 1a riga del modulo di richiesta.

3. Immettere il testo nella cella della riga Condizione di selezione per il campo N gruppo: [Inserire il numero del gruppo]

4. Eseguire la richiesta e inserire il numero di uno dei gruppi nella finestra di dialogo che appare. Sfoglia la selezione. Salvare la richiesta e denominarla Query con parametro.

5. Dimostra il risultato del tuo lavoro all'insegnante.




Superiore