Query access che ottiene dati da una maschera

giovedì 12 aprile 2007 - 08.21

Kurtz Profilo | Newbie

Ciao a tutti,
ho un problema con una query access.

Vi spiego: ho una macro che lancia una query per far scrivere su una tabella dei dati presenti in dei campi in una maschera.

Questo è il codice sql della query:

INSERT INTO Storico ( CAP, CodFarma, CodReg, DescFarma, DescComune, Siglaprovincia, CodNum1, CodNum2 )
SELECT Farmacie.CAP, Farmacie.CodFarma, Farmacie.CodReg, Farmacie.DescFarma, Farmacie.DescComune, Farmacie.SiglaProvincia, Farmadati.CodNum, Farmadati.CodNum
FROM "qua vorrei impostare la maschera da dove prendere i dati"

è possibile farlo?
ci sto uscendo di testa
grazie

sanbiz Profilo | Senior Member

>Vi spiego: ho una macro che lancia una query per far scrivere
>su una tabella dei dati presenti in dei campi in una maschera.
>
>INSERT INTO Storico ( CAP, CodFarma, CodReg, DescFarma, DescComune,
>Siglaprovincia, CodNum1, CodNum2 )
>SELECT Farmacie.CAP, Farmacie.CodFarma, Farmacie.CodReg, Farmacie.DescFarma,
>Farmacie.DescComune, Farmacie.SiglaProvincia, Farmadati.CodNum,
>Farmadati.CodNum
>FROM "qua vorrei impostare la maschera da dove prendere i dati"

L'istruzione From implica il nome di una tabella, ma se tu hai una "maschera" e ne vuoi recuperare i valori ed aggiornarli tramite un'istruzione sql (come sembra tu voglia fare), forse faresti emglio ad usare, dopo la insert into, la Values()
es.

INSERT INTO Storico ( CAP, CodFarma, CodReg, DescFarma, DescComune, Siglaprovincia, CodNum1, CodNum2 )
Values(textbox1.text, textbox2.text....,....,)

Spero di aver capito correttamente



--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/

Libero Profilo | Newbie

Ciao, è più facile di quello che pensi:
senza utilizzare MACRO, puoi inserire il codice sql direttamente nel form;
se hai una maschera che contiene i tuoi campi, inserisci un pulsante nella maschera,
vai alle proprietà del pulsante e sull’evento click inserisci il codice seguente:

Private Sub Pulsante_Click()

DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Storico ( CAP, CodFarma, CodReg, DescFarma, DescComune, Siglaprovincia, CodNum1, CodNum2 ) SELECT CAP, CodFarma, CodReg, DescFarma, DescComune, Siglaprovincia, CodNum1, CodNum2”

End Sub


Come vedi non è necessario indicare alcun FROM perché se la maschera è aperta, i valori sono
Presi automaticamente dai campi presenti sulla maschera stessa.
Attenzione: i nomi dei campi sul form devono essere uguali a quelli nel codice dopo SELECT.
La prima riga (DoCmd.SetWarnings False) serve ad evitare che il sistema ti chieda conferma
Prima di eseguire la INSERT, se la togli ti appare il messaggio di conferma.
Naturalmente lo stesso codice lo puoi inserire in qualsiasi altro evento del Form.
Se inserisci sulla stessa maschera una casella di riepilogo che elenca i dati inseriti in tabella,
alla fine del codice puoi fare un requery della casella inserendo la riga:
DoCmd.Requery "nomecasellariepilogo"
per vedere aggiornati i dati inseriti con la INSERT.

Spero di esserti stato di aiuto.
Ciao, Libero.

rava34 Profilo | Newbie

Ciao, sono nuovo del forum, ho il seguente problema:

ho due tabelle, CLIENTI e LAVORI.

poi ho una maschera CLIENTI vorrei mettere un pulsante che premendolo mi faccia partire una query che mi mostra tutti i lavori di quel cliente. PRECISO: nella maschera clienti c'è l'idcliente che è lo stesso riportato nei lavori! come posso fare? che codice devo scrivere visto che l'idcliente lo trovo nella maschera che stò visualizzando?

grazie

ANDREA

Dainesi Profilo | Senior Member

>Ciao, sono nuovo del forum, ho il seguente problema:
>
>ho due tabelle, CLIENTI e LAVORI.
>
>poi ho una maschera CLIENTI vorrei mettere un pulsante che premendolo
>mi faccia partire una query che mi mostra tutti i lavori di quel
>cliente. PRECISO: nella maschera clienti c'è l'idcliente che
>è lo stesso riportato nei lavori! come posso fare? che codice
>devo scrivere visto che l'idcliente lo trovo nella maschera che
>stò visualizzando?
>
>grazie
>
>ANDREA

Quello che cerchi si chiama comunemente "funzione drill-down" e viene ottenuta inserendo una sottomaschera in quella principale. Leghi le due tramite la relazione su un campo comune (nel tuo caso l'IDCliente).
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5