Newsgroup: it.comp.appl.access
Titolo: portare un testo da una maschea all'altra

questo è il mio problema:
scrivo il nome del cliente nelle form delle visite, se il cliente non è
esistente, allora apro la form per inserire il nuovo cliente.
Fin qui tutto funziona, vorrei però che il nome che ho scritto venga
esportato nella form clienti che si va ad aprire, poi metto le altri info
del cliente.
Quando premo OK vorrei che nel campo cliente mi risulti il cliente che ho
appenta aggiunto alla lista.
Per fare tutto ciò ho bisogno di salvare i valori in unaa variabile Temp, ma
come si fa? dove la metto?
Grazie a chi mi aiuti.
Pietro


In un modulo "VariabiliGlobali" inserisci:
Global gTemp as String

come si fa? dove la metto?
Naaaaaa...
La variabile in realtà è già il controllo dove tu scrivi il nome del cliente
e puoi farci riferimento utilizzando l'apposita sintassi.
Pertanto userai me.nomecontrollo se il codice che scrivi è nella maschera
dove leggi il valore, forms("nome form").nomecontrollo se vuoi leggere in
un'altra maschera aperta.
Può capitare che però tu chiuda la maschera prima di assegnare il valore e
cioè:
sub chiudi
...
docmd.close
forms("visite").cliente = me.cliente
in questo caso lui si incazza perchè il riferimento alla maschera me non c'è
più perchè l'hai già chiusa.
Allora ti basta salvare il valore in una variabile locale alla sub e poi
usarla per assegnare il valore. Sarà:
sub chiudi
...
appoggio = me.cliente
docmd.close
forms("visite").cliente = appoggio
Antonio

 wrote in message
8a89u7$p47$4...@pegasus.tiscalinet.it...



  Aprendo la Form con il parametro acDialog, l'esecuzione del codice del
form 'chiamante' si arresta fintanto che resta aperto il form 'chiamato'
('Offerte' nel tuo caso). L'assegnazione Forms("Offerte").IDVisita = 10
avviene dunque quando il modulo 'Offerte' e' gia' chiuso --> da qui
l'errore.
  Per passare parametri tra un form ed un altro io trovo molto comoda la
proprieta' OpenArgs. Guarda sull'help in linea per esempi e dettagli.
  Ciao.

l'errore.
Questo è strano. Io normalmente uso form che hanno già la proprietà dialogo
come visualizzazione, poi le apro con un openform senza altri parametri,
quindi assegno i valori come fa edison e tutto funziona.
Forse c'è differenza tra aprire in modalità dialogo e aprire una form di
tipo dialogo?
Antonio


  Copio e incollo una parte dell'help in linea relativo all'azione
ApriMaschera:
Modalità finestra: La modalità della finestra in cui viene aperta la
maschera. Selezionare Normale per impostare la maschera secondo la modalità
definita dalle relative proprietà, Nascosta per nascondere la maschera,
Icona per aprire la maschera e ridurla a icona nella parte inferiore dello
schermo o   ==>_Dialogo_ per impostare a Sì le proprietà _A scelta
obbligatoria_ e _Popup_ della maschera. L'impostazione predefinita è
Normale.<==
  Sempre nell'help, dalle parti di OpenForm, e' scritto che una form avente
settate le propp. ASceltaObbligata e Popup diventa una form di tipo modale.
  La maschera avente settata la proprietà Popup a True ed aperta con
acNormal, invece, non e' una form modale ma solo una maschera che rimane in
primo piano rispetto a tutte le altre finestre di Microsoft Access.
  Per renderla modale bisogna settare a True anche la proprieta' Modal (A
scelta obbligatoria).
  Ciao.

ApriMaschera:
Ma io l'help lo conosco. Seplicemente ti dico che, settando una maschera con
visualizzazione dialogo, se la apri normalmente io riesco a scriverci dentro
da codice. Tu dici che aprendo una maschera in modalità dialogo, poi non
riesci a scriverci. Se veramente è così (io non ho avuto tempo di fare delle
prove) allora c'è differenza tra i due modi di aprire una maschera in
modalità dialogo...
Antonio

In pratica mi è bastato togliere "acDialog dalla seguente stringa:
Private Sub ApriOfferta_Click()
    DoCmd.OpenForm "Offerte", acNormal, , , acFormAdd, acDialog
    Forms("Offerte").IDVisita = 10
End Sub
Infatti, così funziona
Private Sub ApriOfferta_Click()
    DoCmd.OpenForm "Offerte", acNormal, , , acFormAdd
    Forms("Offerte").IDVisita = 10
End Sub
Grazie a tutti quelli intervenuti.
Edison