Newsgroup: it.comp.appl.access
Titolo: Pulsante di comando abbinato a casella combinata...

Ciao a tutto il NG
il mio problema ve lo spiegherò con un esempio:
ho
una maschera tabellare "Maschera_Tipologia" con un unico campo "Tipologia"
il quale è una casella combinata e vorrei che premendo il pulsante di
comando si aprisse un'altra maschera "X" in cui è contenuto un campo con il
valore contenuto nella casella combinata.....
Pensate che sia possibile?!
grazie
Tiziano
--------------------------------
Inviato via 
http://usenet.iol.it

 ha scritto nel messaggio
news:140Z105Z48Z16Y...@usenet.iol.it...

Certo.
All'evento "dopo aggiornamento" associa una macro o una funzione Vba, che
apra la maschera cona la condizione
[nomecampo]=forms!mascheraDiPartenza!casellacombinata, dove nomecampo è il
nome del campo sulla maschera che vuoi aprire e mascheraDiPartenza è la
maschera contenente la casella combinata.
Ciao
Salvatore

 ha scritto nel messaggio
news:140Z105Z48Z16Y...@usenet.iol.it...

prova a crearti una query con il seguente criterio
[forms]![maschera_che_ha_la_casellacombinata]![CasellaCombinata], lo metti
nell'id, et voilà basi la mascheranuova su questa query, dovrebbe
funzionare, attento a non chiudere la maschera che contiene la casella
combinata, altrimenti non funziona.
by
stwe

Salvatore
ciao ho qualche piccolo problema a capire come devo usare
lo script che mi avete inviato...ho provato a inserirlo, con i valori
corretti, ma non riesco a farlo funzionare...mi aiutate ancora un pň?
grazie


Ciao grazie ho provato a inserire la dicitura sul comando "dopo
aggiornamento" ma questo non "filtra"?! Nel senso che apre la maschera "X"
ma non sulla base del valore contenuto nella casella combinata...
che
fare?
GRazie mille!!!


 Tiziano
Sulle maschere ci sono controlli non campi; questi ultimi sono parte delle
tabelle.
Se ho capito bene nel bottone scrivi:
'------------
Docmd.openForm "X"
Forms!X!nomeCasellaDiTesto = Forms!Maschera_Tipologia!Tipologia
'------------
Ciao.

Ciao.
ciao grazie per l'aiuto tutto funziona
benissimo se apro la maschera ma se questa "maschera_tipologia" è una
sottomaschera il comando non funziona...
grazie tiz


ciao scusate ma mentre provo a vedere di far funzionare questo db mi trovo
a dovervi chiedere anche altre informazioni...
Faccio chiarezza...
1)
ho 1 maschera "Z" che contiene la sottomaschera "maschera_tipologia" (le
due sono collegate da un valore "IDZ").
2) nella sottomaschera
"maschera_tipologia" ho una casella combinata "Y" e 1 pulsante di comando.
3)ora "dovrei" selezionando un valore dalla casella combinata "Y"
attraverso il pulsante aprire la maschera "X" la quale ha all'interno i
campi "Y" e "IDZ"
spero di esser stato chiaro anche se ne dubito.
Ciao
e grazie tiz


Ciao le prove si susseguono e non mi danno pace, ma spero di che i miei
sforzi non siano vanificati...
ho provato a inserire nel pulsante
Private Sub Comando7_Click()
On Error GoTo Err_Comando7_Click
    Dim
stDocName As String
 
    Dim stLinkCriteria2 As String
    stDocName
= "Sotto_UT"
    DoCmd.OpenForm "Sotto_UT"
    stLinkCriteria2 =
Forms!Sotto_UT!Tipologia = Forms!Maschera_Tipologia!Tipologia
DoCmd.OpenForm stDocName, , , stLinkCriteria2
Exit_Comando7_Click:
Exit Sub
Err_Comando7_Click:
    MsgBox Err.Description
    Resume
