Discussione:
Filtrare sottomaschera
(troppo vecchio per rispondere)
Giorgio A.
2007-10-08 14:56:27 UTC
Permalink
Per cortesia un aiuto

Ho una tabella Customers ed è in relazione con la tabella PRESTAZIONI.
Il campo "CustomerID" della tabella Customers è in relazione con il campo
IDCOGNOME
della tabella PRESTAZIONI (Numerico)

Apro la maschera Customers ed è strutturata per visualizzarmi un solo record
(selezionato da un elenco precedente)
Nella maschera è presente pure una sottomaschera che mi filtra le
prestazioni del record selezionato
Come proprietà della sottomaschera chiamata "Sottomaschera Prestazioni" ho:
Oggetto origine: Sottomaschera prestazioni
Collega campi secondari: IDCOGNOME
Collega campi master: CustomerID

Fin qui tutto bene.

Questa sottomaschera attualmente mi da la possibilità di inserire e
cancellare i record ed inoltre nel piè di pagina della stessa, sono presenti
dei controlli e il loro contenuto è richiamato in alcuni controlli creati
nella maschera principale.

Problema:

Questa sottomaschera in modalità "Foglio dati" (Sottomaschera Prestazioni)
dovrebbe fungermi solo da visualizzazione.

L'intento se possibile, è di di richiamare la Sottomaschera Prestazioni in
modalità "maschera continua" tramite un Bottone collocato sulla maschera
principale, ma noto che agendo sullo stesso mi visualizza tutto l'elenco
della tabella PRESTAZIONI senza filtrarmi le prestazioni del record aperto
(filtro IDCOGNOME - CustomerID)

Inoltre se si può fare chiudendo questa maschera ad aggiornare la
sottomaschera in modalità "Foglio dati"

Come fare ciò?

Grazie 1000 e cordialità

Giorgio A
Access
2007-10-08 17:13:54 UTC
Permalink
Post by Giorgio A.
Per cortesia un aiuto
Ho una tabella Customers ed è in relazione con la tabella PRESTAZIONI.
Il campo "CustomerID" della tabella Customers è in relazione con il
campo IDCOGNOME
della tabella PRESTAZIONI (Numerico)
Apro la maschera Customers ed è strutturata per visualizzarmi un solo
record (selezionato da un elenco precedente)
Nella maschera è presente pure una sottomaschera che mi filtra le
prestazioni del record selezionato
Come proprietà della sottomaschera chiamata "Sottomaschera
Prestazioni" ho: Oggetto origine: Sottomaschera prestazioni
Collega campi secondari: IDCOGNOME
Collega campi master: CustomerID
Fin qui tutto bene.
Questa sottomaschera attualmente mi da la possibilità di inserire e
cancellare i record ed inoltre nel piè di pagina della stessa, sono
presenti dei controlli e il loro contenuto è richiamato in alcuni
controlli creati nella maschera principale.
Questa sottomaschera in modalità "Foglio dati" (Sottomaschera
Prestazioni) dovrebbe fungermi solo da visualizzazione.
L'intento se possibile, è di di richiamare la Sottomaschera
Prestazioni in modalità "maschera continua" tramite un Bottone
collocato sulla maschera principale, ma noto che agendo sullo stesso
mi visualizza tutto l'elenco della tabella PRESTAZIONI senza
filtrarmi le prestazioni del record aperto (filtro IDCOGNOME -
CustomerID)
Se ho capito bene, sotto l'evento click del pulsante inserisci:


Dim stDocName As String
Dim stLinkCriteria As String


stDocName = "[Sottomaschera prestazioni]"

