Newsgroup: it.comp.appl.access
Titolo: problema con maschera

Ciao a tutto il NG!
Il solito inesperto ha bisogno di aiuto.
Ho una maschera "Visualizza totale riparazioni per cliente" con
sottomaschera "riparazioni per cliente". I controlli della maschera sono
bloccati tranne il controllo "Ragione Sociale".
Mediante un bottone e relativa macro apro una maschera di dialogo "Trova
Ragione Sociale in Riparazione per cliente".
In questa maschera ho un controllo (casella di testo non associata)"Trova
Ragione Sociale in Riparazione per cliente"(stesso nome della maschera) che
nell'evento - dopo aggiornamento- ha il seguente codice:
Option Compare Database
Private Sub Trova_Ragione_Sociale_in_Riparazione_per_cliente_AfterUpdate()
Forms![Visualizza totale riparazioni per cliente].Filter = "[Ragione
Sociale]=" & Me![Trova Ragione Sociale in Riparazione per cliente]
Forms![Visualizza totale riparazioni per cliente].FilterOn = True
Forms![Visualizza totale riparazioni per cliente]![Ragione Sociale].SetFocus
DoCmd.Close
End Sub
Inserisco la ragione sociale da trovare, do invio e invece che trovarmi la
ragione sociale richiesta nella maschera di partenza, mi apre una seconda
maschera di dialogo "immissione valore parametro" che ha come etichetta del
controllo quello che digito nella maschera di dialogo precedente ("Trova
Ragione Sociale in Riparazione per cliente"). Se in questa seconda maschera
digito la ragione sociale che sto cercando, la trova e mi fa vedere quello
che richiedo.
Quello che io vorrei è che mi trovasse la ragione sociale che richiedo al
primo colpo, senza aprire la maschera "immissione valore parametro". dove
sbaglio?
Spero di essere riuscito a spiegarmi, forse ho fatto un po' di casino,
comunque ringrazio sempre in anticipo chi mi può aiutare.
cesare

 cesare
Scusami, ma con nomi cosě lunghi piů che un cosice VBA mi sembra uno
scioglilingua, inoltre come vedi č piů facile sbagliare.
Per prima cosa, dal nome della Sub, sembrerebbe che il controllo dove digiti
la ragioen sociale da ricercare non si chiama  [Trova Ragione Sociale in
Riparazione per cliente] bensě
[Trova_Ragione_Sociale_in_Riparazione_per_cliente].
Poi immagino che il campo [Ragione Sociale] sia di tipo Testo e non di tipo
Numerico come tu lo stai usando.
Insomma io proverei  con:
 Private Sub Trova_Ragione_Sociale_in_Riparazione_per_cliente_AfterUpdate()
Forms![Visualizza totale riparazioni per cliente].Filter = "[Ragione
Sociale]=" & _
Chr$(34) & Me![Trova_Ragione_Sociale_in_Riparazione_per_cliente] & _
Chr$(34)
Forms![Visualizza totale riparazioni per cliente].FilterOn = True
Forms![Visualizza totale riparazioni per cliente]![Ragione Sociale].SetFocus
DoCmd.Close
End Sub
Un consiglio spassionata: accorcia i nomi degli oggetti e fai in modo che
siano composti da una sola parola.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Naturalmente funziona!! Dimmi cosa mangi? Pane e Access?
Mi potresti spiegare il Chr$(34) che mi hai fatto inserire a cosa serve?
forse per il discorso del campo Tipo Testo? (chiaramente era come dicevi tu,
io avevo copiato il codice da un trova record numerico e lo usavo per un
tipo testo).
Grazie anche per i consigli sulla lunghezza dei nomi degli oggetti.
Grazie 1000
cesare

 cesare
--