Exit_Comando7_Click
End Sub
dove:
Sotto_UT=nome della maschera da
aprire;
Maschera_Tipologia= maschera in cui č contenuto (tipologia)
Tipologia= casella combinata;
ma non funziona...
il problema č come
ho gią scritto negli altri "aiuti" che nella "Maschera_Tipologia" č
contenuto un altro controllo "IDX",presente, anche nella maschera
"Sotto_UT".
il pulsante dovrebbe aprire la maschera sulla base del valore
presente nel controllo "IDX" e "Tipologia".
grazie di tutto
Tiz


 spero di esser stato chiaro anche se ne dubito.
L'ultima frase ha distrutto tutto quello che di buono c'era scritto prima.
Che significa che la maschera X ha i campi Y e IDZ? Una maschera non ha
campi, ha controlli!
Forse che volevi dire che vuoi aprire una maschera che rstituisce dei record
e vuoi solo quelli i cui valori nei controlli associati ad alcuni campi,
siano uguali a Y e IDZ?
Se č cosě ti prepari una stringa di criteri Where del tipo
crit = "[campo1] = '" & Y & "' AND [campo2] = '" & IDZ & "'"
e poi apri la form con quei criteri
docmd.openform "X", ,crit
Antonio


Secondo me stai facendo confusione e errori di sintassi nelle istruzioni
vba. Oltretutto non si capisce se devi solo filtrare (per IDZ o IDX? Boh!)
sta' benedetta maschera o scrivere il valore contenuto nel controllo Y della
sottomaschera "maschera_tipologia"?
Mah!
Ipotizziamo che devi filtrare la maschera (mi sento tanto un "Roberto dal
Portatile"), nel bottone scriverai:
'-------
DoCmd.OpenForm "Sotto_UT", , ,"IDZ = '" &
Forms!Z!maschera_tipologia!Tipologia & "'"
'-------
Questo se il controllo Tipologia contiene del testo; altrimenti sarà:
'-------
DoCmd.OpenForm "Sotto_UT", , ,"IDZ = " &
Forms!Z!maschera_tipologia!Tipologia
'-------
Cioè senza apici che delimitano il valore
Forms!Z!maschera_tipologia!Tipologia...
Ciao.

Antonio
scusa ma sono alle prime armi...
ho inserito 
crit = "[campo1] = '" & Y & "' AND [campo2] = '" & IDZ & "'"
docmd.openform "X", , , crit
con l'aggiunta di una virgola ma mi dice:
"Errore di run-time 2501"
L'azione Openform č stata annullata...
grazie
Tiziano




Ma devi sostituire campo1 e campo2 con i nomi dei TUOI campi...
GROAN!
Antonio

Antonio
l'ho
fatto ... qui ho riproposto la tua...


ciao a tutto il NG mi dispiace non riuscire a esser chiaro,ciò è dovuto
alle scarse conoscenze...
ciò che desidero realizzare è la possibilità di
aprire una maschera sulla base di un valore contenuto in una casella
combinata
tutte le persone che mi stanno aiutando probabilmente ne
capiscono molto più di me, ma una volta inseriti i vari codici che mandate,
l'errore risulta essere quantomai sempre lo stesso :"Impossibile trovare la
maschera a cui si fa riferimento" devo essere onesto ciò mi rattrista molto
perchè non riesco a cogliere i vostri aiuti.
(Potrebbe essere qualche
configuarazione di vba che non ho installato?)
Detto ciò proverò ad essere
il più chiaro possibile...
+++++Tabella A
Campi		tipo dati
IDA
contatore
IDB		numerico (duplicati ammessi)
PIPPO 		testo (casella
combinata)-----
					      ]	
+++++Tabella C			              ]
]
Campi		tipo dati		      ]
					      ]