stLinkCriteria = "[IDcognome]= " & Me.[sottomaschera
prestazioni].Form!id.Value
DoCmd.OpenForm stDocName, , , stLinkCriteria
Post by Giorgio A.
Inoltre se si può fare chiudendo questa maschera ad aggiornare la
sottomaschera in modalità "Foglio dati"
Come fare ciò?
Prova si dovrebbe aggiornare.
Post by Giorgio A.
Grazie 1000 e cordialità
Giorgio A
--
Ciao
Access
Giorgio A.
2007-10-08 18:28:41 UTC
Permalink
Accesso ha postato:>
Post by Access
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "[Sottomaschera prestazioni]"
stLinkCriteria = "[IDcognome]= " & Me.[sottomaschera
prestazioni].Form!id.Value
DoCmd.OpenForm stDocName, , , stLinkCriteria
Si hai capito bene ma va in errore del tipo
impossibile trovare il campo a "I" a cui fa riferimento l'espressione alla
seguente riga:
stLinkCriteria = "[IDCOGNOME]= " & Me.[ Sottomaschera
PRESTAZIONI].Form!ID.Value
Anche se cambio Form!ID.Value in
Form!IDCustomer.value
oppure

Form!IDCustomers.value
non cambia nulla
Post by Access
Post by Giorgio A.
Inoltre se si può fare chiudendo questa maschera ad aggiornare la
sottomaschera in modalità "Foglio dati"
Come fare ciò?
Prova si dovrebbe aggiornare.
Post by Giorgio A.
Grazie 1000 e cordialità
Giorgio A
--
Ciao
Access
Access
2007-10-08 18:34:17 UTC
Permalink
Ciao Giorgio A. wrote:
---cut--
Post by Giorgio A.
Post by Access
Si hai capito bene ma va in errore del tipo
impossibile trovare il campo a "I" a cui fa riferimento
stLinkCriteria = "[IDCOGNOME]= " & Me.[ Sottomaschera
PRESTAZIONI].Form!ID.Value '' ' qui c'è uno spazio dopo la prima
parentesi quadra lo devi eliminare
--
Ciao
Access
Giorgio A.
2007-10-08 19:11:27 UTC
Permalink
I passaggi li esegue salvo che in quest'ultimo mi dice:
Il nome di maschera "[Sottomaschera PRESTAZIONI]" immesso è errato o fa
riferimento
ad una maschera inesistente.
E si che esistono e come da codice scritte nello stesso modo

DoCmd.OpenForm stDocName, , , stLinkCriteria

Ciao e grazie
Giorgio
Access
2007-10-08 19:33:16 UTC
Permalink
Post by Giorgio A.
Il nome di maschera "[Sottomaschera PRESTAZIONI]" immesso è errato o
fa riferimento
Scusa ma facendo un copia incolla ho dimenticato di eliminare la parentesi
quadre

va scritta cosi:

stDocName = "Sottomaschera PRESTAZIONI"
--
Ciao
Access
Mimeacc
2007-10-08 18:49:02 UTC
Permalink
Scusa Access, intervengo solo perché conosco la maschera di Giorgio:

Nell'evento "su clic" del pulsante devi mettere (come suggerito da Access):

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Sottomaschera PRESTAZIONI"
stLinkCriteria = "[IDCOGNOME] = " & Forms![ANAGRAFICA1]!ID.Value
' qui sotto aggiungo due opzioni:
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormReadOnly, acDialog

Quindi normalmente hai la sola maschera principale visibile; quando clicchi
sul pulsante si apre una maschera in modalità "Dialog" (non succede
nient'altro finché non la chiudi) ed in modalità "sola lettura" (quindi non
puoi modificare niente).

Se invece vuoi dare la sola possibilità di aggiungere record, invece di
acFormReadOnly usa:
acFormAdd

Se invece vuoi dare la possibilità di aggiungere/modificare record, invece
di acFormReadOnly usa:
acFormEdit

