Newsgroup: it.comp.appl.access
Titolo: Sottomaschera che  ogni tanto scompare e riappare con chiusura e riapertura db

Access 2003
Mai successo! Mi è capitato che in un Db con 14 sottomaschere, due di queste 
sottomaschere quando passo al record successivo scompaiono senza permettere, 
oltre che visualizzarla, di inserire i dati.
Qualche volta quando chiudo il Db e lo riapro le mostra, come se si 
riaggiornasse. Vi è mai capitato ? Quale potrebbe essere il problema.
Grazie, Bruno 


Verifica nelle proprieta' di entrambe le sottomaschere  se la voce
"consenti modifiche" nella scheda DATI e' a NO.
Personalmente mi dava lostesso problema.L'ho anche i un post di
qualche giorno fa'
Verifica anche le prop.della Form principale.
Dino

 ha scritto nel messaggio 
news:eec95fcc-6afc-4987...@z6g2000pre.googlegroups.com...


------------
Ciao Dino, "consenti modifiche" nella scheda DATI è impostata a SI, cosa 
resta da fare ?
Non ho capito se hai risolto oppure no.
Ciao, Bruno 

 ha scritto nel messaggio 
news:49723cc5$0$840$4faf...@reader5.news.tin.it...

----------------
Volevo confermare di aver verificato le proprietà della form e delle 
sottoform; sono tutte OK e il problema susiste ancora.
Ho trovato il post a cui facevi riferimento, ma non ho afferrato molto di 
quel che dice.
Spero nell'aiuto di qualche mago o di qualcuno che ha già avuto e risolto lo 
stesso problema.
Nel mio caso non si tratta certo di problemi di scheda grafica o simili.
Ciao, Bruno 

 ha scritto nel messaggio 
news:gkofff$piq$1...@tdi.cu.mi.it...

Devo dire che non mi è capitato di mettere in una form 14 sottomaschere che 
spero non tutte contemporaneamente visibili. Sono arrivato a 5 (in struttura 
a schede); ma in alternativa non puoi fare in modo di cambiare il 
SourceObject della sottomaschera? Sempre se le 14 sottomaschere non sono 
visibili contemporaneamente...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggionews:eec95fcc-6afc-4987...@z6g2000pre.googlegroups.com...

Ciao Bruno.Sì ho risolto il mio problema.Praticamente avrvo la
proprieta' "consenti modifiche"delle subform a no,e questo
provocava quando andavo ad aggiungere un nuovo record la sparizione
della subform.
Riguardo al tuo problema prova ad inserirle di nuovo le subform nella
form utilizzando l'autocomposizione.
Ciao Dino

 - Mostra testo citato -
Bruno stavo dimenticanco verifica anche le relazioni tra le tab che
danno origine alle subform
Dino

 ha scritto nel messaggio 
news:4972f9ec$0$727$5fc...@news.tiscali.it...

----------------
Ciao Sergio, se leggi qui vuol dire che hai aperto questo post.... che si 
autodistruggerà dopo x secondi. Oggi sono particolarmente allegro, che non 
guasta!
Veniamo al dunque: "Me.AllowAdditions = Me.RecordsetClone.RecordCount < 5" 
se non erro mi è stata consigliata proprio da te, l'ho inserita su current e 
su load della sottoform, purtroppo, mi pare che tale codice va a leggere 
tutti i record inseriti nelle rispettive sottomaschere, infatti le 
sottomaschere sono tutte diverse come nome (ovviamente) come anche le 
tabelle ma il codice di unione al record principale è uguale per tutti i 
record inseriti nelle sottomaschere,esempio: il nome del campo che contiene 
il codice delle form principale si chiama "CUODS" e uno dei numeri che ne 
scaturiscono e 1100104122008, iniziando da destra è ... formato dalla 
data,nr ordine di lavoro progressivo giornaliero/mensile e reparto di 
lavoro.
A questo punto, anzichè far contare tutti i record della tabella, necessita 
far contare i record con il CUODS uguale al CUODS dellla form principale. Io 
ci provo con qualche macro perchè con il codice anche se più pulito come 
modo di lavorare non ci riesco, a meno che per te non risulti una stupidata 
farlo.
Dimenticavo.... togliendo il codice incriminato, passando al nuovo record 
(nel mio caso al secondo) mostra tutte le form dando la possibilità di 
inserire i record, solo che non limita il numero di inserimenti come vorrei.
Ciao, Bruno
 

 - Mostra testo citato -
