|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Padova (Europa)
Messaggi: 3324
|
[access] far aprire un report diverso in base al valore di una casella
Ciao a tutti,
ho una tabella con alcune informazioni: nome prodotto, numero di serie del prodotto, nazione di destinazione etc. poi ho creato un report che in pratica èuna etichetta da stampare con alcune scritte precompilate (perchè non variano) e altre completate con i valori che ci sono nella tabella (nome prodotto, numero serie, nazionalità...) Ora questo report-etichetta ha le scritte precompilate in italiano. Vorrei creare ora un report con le varie lingue e far si che quando clicco nella maschera una certa riga, mi appaia il report in base a cosa cè scritto nella colonna NAZIONALITÀ (ora si apre ovviamente solo quello in italiano). Per capirci: se nella colonna c'è scritto IT vorrei che si aprisse il report in italiano. Se c'è scritto GB, vorrei che si aprisse quello in inglese... Sapreste aiutarmi? Grazie infinite
__________________
il giorno in cui avrò smesso di imparare, sarà stato l'ultimo |
|
|
|
|
|
#2 | |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22006
|
Quote:
Codice:
if campoNazionalità.value="IT" then
DoCmd.OpenReport "ReportItaliano", acViewPreview
elseif campoNazionalità.value="GB" then
DoCmd.OpenReport "ReportInglese", acViewPreview
else
a=msgbox("lingua non specificata")
end if
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Padova (Europa)
Messaggi: 3324
|
Prima di tutto grazie.
lo devo inserire nell'evento con il doppio click? (io voglio che il report appaia con due click) poi ho selezionato generatore di codice e ho inserito il tuo codice modificando solo il nome dei campi e dei report, inserendolo tra le righe Private Sub ID_DblClick(Cancel As Integer) End Sub So che non si fa cosi, altrimenti avrebbe funzionato. Era solo per spiegarti le stupide operazioni che o compiuto
__________________
il giorno in cui avrò smesso di imparare, sarà stato l'ultimo |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Padova (Europa)
Messaggi: 3324
|
Non ho specificato che sono abbastanza a digiuno di access e programmazione.
Sto imparando un po' alla volta
__________________
il giorno in cui avrò smesso di imparare, sarà stato l'ultimo Ultima modifica di evl : 22-11-2013 alle 14:38. |
|
|
|
|
|
#5 | |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22006
|
Quote:
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Padova (Europa)
Messaggi: 3324
|
Questo è quello che appare:
![]() nella mia tabella il campo Nazione è un elenco di valori (casella combinata). Il report si chiama ETICHETTA ITA e quella di prova ETICHETTA EN Quando faccio doppio click nella casella ID della maschera mi appare: "errore di runtime '424': Necessario oggetto"
__________________
il giorno in cui avrò smesso di imparare, sarà stato l'ultimo |
|
|
|
|
|
#7 | |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22006
|
Quote:
perchè non hai un oggetto che si chiama campoNAZIONE quale è il name della tua combobox?
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Padova (Europa)
Messaggi: 3324
|
si chiama "Nazione"
__________________
il giorno in cui avrò smesso di imparare, sarà stato l'ultimo |
|
|
|
|
|
#9 |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22006
|
Allora cancella campo
Inviato dal mio Nexus 5 utilizzando Tapatalk
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Padova (Europa)
Messaggi: 3324
|
niente, continua a non funzionare
__________________
il giorno in cui avrò smesso di imparare, sarà stato l'ultimo |
|
|
|
|
|
#11 |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22006
|
Se il nome è giusto deve funzionare ( PS il nome non è l'etichetta
Inviato dal mio Nexus 5 utilizzando Tapatalk
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Padova (Europa)
Messaggi: 3324
|
E' passato qualche giorno perchè purtroppo non ho avuto tempo da dedicare alla cosa.
Ho rimesso le mani oggi, ma non riesco a venirne a capo. L'avrei messo qui: non voglio che me lo ridai sistemato, ma vorrei capire cosa non funziona. Grazie p.s. poi toglierei il link
__________________
il giorno in cui avrò smesso di imparare, sarà stato l'ultimo Ultima modifica di evl : 03-12-2013 alle 18:19. |
|
|
|
|
|
#13 | |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22006
|
Quote:
edit non hai maschere ne nulla per lanciare i report penso che ti risulta facile facile con 2 query spe fatto così funziona i 2 report si basano su due query diverse che selezionano per nazionalità avvisa che poi cancello
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 Ultima modifica di !fazz : 04-12-2013 alle 17:31. Motivo: link rimossi |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Padova (Europa)
Messaggi: 3324
|
fatto.
La maschera si apriva facendo doppio click sull'ID della maschera "questo o quello" (questo era un database di prova). Ora guardo il tuo. Grazie
__________________
il giorno in cui avrò smesso di imparare, sarà stato l'ultimo |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Padova (Europa)
Messaggi: 3324
|
rimetto il file modificato come era inizialmente (non quello che ti ho allegato) per farti capire cosa volevo fare:
https://drive.google.com/file/d/0B1k...it?usp=sharing Se nella maschera "questo o quello" fai doppio click nell'ID, si apre il report già filtrato con la sola riga di interesse. Fatto questo io stampo l'etichetta (il report) con una stampante apposita per etichette. Nella versione piu' evoluta, vorrei che si aprisse (sempre filtrato), l'etichetta personalizzata con la lingua in base alla nazione (ci sono due report, uno in italiano e l'altro parzialmente in inglese). Grazie infinite per il tempo che mi stai dedicando
__________________
il giorno in cui avrò smesso di imparare, sarà stato l'ultimo |
|
|
|
|
|
#16 | |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22006
|
Quote:
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
|
#17 |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22006
|
Ok,
https://dl.dropboxusercontent.com/u/...TE%20ITA.accdb così funziona il problema è che nella maschera non avevi il campo nazione (devi metterlo non visibile nella maschera )oltre a fare un filtraggio non corretto (si filtrano i dati nella query a seconda di quanto vale il valore del campo )
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Padova (Europa)
Messaggi: 3324
|
Perfetto.
Ti ringrazio. Domani a mente fresca capisco bene il tutto e poi lo traslo nel database vero. Grazie infinite
__________________
il giorno in cui avrò smesso di imparare, sarà stato l'ultimo |
|
|
|
|
|
#19 | |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22006
|
Quote:
fai con calma comunque il tuo codice aveva grossi problemi a livello concettuale (te lo scrivo qui così ti dò una chiave di lettura) 1) usavi una query che non faceva nulla su cui applicavi un altra query (autogenerata) per selezionare il report... i filtri sui report / maschere (condizione where all'apertura) non sono un gran che utilizzali solo se hai già una maschera che fà qualcosa e che in certi casi la puoi utilizzare per fare altro (il classico esempio di una maschera inserimento dati che vuoi riutilizzare per modificare un record) per altri usi meglio fare una query parametrica ovvero una query che prende i parametri per il where direttamente dalla maschera richiamandola con Forms!NomeMaschera!nomeControllo] (in colorato quello che devi cambiare per adattarlo alla tua maschera) riguardo alla scelta di che report aprire la scelta devi farla su un controllo della maschera, nel tuo caso nella tua maschera mancava il combobox nazione ed era per quello che ottenevi l'errore necessario oggetto, nazione non esisteva (il codice vba lavora sulla maschera non sulla tabella associata) devi aggiungere il controllo e se non ti serve metterlo invisibile (Visibile no nella tabella della proprietà del controllo) avevi un errore nell'if avevi controllavi che il campo avesse con valore EN invece di EX (che avevi nella tabella)
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Padova (Europa)
Messaggi: 3324
|
Ci siamo quasi, ma riportato il tutto nel database originale si presenta un ulteriore problemino.
Si apre il report nella lingua corretta, ma si riferisce sempre alla prima riga del database. come hai visto ci sono dei numeri di serie. Se faccio doppio click sull'ID del prodotto numero 3 che richiede il report in inglese, il report è in inglese, ma i dati sono quelli del prodotto numero 1. Su quello che mi hai passato te invece funziona tutto.
__________________
il giorno in cui avrò smesso di imparare, sarà stato l'ultimo |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:46.





