Naturalmente se preferisci questa soluzione devi eliminare dalla maschera la
sottomaschera fissa ed il campo col totale non servirà più (e non
funzionerà) ma tanto vedrai quello del piè di pagina della sottomaschera
Ciao.
Mimeacc
Post by Access
Post by Giorgio A.
Per cortesia un aiuto
Ho una tabella Customers ed è in relazione con la tabella PRESTAZIONI.
Il campo "CustomerID" della tabella Customers è in relazione con il
campo IDCOGNOME
della tabella PRESTAZIONI (Numerico)
Apro la maschera Customers ed è strutturata per visualizzarmi un solo
record (selezionato da un elenco precedente)
Nella maschera è presente pure una sottomaschera che mi filtra le
prestazioni del record selezionato
Come proprietà della sottomaschera chiamata "Sottomaschera
Prestazioni" ho: Oggetto origine: Sottomaschera prestazioni
Collega campi secondari: IDCOGNOME
Collega campi master: CustomerID
Fin qui tutto bene.
Questa sottomaschera attualmente mi da la possibilità di inserire e
cancellare i record ed inoltre nel piè di pagina della stessa, sono
presenti dei controlli e il loro contenuto è richiamato in alcuni
controlli creati nella maschera principale.
Questa sottomaschera in modalità "Foglio dati" (Sottomaschera
Prestazioni) dovrebbe fungermi solo da visualizzazione.
L'intento se possibile, è di di richiamare la Sottomaschera
Prestazioni in modalità "maschera continua" tramite un Bottone
collocato sulla maschera principale, ma noto che agendo sullo stesso
mi visualizza tutto l'elenco della tabella PRESTAZIONI senza
filtrarmi le prestazioni del record aperto (filtro IDCOGNOME -
CustomerID)
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "[Sottomaschera prestazioni]"
stLinkCriteria = "[IDcognome]= " & Me.[sottomaschera
prestazioni].Form!id.Value
DoCmd.OpenForm stDocName, , , stLinkCriteria
Post by Giorgio A.
Inoltre se si può fare chiudendo questa maschera ad aggiornare la
sottomaschera in modalità "Foglio dati"
Come fare ciò?
Prova si dovrebbe aggiornare.
Post by Giorgio A.
Grazie 1000 e cordialità
Giorgio A
--
Ciao
Access
Access
2007-10-08 20:13:15 UTC
Permalink
Niente scuse, tu intervieni quando e come vuoi.

:-)
--
Ciao
Access
Mimeacc
2007-10-08 20:33:29 UTC
Permalink
ok, era solo perché stavo "copiando" il tuo codice, soltanto sistemando i
percorsi che conoscevo già, e volevo fosse chiaro che non lo spacciavo per
mio.
Ciao.
:-)
Mimeacc
Post by Access
Niente scuse, tu intervieni quando e come vuoi.
:-)
--
Ciao
Access
Access
2007-10-08 20:54:42 UTC
Permalink
Post by Mimeacc
ok, era solo perché stavo "copiando" il tuo codice, soltanto
sistemando i percorsi che conoscevo già, e volevo fosse chiaro che
non lo spacciavo per mio.
Ciao.
:-)
Mimeacc
Io ti leggo spesso, per cui diciamo che ti conosco, sei un tipo in gamba e
molto preciso.

In ogni caso non avrei dubbi.