PIPPO		testo			----- ]
+++++Tabella B
Campi		tipo dati	
IDB		contatore
+++++Tabella D
Campi		tipo dati	
IDD		contatore
IDA		numerico (duplicati ammessi)
PIPPOD		testo (casella combinata)
Relazioni:
Tabella B  1-----------
molti Tabella A
Tabella A  1-----------molti tabella D
ora le maschere:
"MTabella B" (maschera principale) al suo interno è contenuta la
sottomaschera "MTabella A" collegata attraverso il controllo IDB
Richiesta:
Doppio filtro
Sulla base della selezione, contenuta nella
"Mtabella A" (sottomaschera), del controllo PIPPO attraverso il pulsante
aprire la maschera Mtabella D" sulla base anche del valore contenuto nel
controllo IDA.
Ora vi chiedo, se è anche possibile, inserire i valori
contenuti, nel controllo PIPPO della "MTabella A" nel controllo PIPPOD e il
valore IDA della "MTabella A" nella maschera "MTabella D"
Grazie e spero
alla fine di esser stato chiaro


 maschera a cui si fa riferimento" devo essere onesto ciň mi rattrista
molto
Questo significa che il nome che passi nell'azione docmd.openform č scritto
male
Antonio

 ha scritto nel messaggio
news:140Z105Z48Z16Y1...@usenet.iol.it...

Ci riprovo;
'-----------
Docmd.openForm "MTabella D"
Forms![MTabella D]!PIPPOD = Forms![MTabella A]!PIPPOD
Forms![MTabella D]!IDA = Forms![MTabella A]!IDA
'-----------
Ciao.

Ciao.
ciao cosě
funziona... se parto dalla maschera "MTabella A".  
Se apro prima maschera
"MTabella B" e quindi richiamo la maschera "MTabella A" come sottomaschera
questo comando non funziona...
Infine non č un filtro...
che dire GRAZIE!


Antonio
ciao non l'ho sbagliato...
tiziano



Ciao.

Ciao.
chiedo a questo punto dei
chiarimenti... perchè non so cosa fare...
questo vuol dire che non è
possibile?
Scusatemi ancora...



I chiarimenti li vorrei io; non riesco a capire cosa vuoi effettivamente
fare. Cerca di essere piů chiaro nell'esposizione del tuo problema, e forse
riusciamo a trovare una soluzione...
Ciao.

ciao
scusami sono riuscito in un altro modo a far funzionare ciň che non
vi era chiaro e nemmeno a me ma con un pň di pratica...
volevo inserire in
una maschera una sottomaschera per ovviare alla generazione automatica del
valore nel controllo comune alle due maschere per la relazione uno a molti.
ho ovviato al problema creando non piů una sottomaschera ma una maschera
aggiungendo uno script alla casella combinata sulla selezione di un valore
contenuto al suo interno. in questo modo ho ottenuto di generare il valore
comune alle due maschere.
infine ho fatto la stessa cosa con l'apertura
della sucessiva maschera.
ho inserito un pulsante di controllo
chiedendogli di aprire la maschera sulla base del valore contenuto nella
casella di controllo.
il tutto si basa sullo script
Private Sub
Sě_No_AfterUpdate()
 
Me.IDScavo = Forms![Maschera_Tipologia]![IDScavo]
Me.Tipologia = Forms![Maschera_Tipologia]![Tipologia]
Me.Refresh
End
Sub
che viene inserito nella maschera che desideri aprire nella casella
di 
controllo.in
 questo modo sulla selezione della casella di controllo il
valore viene inserito automaticamente nei controlli (vedi idscavo e
idtipologia)
mi dispiace di essere cosě confusionario nelle descrizioni
di ciň che chiedo ma non so bene cosa voglio fare in automatico al db
perchč le mie conoscenze sono scarse.
ciao 
tiz


 ha scritto nel messaggio
news:140Z105Z48Z16Y1...@usenet.iol.it...

Sono contento che hai risolto il problema ma non si tratta di scarse
conoscenze, almeno non solo di quelle; se riesci a spiegare ad un'altra
persona (per iscritto) qual'é il tuo problema, vuol dire che č chiaro anche
a te nella tua testa cosa devi fare e magari riesci anche da solo a trovare
la risposta...
Ciao e auguri...