Newsgroup: it.comp.appl.access
Titolo: Togliere conferma da inserimento su tabella

Salve a tutti,
ho un altro problema su di un DB. Ho un maschera denominata Gestione 
Protocollo, su questa sono inserite due caselle di testo denominate mittente 
e destinatario le quali prelevano i dati da due tabelle denominate Mittente 
e Destinatario. Su queste caselle di testo all'evento "Su non in Elenco" ho 
impostato questo codice:
If MsgBox("Questo Mittente non esite ancora. Desideri inserirlo?", vbYesNo + 
vbQuestion) = vbYes Then
        DoCmd.OpenForm "Mittente", acNormal, , , acFormAdd, acDialog
        Response = acDataErrAdded
 Else
       Me.Undo
       Response = acDataErrContinue
       End If
Ed ovviamente lo stesso modificato per la casella di testo Destinatario. 
Questo codice mi permette di aprire una finestra di controllo sulla quale 
premendo sì è possibile inserire in tabella il nuovo cliente premendo no 
torna alla maschera permettendo di cambiare il nome. Io non vorrei più nè 
l'avviso nè tanto meno inserire manualmente nella maschera Mittente (o 
destinatario) il nome che avevo già scritto nella casella di testo della 
maschera Protocollo. Come posso fare a risolvere il mio problema? Potreste 
indicarmi come fare?
Saluti e grazie a tutti SimoneB 

 ha scritto nel messaggio 
news:46e66e54$0$37202$4faf...@reader3.news.tin.it...

?!?
Significa che vuoi cancellare il codice dall'evento?
Ciao.
-- 
Sergio MAZZA 


Cercherò di spiegare solo quello che voglio ottenere. In una maschera dal 
nome Protocollo ho due caselle combinate Mittente e Destinatario, queste 
sono associate ad omonime tabelle contenenti i campi IdMittente e Mittente - 
IdDestinatario e Destinatario. Compilando la maschera Protocollo, quando ho 
un mittente o un destinatario già presente in tabella lo posso prelevare dal 
menù a discesa, il mio problema si pone quando invece non ho il cliente in 
tabella, a questo punto devo chiudere la maschera protocollo aprire la 
maschera mittente o destinatario ed inserire il nuovo nominativo, chiudere 
la maschera aperta riaprire il protocollo ed inserire prelevando dal menù a 
discesa della casella combinata. Per ovviare a tutti questi passaggi, ho 
inserito all'interno dell'evento Su non in elenco il codice precedentemente 
inviato, solo che questo genera un messaggio di conferma dopo aver premuto 
su SI, mi apre la maschera del mittente o del destinatario e su questa devo 
nuovamente scrivere il nominativo nuovo. Io vorrei invece che Access, se non 
trova il nominativo scritto nella casella combinata aggiungesse nella 
tabella Mittente o Destinatario il nominativo nuovo senza conferme di 
aggiunta e soprattutto senza dover riscrivere nuovamente il nominativo del 
mittente o del destinatario.
Saluti e grazie SimoneB 

 Saluti e grazie SimoneB
Invece di aprire la form per il nuovo inserimento, esegui una query di 
accodamento con il nuovo valore e poi fai il requery della casella 
combinata...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:fc6887$gon$1...@tdi.cu.mi.it...

Usando la query dovrebbe disabilitare comunque gli avvisi
(metodo SetWarnings)....e usare DAO?
tiè qua.....
-- 
Roberto da Parma
  Dim IntNuovo As Integer, strTitolo As String
  Dim IntFinestraMsg As Integer, strMsg As String
  strTitolo = "Descrizione non in elenco"
  strMsg = "Vuoi aggiungere" & Chr(13) & Chr(10) & NewData & Chr(13) & 
Chr(10) & "in elenco?"
  IntFinestraMsg = vbYesNo + vbQuestion
  IntNuovo = MsgBox(strMsg, IntFinestraMsg, strTitolo)