:-)
--
Ciao
Access
Mimeacc
2007-10-08 17:22:04 UTC
Permalink
Ciao Giorgio,
forse non ho capito bene la tua necessità, ma intanto perché non trasformi
la sottomaschera in tipo "maschere continue" sistemando i campi in
orizzontale (tutti su una sola riga)? in questo modo ottieni una
visualizzazione identica al foglio dati ma sotto una più elegante forma di
maschera.
Poi, per impedire una qualsiasi manovra diversa dalla visualizzazione
basterebbe aprire la sottomaschera in modalità di sola lettura. Viceversa
quando vuoi poter operare sulla sottomaschera la apri normalmente.
E' questo che ti serve o non ho capito niente?
Mimeacc
Post by Giorgio A.
Per cortesia un aiuto
Ho una tabella Customers ed è in relazione con la tabella PRESTAZIONI.
Il campo "CustomerID" della tabella Customers è in relazione con il campo
IDCOGNOME
della tabella PRESTAZIONI (Numerico)
Apro la maschera Customers ed è strutturata per visualizzarmi un solo
record (selezionato da un elenco precedente)
Nella maschera è presente pure una sottomaschera che mi filtra le
prestazioni del record selezionato
Oggetto origine: Sottomaschera prestazioni
Collega campi secondari: IDCOGNOME
Collega campi master: CustomerID
Fin qui tutto bene.
Questa sottomaschera attualmente mi da la possibilità di inserire e
cancellare i record ed inoltre nel piè di pagina della stessa, sono
presenti dei controlli e il loro contenuto è richiamato in alcuni
controlli creati nella maschera principale.
Questa sottomaschera in modalità "Foglio dati" (Sottomaschera Prestazioni)
dovrebbe fungermi solo da visualizzazione.
L'intento se possibile, è di di richiamare la Sottomaschera Prestazioni in
modalità "maschera continua" tramite un Bottone collocato sulla maschera
principale, ma noto che agendo sullo stesso mi visualizza tutto l'elenco
della tabella PRESTAZIONI senza filtrarmi le prestazioni del record aperto
(filtro IDCOGNOME - CustomerID)
Inoltre se si può fare chiudendo questa maschera ad aggiornare la
sottomaschera in modalità "Foglio dati"
Come fare ciò?
Grazie 1000 e cordialità
Giorgio A
Lorenzo(pyx)
2007-10-08 18:22:26 UTC
Permalink
Post by Giorgio A.
Per cortesia un aiuto
[...]
Post by Giorgio A.
Questa sottomaschera in modalità "Foglio dati" (Sottomaschera
Prestazioni) dovrebbe fungermi solo da visualizzazione.
L'intento se possibile, è di di richiamare la Sottomaschera
Prestazioni in modalità "maschera continua" tramite un Bottone
collocato sulla maschera principale, ma noto che agendo sullo stesso
mi visualizza tutto l'elenco della tabella PRESTAZIONI senza
filtrarmi le prestazioni del record aperto (filtro IDCOGNOME -
CustomerID)
Inoltre se si può fare chiudendo questa maschera ad aggiornare la
sottomaschera in modalità "Foglio dati"
Come fare ciò?
Ciao,
Per fare quanto chiedi, essendo la proprietà di visualizzazione dell'oggetto
(sottomaschera)
non modificabile mentre e' in esecuzione, dovresti:

a) Predisporre la maschera e la sottomaschera
b) Sganciare la sottomaschera tramite il tuo bottone (proprieta.
sourceobject="")
c) Aprire la sottoamschera in modalità struttura (da codice)
d) Modificare la proprieta DefaultView
e) Salvare la maschera
f) A questo punto la riassegni all'oggetto (proprietà sourceobiect)

Probabilmente ti conviene tenere due copie della maschera una in modalità
foglio dati e l'altra a maschere continue.
Sempre usando la proprietà SourceObject puoi cambiare da una all'altra
con il tuo pulsante.

Il bottone agirà da flip-flop, in pratica :

If NomeOggetto.SourceObject="PrimaMaschera" then
NomeOggetto.SourceObject="SecondaMaschera"
else
NomeOggetto.SourceObject="PrimaMaschera"
Endif

--
Lorenzo
Giorgio A.
2007-10-08 19:16:40 UTC
Permalink
Post by Lorenzo(pyx)
Per fare quanto chiedi, essendo la proprietà di visualizzazione
dell'oggetto (sottomaschera)
a) Predisporre la maschera e la sottomaschera
b) Sganciare la sottomaschera tramite il tuo bottone (proprieta.
sourceobject="")
c) Aprire la sottoamschera in modalità struttura (da codice)
d) Modificare la proprieta DefaultView
e) Salvare la maschera
f) A questo punto la riassegni all'oggetto (proprietà sourceobiect)
Probabilmente ti conviene tenere due copie della maschera una in modalità
foglio dati e l'altra a maschere continue.
Sempre usando la proprietà SourceObject puoi cambiare da una all'altra
con il tuo pulsante.
If NomeOggetto.SourceObject="PrimaMaschera" then
NomeOggetto.SourceObject="SecondaMaschera"
else
NomeOggetto.SourceObject="PrimaMaschera"
Endif
Interessante pure questo esempio ma per cortesia dovresti spiegarmi meglio,
faccio un po fatica a capire i
passaggi descritti al punto
b
c
f
Grazie pure a te

Giorgio A.
Lorenzo(pyx)
2007-10-09 12:53:45 UTC
Permalink
Post by Giorgio A.
Interessante pure questo esempio ma per cortesia dovresti spiegarmi
meglio, faccio un po fatica a capire i
passaggi descritti al punto
b
c
f
Grazie pure a te
Post by Lorenzo(pyx)
a) Predisporre la maschera e la sottomaschera
Ok, le devi creare o gia' le hai
Post by Giorgio A.
Post by Lorenzo(pyx)
b) Sganciare la sottomaschera tramite il tuo bottone (proprieta.
sourceobject="")