Bruno stavo dimenticanco verifica anche le relazioni tra le tab che
danno origine alle subform
Dino
--------------------------
Ciao Dino, ho risolto in parte; leggi la risposta data a Sergio Mazza.
Ciao, Bruno 

 ha scritto nel messaggio 
news:49734778$0$1111$4faf...@reader2.news.tin.it...

-------------------
Sergio, ho provato con il seguente codice ma mi da errore perchè dice di non 
trovare il campo a cui fa riferimento l'espressione. Bho!
Vedi se noti qualcosa di errato. Ho provato anche dopo aggiornamento della 
form; inserisco un record (+ i 2 associati al record precedente della form 
principale) e mi blocca l'inserimento non visualizzando la sottoform quando 
passo al nuovo record.
Ciao, Bruno
--------------
Private Sub Form_Current()
Dim NrRecord
NrRecord = DCount("[CUODS]", "[tbl_141_ScaliTec]", Me.CUODS = 
Forms![frm_141_ODS]![CUODS])
If NrRecord = 2 Then
Me.AllowAdditions = True
Else
Me.AllowAdditions = False
End If
End Sub
------------------------
End Sub 

 End Sub
Bruno; non ho capito ora qual'è il problema.
(provo ad ipotizzare) Il problema è l'istruzione "Me.AllowAdditions = 
Me.RecordsetClone.RecordCount < 5"? Che togliendola, risolvi il problema 
(della sparizione delle sottomaschere) ma ne crei un altro perché ti serviva 
quella istruzione. Giusto?
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:gl1foq$khs$1...@tdi.cu.mi.it...

-------------
Giustissimo Caro Sergio, ma se non trovo alcun modo dovrò contare i record 
che inserisco, sai che palla.
Ciao, Bruno 

> "Me.AllowAdditions = Me.RecordsetClone.RecordCount < 5"
con questa impedisci che si possano inserire più di 5 record giusto? ma se 
non ci sono record cosa succede? Che la subForm scompare.
Prova a fare cosi:
"Me.AllowAdditions = Me.RecordsetClone.RecordCount < 5 and 
Me.RecordsetClone.RecordCount <> 0"
-- 
Ciao
Geppo

 Ciao, Bruno
Di alternative ce ne sono:
es.
Private Sub Form_BeforeUpdate(Cancel As Integer)
If DCount("*", "nometabellaquery") = 5 Then
    MsgBox "Solo 5 record"
    Cancel = True
End If
End Sub
Ciao.
-- 
Sergio MAZZA 

"geppo" <c...@tin.it.invalid> ha scritto nel messaggio 
news:bS5dl.160737$Ca.2...@twister2.libero.it...

--------------
Ciao Geppo, ho provato sia come hai detto tu che con
    If Forms![frm_141_ODS]![CUODS] <> "" And Me.RecordsetClone.RecordCount 
<> 0 Then
    Me.AllowAdditions = Me.RecordsetClone.RecordCount < 5
    End If
purtroppo in entrambi i modi la maschera non viene visualizzata e il 
problema resta.
Hai in mente qualcosaltro ?
Ciao, Bruno 

 ha scritto nel messaggio 
news:gl4fgl$mhs$1...@tdi.cu.mi.it...

----------
Ciao Sergio, ho provato quanto hai scritto, modificando anche in:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If DCount("*", "Qry_141_Soste", CUODS = Forms![frm_141_ODS]![CUODS]) = 5 
Then
        MsgBox "Solo 5 record"
        Cancel = True
    End If
End Sub
----
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If DCount("CUODS", "Qry_141_Soste", CUODS = Forms![frm_141_ODS]![CUODS]) 
= 5 Then
        MsgBox "Solo 5 record"
        Cancel = True
    End If
End Sub
------------
Dove CUODS è il codice univoco del campo della tabella collegata alla form 
principale. Anche la sottoform ha in campo che è nominato allo stesso modo.
E' come se continuasse a contare tutti i record inseriti nella tabella 
"soste".
Ciao, Bruno 

 Ciao, Bruno
...
If DCount("*", "Qry_141_Soste", "CUODS = " & me![CUODS]) = 5
...
Ciao.
-- 
Sergio MAZZA 

 Ciao, Bruno
-- 
Ciao
Geppo 

"geppo" <c...@tin.it.invalid> ha scritto nel messaggio 
news:hDmdl.249152$FR.5...@twister1.libero.it...

------------------
Ciao Geppo, purtroppo non funzia, ora mollo poi ci ritorno in un altro 
momento.
Bruno