Newsgroup: it.comp.appl.access
Titolo: Evento non in elenco

Per favore, fatemi vedere un banalissimo esempio di codice; supponiamo di
avere una tabella denominata "CITTA'", con la seguente struttura: ID
(contatore), nome (testo), data_fondazione (data gg/mm/aaa), abitanti
(numerico), nazione (testo); un'altra tabella denominata "NAZIONI", con la
seguente struttura: ID (contatore), nome (testo), data_fondazione (data
gg/mm/aaa), Divisa (valuta). La scheda relativa alla tabella "CITTA'"
contiene una casella di riepilogo (combinata ? quale è la differenza?)
associata al campo ID della tabella nazioni, dove scelgo dall'elenco la
nazione cui appartiene la città. Se si sta inserendo una città appartenente
ad una nazione non in elenco e ne digito il nome, mi deve apparire il msg
"non esiste, la vuoi inserire? Si/No.
Se No - annulla azione e torno alla maschera precedente;
Se Si - mi apre maschera "NAZIONI", con il nome della nuova nazione digitato
immesso e le caselle di tutti gli altri campi della tabella "NAZIONI"
predisposte all'inserimento dei dati relativi.
Ripeto, per favore, non rispondetemi che quello che cerco è disponibile sul
sito comune, che lo posso trovare sull'help in linea di Access o altro; non
sono riuscito a trovare nulla (probabilmente non ne sono capace).
Fatemi vedere un esempio di codice
GRAZIE

 ha scritto nel messaggio
news:Nllm9.198336$pX1.7...@news2.tin.it...

Te lo meriteresti!!! :)
La routine seguente l'ho copiata pari pari da Northwind.mdb (fornito assieme
ad Access)
cambiando semplicemente i nomi dei controlli e delle maschere
Private Sub IDArt_NotInList(strNuoviDati As String, intRisposta As Integer)
    Dim intNuovoArt As Integer, intTroncaNome As Integer, _
    strTitolo As String, intFinestraMsg As Integer
    Const conMBOK = 0
    Const conMBIconQuestionMark = 32
    Const conMBIconExclamation = 64
    Const conMBDefButton1 = 0, conIDYes = 6, conIDNo = 7
    ' Visualizza una finestra di dialogo per la richiesta
    ' di aggiunta di un nuovo Articolo
    strTitolo = "Articolo non nell'elenco "
    intFinestraMsg = vbYesNo + vbQuestion + vbDefaultButton2
    intNuovoArt = MsgBox("Aggiungere un nuovo Articolo?", intFinestraMsg,
strTitolo)
    If intNuovoArt = vbYes Then
        '  Apre la maschera finstblArt in modalita immissione dati
        DoCmd.OpenForm "finstblArt", acNormal, , , acAdd
        Forms!finstblArt!NomeArticolo = strNuoviDati
        '  Continua senza visualizzare il messaggio di errore predefinito.
        intRisposta = acDataErrContinue
    End If
End Sub
Ciao, Paolo

 > [CUT d' BRUTT']

Ma, per fare in modo che l'utente possa scegliere se aggiungere il nuovo
record, editarne uno o cancellare l'operazione, come si fà?
Esempio: ho una sottomaschera che per ogni albo a fumetti mi permette di
aggiungere il/i supervisore/i da casella combinata.
Se digito un nome, contenuto nella tab collegata Artisti (nella quale ho
inserito il Nome dell'Artista come contatore e la tipologia di artista come
opzione -ad es.: Scrittore, disegnatore, ecc.-), che ha flaggato il campo
Supervisore, nulla questio, se il nome non esiste mi permette di
aggiungerlo, e nulla questio, ma, se cerco di inserire il nome di un'artista
già presente, ma non Supervisore, mi dà un errore, giustamente, perché non
può duplicare il nome dell'Artista.
Grazie anticipatamente.
(¯`·.¸SpiderMax¸.·´¯)

 [...] nulla questio [...]
    Questio non l'ho capito. ;-)
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 può duplicare il nome dell'Artista.
    Infatti. Io pero' dividerei la tabella Artista in tabella Persone e
tabella Ruoli (o Qualifiche, o quel che vuoi). Perche' una Persona puo'
essere Autore, Curatore, Interprete, ... a volte tutte queste cose
nell'ambito di una stessa Produzione (o Albo, o Canzone, o quel che vuoi).


 (¯`·.¸SpiderMax¸.·´¯)
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:and7k6$sma$1...@lacerta.tiscalinet.it...


 nell'ambito di una stessa Produzione (o Albo, o Canzone, o quel che vuoi).
Grazie, "in primis" (anche se non so cosa vuol dire ci stà bene ;-) ), ma la
tabella Artisti mi va bene com'é (con un contatore NomeArtista e tante
opzioni quanti sono i possibili ruoli -disegnatore, scrittore, SUPERVISORE,
ecc).
Il problema mi si pone nella localizzazione del record che vado a editare,
se ho già il nome di quell'artista, ma non ho flaggato il ruolo che mi serve
per la sottomaschera (ad es. SMSHSupervisori). Ancora non riesco a
posizionarmici sopra (dovrò ristudiarmi i metodi -move per primo-).
Studio e spero..
Grazie ancora
--


 posizionarmici sopra (dovrò ristudiarmi i metodi -move per primo-).
    Posizionamento, allora. Credo di aver capito. Provo a pensarci (ma
purtroppo non puo' essere una promessa).