Me!NomeOggettoSottomaschera.SourceObject=""
Post by Giorgio A.
Post by Lorenzo(pyx)
c) Aprire la sottoamschera in modalità struttura (da codice)
docmd.OpenForm "NomeMaschera",acDesign
Post by Giorgio A.
Post by Lorenzo(pyx)
d) Modificare la proprieta DefaultView
Forms("NomeMaschera").DefaultView=2 'Foglio dati
oppure
Forms("NomeMaschera").DefaultView=1 'Maschere continue
Post by Giorgio A.
Post by Lorenzo(pyx)
e) Salvare la maschera
Docmd.Close acForm,"NomeMaschera",acSaveYes
Post by Giorgio A.
Post by Lorenzo(pyx)
f) A questo punto la riassegni all'oggetto (proprietà sourceobiect)
Me!NomeOggettoSottomaschera.SourceObject="Nomemaschera"


Ciao
--
Lorenzo
Mimeacc
2007-10-08 19:23:09 UTC
Permalink
Ciao Giorgio, ma non vedi i miei post? solo per sapere, perché mi è successo
altre volte, se invece non ti servono nessun problema.
Ciao
Mimeacc

ho scritto prima:
Scusa Access, intervengo solo perché conosco la maschera di Giorgio:

Nell'evento "su clic" del pulsante devi mettere (come suggerito da Access):

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Sottomaschera PRESTAZIONI"
stLinkCriteria = "[IDCOGNOME] = " & Forms![ANAGRAFICA1]!ID.Value
' qui sotto aggiungo due opzioni:
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormReadOnly, acDialog

Quindi normalmente hai la sola maschera principale visibile; quando clicchi
sul pulsante si apre una maschera in modalità "Dialog" (non succede
nient'altro finché non la chiudi) ed in modalità "sola lettura" (quindi non
puoi modificare niente).

Se invece vuoi dare la sola possibilità di aggiungere record, invece di
acFormReadOnly usa:
acFormAdd

Se invece vuoi dare la possibilità di aggiungere/modificare record, invece
di acFormReadOnly usa:
acFormEdit

