Newsgroup: it.comp.appl.access
Titolo: Programmazione Visual Basic Access 97.

Per favore aiutatemi a scrivere la routine per risolvere questo problema:
in modalità inserimento dati in tabella da maschera corrente con
sottomaschera, selezionando uno solo di tre valori (testo) presenti in una
tabella con tre campi e richiamati con una casella combinata nella
sottomaschera, si deve attivare un evento che mi deve aggiornare un
determinato campo (testbox "Note") presente nella maschera principale con l'
inserimento di una stringa di testo standard che sarà presente nelle righe
di codice, e con l'apparizione di una MsgBox che avvisa sull'aggiornamento
di tale campo. Sono uno smanettane con poche conoscenze sulla programmazione
VB for Appl.  Quella che segue è una routine evento già presente in una
maschera di caricamento dati in una sola tabella, senza sottomaschera e
tutto fila liscio senza errori:
 Private Sub Esito_BeforeUpdate(Cancel As Integer)
If Me![Esito] = "CERTIFICATO POSITIVO" Then
      [Note] = [Note] & " " & "NEGATIVA: AL CASELLARIO GIUDIZIALE RISULTANO
ISCRITTI PROVVEDIMENTI. "
   MsgBox "ATTENZIONE! Controllare il campo NOTE."
  End If
End Sub
-------------------------- 
La stessa routine applicata al caso descritto sopra mi genera un errore di
compilazione. Il problema credo sia dovuto al fatto che l'evento si attiva
dal controllo presente nella sottomaschera, mentre l'aggiornamento dati è
previsto con l'accesso ai dati del controllo (campo "Note" ) nella maschera
principale. La sottomaschera e collegata ad una tabella (SOCI), mentre la
maschera principale e collegata ad un'altra tabella (IMPRESE), poste in
relazione con la chiave primaria, che contiene il campo da aggiornare.
Vi sono grato per tutto l'aiuto che mi date, anche con qualche commento del
codice che mi aiuterà meglio a capire la procedura evento.
Saluti.

 ha scritto nel messaggio
news:cg7ecp$n2g$1...@lacerta.tiscalinet.it...

If
Forms![NomeMascheraPrincipale]![NomeMascheraSecondaria].Form![TuaComboInSott
omaschera] = "QuelloCheDiciTu" then
Forms![NomeMascheraPrincipale]![Note] = "QuelloCheVuoiTu"
MsgBox "ATTENZIONE! Controllare il campo NOTE."
 End If
Ciao, Carlo

 ha scritto nel
messaggio news:G0IVc.167063$5D1.8...@news4.tin.it...


 ha scritto nel messaggio
news:cg7m4h$rpf$1...@lacerta.tiscalinet.it...

Ciao Giuseppe, ti ricordo di scrivere le risposte DOPO i precedenti
messaggi.
Per il tuo problema posso solo dirti di controllare bene il nome della
sottomaschera, la sintassi è giusta.
Ma si tratta proprio di una sottomaschera? Non è che parliamo di una
struttura a schede?
In modalità struttura fai click col tasto destro sulla sottomaschera e
scegli proprietà.
In "Nome Elemento" leggi il nome attribuito. Se ci sono degli spazi nel
nome, nel codice, metti questo nome tra parentesi quadre:
[TuoNome Maschera].
Ciao, Carlo

 ha scritto nel
messaggio news:XKVVc.132157$OR2.6...@news3.tin.it...

Grazie a te ho risolto il problema. Comunque preciso che si tratta di una
sottomaschera in maschera principale.
Il problema era proprio lì nella proprietà della sottomaschera alla voce
"Nome elemento". Anzichè esserci "S_soci"
c'era questo: "SottoSchedaSoci". Con questo attributo la sottomaschera non
veniva vista dalla routine evento generando appunto l'errore di run-time. Ho
fatto la prova e va tutto bene, fa esattamente quello che volevo.
Mille grazie e a risentirci al prossimo problema.