If IntNuovo = vbYes Then
    Dim miorst As Recordset
    Set miorst = CurrentDb.OpenRecordset("tuatabella")
    miorst.AddNew
    miorst!tuocampo = NewData
    Me![casella] = miorst![tuocampo]
    miorst.Update
    miorst.Close
    Set miorst = Nothing
    strTitolo = "Inserimento nuova descrizione in elenco"
    strMsg = "Inserimento in elenco di" & Chr(13) & Chr(10) & NewData & 
Chr(13) & Chr(10) & "con successo"
    IntFinestraMsg = vbOKOnly + vbExclamation
    IntNuovo = MsgBox(strMsg, IntFinestraMsg, strTitolo)
    Response = acDataErrAdded
Else
    strTitolo = "Nome della descrizione errato"
    strMsg = NewData & " non è in elenco." & Chr(13) & Chr(10) & "Seleziona 
una descrizione dall'elenco"
    IntFinestraMsg = vbOKOnly + vbExclamation
    IntNuovo = MsgBox(strMsg, IntFinestraMsg, strTitolo)
    Response = acDataErrContinue
    Me.Undo
End If 

 Roberto da Parma
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:46e73b31$0$17941$4faf...@reader1.news.tin.it...

Ma questo codice lo devo impostare sull'evento Su non in elenco?
Saluti SIMONEB 

 ha scritto nel messaggio 
news:46e73b31$0$17941$4faf...@reader1.news.tin.it...

Ho provato ad inserire il codice sull'evento non in elenco modificandolo 
secondo le mie esigenze in questo modo
Dim IntNuovo As Integer, strTitolo As String
Dim IntFinestraMsg As Integer, strMsg As String
  strTitolo = "Descrizione non in elenco"
  strMsg = "Vuoi aggiungere" & Chr(13) & Chr(10) & NewData & Chr(13) & 
Chr(10) & "in elenco?"
  IntFinestraMsg = vbYesNo + vbQuestion
  IntNuovo = MsgBox(strMsg, IntFinestraMsg, strTitolo)
If IntNuovo = vbYes Then
    Dim miorst As Recordset
    Set miorst = CurrentDb.OpenRecordset("Mittente")
    miorst.AddNew
    miorst!Nominativo = NewData
    Me![IdMittente] = miorst![Nominativo]
    miorst.Update
    miorst.Close
    Set miorst = Nothing
    strTitolo = "Inserimento nuova descrizione in elenco"
    strMsg = "Inserimento in elenco di" & Chr(13) & Chr(10) & NewData & 
Chr(13) & Chr(10) & "con successo"
    IntFinestraMsg = vbOKOnly + vbExclamation
    IntNuovo = MsgBox(strMsg, IntFinestraMsg, strTitolo)
    Response = acDataErrAdded
Else
    strTitolo = "Nome della descrizione errato"
    strMsg = NewData & " non è in elenco." & Chr(13) & Chr(10) & "Seleziona 
una descrizione dall'elenco"
    IntFinestraMsg = vbOKOnly + vbExclamation
    IntNuovo = MsgBox(strMsg, IntFinestraMsg, strTitolo)
    Response = acDataErrContinue
    Me.Undo
End If
Mi fa eseguire il debug segnalandomi qualcosa di anomalo sulla riga 
Me![IdMittente] = miorst![Nominativo]
come mai? Dov'è che sbaglio? Dicevate di usare DAO, ma devo impostare o 
caricare qualcosa o Access lo usa di default?
Saluti SIMONEB 


Hai ragione...dipende un pņ dall'umore.... :-)))
Ciao
-- 
Roberto da Parma

 ha scritto nel messaggio 
news:46e85bac$0$4786$4faf...@reader4.news.tin.it...

Me![IdMittente]  deve essere il nome del campo che hai maschera...e deve 
essere di tipo testo!
miorst![Nominativo] è il nome del campo che hai nella tabella di nome 
"Mittente"
vedi di sistemare le cose...