Naturalmente se preferisci questa soluzione devi eliminare dalla maschera la
sottomaschera fissa ed il campo col totale non servirà più (e non
funzionerà) ma tanto vedrai quello del piè di pagina della sottomaschera
Ciao.
Mimeacc
Post by Access
Post by Giorgio A.
Per cortesia un aiuto
Ho una tabella Customers ed è in relazione con la tabella PRESTAZIONI.
Il campo "CustomerID" della tabella Customers è in relazione con il
campo IDCOGNOME
della tabella PRESTAZIONI (Numerico)
Apro la maschera Customers ed è strutturata per visualizzarmi un solo
record (selezionato da un elenco precedente)
Nella maschera è presente pure una sottomaschera che mi filtra le
prestazioni del record selezionato
Come proprietà della sottomaschera chiamata "Sottomaschera
Prestazioni" ho: Oggetto origine: Sottomaschera prestazioni
Collega campi secondari: IDCOGNOME
Collega campi master: CustomerID
Fin qui tutto bene.
Questa sottomaschera attualmente mi da la possibilità di inserire e
cancellare i record ed inoltre nel piè di pagina della stessa, sono
presenti dei controlli e il loro contenuto è richiamato in alcuni
controlli creati nella maschera principale.
Questa sottomaschera in modalità "Foglio dati" (Sottomaschera
Prestazioni) dovrebbe fungermi solo da visualizzazione.
L'intento se possibile, è di di richiamare la Sottomaschera
Prestazioni in modalità "maschera continua" tramite un Bottone
collocato sulla maschera principale, ma noto che agendo sullo stesso
mi visualizza tutto l'elenco della tabella PRESTAZIONI senza
filtrarmi le prestazioni del record aperto (filtro IDCOGNOME -
CustomerID)
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "[Sottomaschera prestazioni]"
stLinkCriteria = "[IDcognome]= " & Me.[sottomaschera
prestazioni].Form!id.Value
DoCmd.OpenForm stDocName, , , stLinkCriteria
Post by Giorgio A.
Inoltre se si può fare chiudendo questa maschera ad aggiornare la
sottomaschera in modalità "Foglio dati"
Come fare ciò?
Prova si dovrebbe aggiornare.
Post by Giorgio A.
Grazie 1000 e cordialità
Giorgio A
--
Ciao
Access
Per cortesia un aiuto
Ho una tabella Customers ed è in relazione con la tabella PRESTAZIONI.
Il campo "CustomerID" della tabella Customers è in relazione con il campo
IDCOGNOME
della tabella PRESTAZIONI (Numerico)
Apro la maschera Customers ed è strutturata per visualizzarmi un solo
record (selezionato da un elenco precedente)
Nella maschera è presente pure una sottomaschera che mi filtra le
prestazioni del record selezionato
Oggetto origine: Sottomaschera prestazioni
Collega campi secondari: IDCOGNOME
Collega campi master: CustomerID
Fin qui tutto bene.
Questa sottomaschera attualmente mi da la possibilità di inserire e
cancellare i record ed inoltre nel piè di pagina della stessa, sono
presenti dei controlli e il loro contenuto è richiamato in alcuni
controlli creati nella maschera principale.
Questa sottomaschera in modalità "Foglio dati" (Sottomaschera Prestazioni)
dovrebbe fungermi solo da visualizzazione.
L'intento se possibile, è di di richiamare la Sottomaschera Prestazioni in
modalità "maschera continua" tramite un Bottone collocato sulla maschera
principale, ma noto che agendo sullo stesso mi visualizza tutto l'elenco
della tabella PRESTAZIONI senza filtrarmi le prestazioni del record aperto
(filtro IDCOGNOME - CustomerID)
Inoltre se si può fare chiudendo questa maschera ad aggiornare la
sottomaschera in modalità "Foglio dati"
Come fare ciò?
Grazie 1000 e cordialità
Giorgio A
Giorgio A.
2007-10-08 19:36:14 UTC
Permalink
Scusami Michele sono indaffarato ed entusiasta a seguire i post che mi
mandate
e non ho avuto il tempo di provare pure il tuo (ho bisogno di capire e non
sono veloce)
Stavo facendo delle prove ma sia con il post tuo e di access alla seguente
riga mi da lo stesso errore

DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormReadOnly, acDialog

Il nome di maschera "[Sottomaschera PRESTAZIONI]" immesso è errato o fa
riferimento
ad una maschera inesistente.
E si che esistono e come da codice scritte nello stesso modo
Post by Giorgio A.
Grazie 1000 e cordialità
Giorgio A
Giorgio A.
2007-10-08 19:45:49 UTC
Permalink
Benissimo funziona.

Con l'ultimo post di Access che mi invita a togliere le parentesi a
stDocName = "Sottomaschera PRESTAZIONI"

Inoltre chiedo a Michele se con queste opzioni

Se invece vuoi dare la sola possibilità di aggiungere record, invece di
acFormReadOnly usa:
acFormAdd

Se invece vuoi dare la possibilità di aggiungere/modificare record, invece
di acFormReadOnly usa:
acFormEdit

mi invita a creare nuovi bottoni inserendo lo stesso codice con le seguenti
varianti

Grazie e saluti
Siete un enciclopedia

Ciao
Giorgio A.
Mimeacc
2007-10-08 20:25:37 UTC
Permalink
Ciao Giorgio,
puoi in effetti creare 3 diversi pulsanti, ma potresti anche creare una
casella combinata con 3 valori, ad ognuno dei quali poi puoi assegnare
l'esecuzione di uno dei 3 diversi comandi, oppure invece dei 3 pulsanti puoi
inserire 3 pulsanti di opzione, forse è la soluzione più elegante.
Nell'evento "su clic" inserisci il seguente codice:

If Me.nomepulsanteopzione = True Then
Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Sottomaschera PRESTAZIONI"
stLinkCriteria = "[IDCOGNOME] = " & Forms![ANAGRAFICA2]!ID.Value

DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormEdit
End If

Il controllo If...Then serve per attivare la maschera solo quando il
pulsante di opzione è acceso. Naturalmente ad ogni pulsante cambierai
l'opzione acForm....
Mimeacc
Post by Giorgio A.
Benissimo funziona.
Con l'ultimo post di Access che mi invita a togliere le parentesi a
stDocName = "Sottomaschera PRESTAZIONI"
Inoltre chiedo a Michele se con queste opzioni
Se invece vuoi dare la sola possibilità di aggiungere record, invece di
acFormAdd
Se invece vuoi dare la possibilità di aggiungere/modificare record, invece
acFormEdit
mi invita a creare nuovi bottoni inserendo lo stesso codice con le
seguenti varianti
Grazie e saluti
Siete un enciclopedia
Ciao
Giorgio A.
Access
2007-10-08 20:48:38 UTC
Permalink
Post by Mimeacc
Ciao Giorgio,
puoi in effetti creare 3 diversi pulsanti, ma potresti anche creare
una casella combinata con 3 valori, ad ognuno dei quali poi puoi
assegnare l'esecuzione di uno dei 3 diversi comandi, oppure invece
dei 3 pulsanti puoi inserire 3 pulsanti di opzione, forse è la
soluzione più elegante. Nell'evento "su clic" inserisci il seguente
Oppure creare un gruppo di opzioni con ad esempio le seguenti Opzioni:

1 Modifica record
2 Aggiungi record
3 Visualizza record
Post by Mimeacc
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Sottomaschera PRESTAZIONI"
stLinkCriteria = "[IDCOGNOME] = " & Forms![ANAGRAFICA2]!ID.Value
select case NomeGruppoOpzioni
case 1
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormEdit, acDialog
case 2
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormAdd, acDialog
case 3
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormReadOnly,
acDialog
end select
--
Ciao
Access
Mimeacc
2007-10-08 21:54:39 UTC
Permalink
Quella di Access è ancora più bella, in quanto ogni opzione esclude
automaticamente le altre due; un piccolo particolare sul codice: ho usato
una form [ANAGRAFICA2] per fare delle prove, nel tuo caso, se non l'hai
cambiata, è sempre [ANAGRAFICA1], altrimenti ti darà errore.
La creazione del gruppo di opzioni avviene con una procedura guidata molto
semplice, ricorda di "salvare il valore per uso successivo"
Il codice di Access lo devi inserire nell'evento su clic della cornice,
quindi non andare sui singoli pulsanti di opzione.
Buon lavoro.
Mimeacc
Post by Access
Post by Mimeacc
Ciao Giorgio,
puoi in effetti creare 3 diversi pulsanti, ma potresti anche creare
una casella combinata con 3 valori, ad ognuno dei quali poi puoi
assegnare l'esecuzione di uno dei 3 diversi comandi, oppure invece
dei 3 pulsanti puoi inserire 3 pulsanti di opzione, forse è la
soluzione più elegante. Nell'evento "su clic" inserisci il seguente
1 Modifica record
2 Aggiungi record
3 Visualizza record
Post by Mimeacc
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Sottomaschera PRESTAZIONI"
stLinkCriteria = "[IDCOGNOME] = " & Forms![ANAGRAFICA2]!ID.Value
select case NomeGruppoOpzioni
case 1
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormEdit, acDialog
case 2
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormAdd, acDialog
case 3
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormReadOnly, acDialog
end select
--
Ciao
Access
Giorgio A.
2007-10-09 20:03:19 UTC
Permalink
Un grazie 1000 a Michele e ad Access delle spiegazioni e soluzioni

Con cordialità

Giorgio A.
Giorgio A.
2007-10-09 20:08:40 UTC
Permalink
Grazie 1000 a Michele e ad Access per le esudienti spiegazioni e soluzioni

Con cordialità

Giorgio Abbrandini
Mimeacc
2007-10-09 20:43:50 UTC
Permalink
E' stato un piacere,
ciao.
Mimeacc
Post by Giorgio A.
Grazie 1000 a Michele e ad Access per le esudienti spiegazioni e soluzioni
Con cordialità
Giorgio Abbrandini
Loading...