PDA

View Full Version : [ACCESS] Query di accodamento - accodare righe derivanti da SELECT differenti


elianalaz
14-07-2011, 16:26
Ciao a tutti!
Devo creare una query di accodamento in access per inserire 2 righe in una tabella. Le righe da inserire però derivano da diverse SELECT.

Mi spiego meglio...

Io vorrei usare la query di accodamento per accodare 2 righe nelle quali alcuni campi sono passati come parametro e altri campi sono costanti.

In particolare,
la tabella contiene i campi:
OperationID,PatientID, UserID, Depth, Effect

Io vorrei che la query accodasse le seguenti righe:
OperationID, PatientID, UserID, Depth, Effect
Read, [PatientID], [UserID], 0, Grant
RecordViewing, [PatientID], [UserID], (Depth-1), Grant

con [PatientID] e [UserID] passati come parametro dall'utente.

E' possibile?

Ho provato con le operazioni logiche AND e & e con UNION ma non ottengo il risultato voluto.

Come posso fare per evitare di creare 2 query separate?

Vi ringrazio in anticipo per la risposta!

Ciao

Eliana

elianalaz
15-07-2011, 09:27
Ri-ciao! :D

Ho posto la domanda in modo poco chiaro? Se si, ditemi di quali altri dettagli avete bisogno!

Grazie

Ciaoooooo

Eliana

MarcoGG
16-07-2011, 13:34
Devo creare una query di accodamento in access per inserire 2 righe in una tabella. Le righe da inserire però derivano da diverse SELECT.

Mi spiego meglio...

Io vorrei usare la query di accodamento per accodare 2 righe nelle quali alcuni campi sono passati come parametro e altri campi sono costanti.

...
...

Come posso fare per evitare di creare 2 query separate?


E' possibile fare inserimenti multipli, anche con l'Sql di Access, e inoltre fare un mix tra valori di una SELECT e Parametri esterni.

Esempio :

Tabella T1
ID --> Contatore (PK)
Campo1 --> testo
Campo2 --> numerico
Campo3 --> numerico

Tabella T2
ID --> Contatore (PK)
testo --> testo
numero --> numerico

Ora, supponiamo io voglia accodare a T1 un numero imprecisato di records, i cui Campi provengono da una SELECT su T2 e da un Parametro esterno :

INSERT INTO T1 ( Campo1, Campo2, Campo3 )
SELECT T2.testo, T2.numero, [Parametro Numerico] FROM T2 WHERE T2.ID>1

Questo in Access SQL si può fare.

Quello che non si può fare è ad esempio prevedere un'altra SELECT aggiuntiva simile alla precedente. Sono limitazioni di Access/Jet, perciò se questo è il senso della tua richiesta, dovrai separare le query a livello di SELECT.
Comunque sia non è di per sè un gran problema, perchè basta chiamare le Query INSERT in sequenza, nell'ordine desiderato. ;)

elianalaz
18-07-2011, 10:40
Grazie della risposta MarcoGG!


Quello che non si può fare è ad esempio prevedere un'altra SELECT aggiuntiva simile alla precedente. Sono limitazioni di Access/Jet, perciò se questo è il senso della tua richiesta, dovrai separare le query a livello di SELECT.
Comunque sia non è di per sè un gran problema, perchè basta chiamare le Query INSERT in sequenza, nell'ordine desiderato. ;)

Esatto....è proprio quello che vorrei fare! Vorrei inserire 2 righe che derivano da SELECT diverse:
- nella prima, oltre ai parametri inseriti dall'utente, devo inserire "Read" in corrispondenza del campo OperationID
- nella seconda riga, oltre ai parametri inseriti dall'utente, devo inserire "RecordViewing".

Temevo di dover separare le query, ma volevo chiedere conferma a qualcuno più esperto di me!

Grazie dell'aiuto.

Ciao

Eliana