Newsgroup: it.comp.appl.access
Titolo: Apertura maschera con bottone - alternativa a sottomaschera

Ho una serie di tabelle cosi' strutturate:
imprese:
PK idimpresa
nomeimpresa
contratti:
PK idcontratti
impresaid EK
tipologia
data
descrizioneordini:
iddescrizioneordini PK
contrattiidEK
descrizione
dettaglioordini:
iddettaglioordini PK
idescrzioneordini EK
dettaglio
ecc
vorrei evitare di utilizzare le sottomaschere per la descrizionordini e il 
dettaglio, ho letto sul NG che � sempre meglio
utilizzare le sottomaschere, ma se volessi utilizzare i bottoni per aprire 
le maschere collegate ( ad es. da contratti aprire descrizione
ordini) come mi devo muovere? Mi sono ovviamente documentato prima di 
postare ed ho fatto qualche tentativo:
la creazione guidata della maschera � utile quando gi� esiste un record 
correlato, ma quando ce n'e' da inserirne di nuovi access
mi segnala il solito errore...ho letto pure che si potrebbe utilizzare la 
funzione dlookup per puntare a quale id correlare il record,
tutavvia se inserisco qualcosa ho il solito errore.
Esiste un esempio da qualche parte, ho un po' cercato su sito comune , 
accessgroup ma non ho trovato nulla.
un saluto al NG

 ha scritto nel messaggio 
news:4b7ada6a$0$1123$4faf...@reader3.news.tin.it...

Nel pulsante ci metti come criterio "id=" & me.tuoid
id sarebbe il record di destinazione (di dettaglio nel tuo caso)
me. intende la form attiva
tuoid intende il record evidenziato ed attivo
sistemalo come ti serve e aggiungilo nell'istruzione docmd.openform

 
ho utilizzato la creazione guidata ed il codice generato �:
[CUT]
Dim stDocName As String
     Dim stLinkCriteria As String
     stDocName = "Maschera1"
     stLinkCriteria = "[idimpresa]=" & Me![idimpresa]
     DoCmd.OpenForm stDocName, , , stLinkCriteria
[cut]
la maschera si apre visualizzando il record dei contratti per quel 
contratto, ma se non ci sono ordini...il campo idimpresa rimane 
azzerato, quindi devo digitarlo manualmente. Immagino che debba 
verificare preventivamente se per quella impresa esiste un contratto, se 
s� apre la maschera del contratto, in caso negativo mi apre la maschera 
con campo idimpresa valorizzato ma il campo contratto vuoto.
Forse qualcosa nell'evento load del form2? Oppure gestisco male il 
docmdopen.form?
ciao
grazie

 grazie
io vado avanti a tentativi e mi sono trovata a fronteggiare un
problema simile al tuo
la prima soluzione che ho trovato è stata questa:
1) ho inserito nel campo ID della maschera 1 (quella che si apre con
il bottone) come valore
predefinito l'ID della maschera 0 (quella dove sta il bottone, la
principale)
[per farlo basta cliccare con il tasto destro sul campo ID della
maschera 1, proprietà, valore predefinito,
clicchi su i tre puntini e imposti l'uguaglianza]
2) la seconda soluzione che potresti adottare è che quando inserisci
una modifica alla maschera 1,
ex un nuovo contatto per una nuova impresa, sull'evento dopo
aggiornamento ti richiami una query di accodamento
che accoderà alla tabella contatti l'idImpresa (con criterio [forms]!
[frmMoschera0]![IDimpresa], e tutte la altre informazioni
che ti servono
buona fortuna e speriamo in qualche esperto...
facci sapere

 
l'ho provato e sembra funzionante...cosi' semplice?
lo testo per benino e faccio sapere.
grazie