View Full Version : [ACCESS] selezionare campo attivo tabella
mastrobutti
23-11-2008, 22:03
Allora ragazzi forse avrete già risposto a una domanda simile ma io sono niubbo di access e queste cose non le so.
Allora ho una maschera che mi elenca un elenco di rifornitori. Vorrei scrivere una macro che in base alla riga in cui sono, mi selezioni il campo ID di quel record della tabella e lo passi a un report, in modo che il report mi visualizzi gli acquisti nel mese corrente solo per quel fornitore.
La macro può essere richiamata con un pulsante diciamo.
Sarebbe il top se mi aiutaste anche a fare in modo che si possa selezionare anche il mese, ma ripeto quella è una cosa a parte.
Per quest'ultima pensavo di fare una maschera in cui selezionare mese e fornitore.
Grazie a tutti per i consigli :D
Allora ho una maschera che mi elenca un elenco di rifornitori. Vorrei scrivere una macro che in base alla riga in cui sono, mi selezioni il campo ID di quel record della tabella e lo passi a un report, in modo che il report mi visualizzi gli acquisti nel mese corrente solo per quel fornitore.
La macro può essere richiamata con un pulsante diciamo.
Semplice.
Se la maschera ( poniamo si chiami "rifornitori" ) visualizza il campo ID :
Form_rifornitori.ID.Value
Restituisce il contenuto del campo ID della riga correntemente selezionata. ;)
Lo leggi, lo metti in una variabile e lo passi al report...
mastrobutti
24-11-2008, 13:45
Grazie mille, solo che non ho ben chiaro come passare la variabile al report. Devo usare VBA?
Il report è basato su una query.
Esatto.
Dim IDSelez As Long
IDSelez = Form_rifornitori.ID.Value
DoCmd.OpenReport "nomeReport", acViewPreview, , "ID=" & IDSelez, acWindowNormal
"ID=" & IDSelez serve proprio allo scopo di passare argomenti WHERE all Query su cui è basato il Report. ;)
La Query NON deve essere parametrica.
mastrobutti
24-11-2008, 20:56
Grazie mille non so come ringraziarti. In che senso non deve essere parametrica?
Io l'ho scritta a mano e ha un inner join e una clausola WHERE. Da problemi?
Grazie mille non so come ringraziarti. In che senso non deve essere parametrica?
Io l'ho scritta a mano e ha un inner join e una clausola WHERE. Da problemi?
Parametrica nel senso che richieda uno o più parametri per l'esecuzione.
Es.:
SELECT * FROM Tabella WHERE ID=[parametro];
Se usi il mio codice precedente su query parametrica, ti verrà chiesto di inserire il parametro per ID, e il parametro passato via codice verrà ignorato... ;)
mastrobutti
26-11-2008, 17:13
Rispondo solo ora perchè ero via per lavoro. Stasera provo a mettere assieme il tutto e poi ti faccio sapere.
Intanto grazie per tutte le dritte ;)
Sono alle prime armi con Access, devo dire che va bene, però per le cose più complesse bisogna studiare un bel po' (dovrò iniziare a studiare VBA).
Ciao e a presto :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.