Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

trasferire proprietà della maschera alla sottomaschera

10 views
Skip to first unread message

gianluca olla

unread,
Nov 20, 2009, 11:59:32 AM11/20/09
to
Ciao a tutti avrei bisogno che le proprietà della maschera principale
fossero ereditate anche dalle sue sottemaschere e per questo
nell'evento di apertura della maschera principale ho messo:

Me!maschera2.Form.AllowAdditions = Me.AllowAdditions
Me!maschera2.Form.AllowDeletions = Me.AllowDeletions

Me!maschera.Form.AllowEdits= Me.AllowEdits

in questo modo però la sottomaschera2 eredità solo quelle condizioni
che sono state inserite nella maschera proprietà della maschera
principale e non quelle attribuite all'utente dalla login di accesso.

Qualcuno può aiutarmi a risolvere? grazie

Alessandro Cara

unread,
Nov 20, 2009, 3:11:00 PM11/20/09
to
gianluca olla ha scritto:
> Ciao a tutti avrei bisogno che le propriet� della maschera principale

> fossero ereditate anche dalle sue sottemaschere e per questo
> nell'evento di apertura della maschera principale ho messo:
>
> Me!maschera2.Form.AllowAdditions = Me.AllowAdditions
> Me!maschera2.Form.AllowDeletions = Me.AllowDeletions
>
> Me!maschera.Form.AllowEdits= Me.AllowEdits
>
> in questo modo per� la sottomaschera2 eredit� solo quelle condizioni
> che sono state inserite nella maschera propriet� della maschera

> principale e non quelle attribuite all'utente dalla login di accesso.
>
> Qualcuno pu� aiutarmi a risolvere? grazie
>
se non esponi come hai realizzato la gestione delle politiche di
sicurezza le risposte avranno una infima accuratezza
i.e

select case myUserType
case 1: ...bla bla
case 2: ...blibli
...... bloblo
end select
--
ac

gianluca olla

unread,
Nov 21, 2009, 2:33:19 AM11/21/09
to

> se non esponi come hai realizzato la gestione delle politiche di
> sicurezza le risposte avranno una infima accuratezza
> i.e
>
> select case myUserType
>         case 1: ...bla bla
>         case 2: ...blibli
> ...... bloblo
> end select
> --
> ac

ciao, innanzittutto grazie per la risposta,.
per quanto riguarda il mio post specifico che accedo alla maschera
Principale (maschera1) con click su un pulsante colloccato su un
pannello di controllo che apre la maschera principale (maschera1) in
base al tipo di autorizzazioni date all'utente. Queste stesse
autorizzazioni dovrei estenderle anche a tutte le sottomaschere della
sottomaschera principale (maschera1) che per l'esattezza sono:
maschera2, maschera3, maschera4 e maschera5.

allego codice:

Private Sub Comando0_Click()
Dim Nome As String
Nome = DLookup("nome", "tbl_utenti", "utente = forms!mascher4!UTENTE
and password = forms!mascher4!PASSWORD")
If Me.Testo2 = "A" Then
DoCmd.OpenForm "MAschera1", , , , , , Nome
Forms!maschera1.AllowAdditions = True
Forms!maschera1.AllowDeletions = True
Forms!maschera1.AllowEdits = True
ElseIf Me.Testo2 = "D" Then
DoCmd.OpenForm "MAschera1", , , , , , Nome
Forms!maschera1.AllowAdditions = True
Forms!maschera1.AllowDeletions = False
Forms!maschera1.AllowEdits = False

Else
Dim NrRec As Integer
NrRec = DCount("*", "Tabella1")
If NrRec = 0 Then
MsgBox "Attenzione non ci sono dati da visualizzare"
Else
DoCmd.OpenForm "MAschera1", , , , , , Nome


Forms!maschera1.AllowAdditions = False
Forms!maschera1.AllowDeletions = False
Forms!maschera1.AllowEdits = False


End If
End If
End Sub

Alessandro Cara

unread,
Nov 21, 2009, 6:56:43 AM11/21/09
to
gianluca olla ha scritto:

>
>> se non esponi come hai realizzato la gestione delle politiche di
>> sicurezza le risposte avranno una infima accuratezza
>> i.e
>>
>> select case myUserType
>> case 1: ...bla bla
>> case 2: ...blibli
>> ...... bloblo
>> end select
>> --
>> ac
>
> ciao, innanzittutto grazie per la risposta,.
> per quanto riguarda il mio post specifico che accedo alla maschera
> Principale (maschera1) con click su un pulsante colloccato su un
> pannello di controllo che apre la maschera principale (maschera1) in
> base al tipo di autorizzazioni date all'utente. Queste stesse
> autorizzazioni dovrei estenderle anche a tutte le sottomaschere della
> sottomaschera principale (maschera1) che per l'esattezza sono:
> maschera2, maschera3, maschera4 e maschera5.
[cut]
Forse non mi sono spiegato.
Quello che vuoi e' chiaro.
Quello che e', invece, assolutamente oscuro e' cosa sono le
"autorizzazioni date all'utente".
Rispetto a cio' dovresti esplicitare le quattro "W" di Gableiana memoria
(where, when, what, why)
Dovresti citare inoltre la versione access io sono fermo ad A2003.
--
ac

gianluca olla

unread,
Nov 21, 2009, 7:22:13 AM11/21/09
to
On 21 Nov, 12:56, Alessandro Cara <alessandro.c...@ay-1anetwork.it>
wrote:
> ac- Nascondi testo citato
>
> - Mostra testo citato -

le autorizzazioni date all'utente sono quelle che leggi nel codice che
riportato sopra il caso D che è quello che mi interessa di più ha
diritti di inserimento dati e basta
la versione che uso di access è la 2003

Alessandro Cara

unread,
Nov 21, 2009, 8:13:40 AM11/21/09
to
gianluca olla ha scritto:
> riportato sopra il caso D che � quello che mi interessa di pi� ha

> diritti di inserimento dati e basta
> la versione che uso di access � la 2003
Quello che leggo non definisce *autorizzazioni*

Quello che leggo e' questo:

1) Restituisci un qualcosa (nome utente?) in base a Utente e password
2) In base al contenuto di una casella di testo non ben identificata
(*testo2*, valori A o D o diverso) consenti o meno aggiornamenti,
cancellazioni, inserimento.

Q:
1) Chi definisce il valore di testo2? Da dove lo prendi?
2) Come leghi l'utente al valore di Testo2?
--
ac

marco veronesi

unread,
Nov 21, 2009, 10:57:25 AM11/21/09
to
On 21 Nov, 14:13, Alessandro Cara <alessandro.c...@ay-1anetwork.it>
> > riportato sopra il caso D che è quello che mi interessa di più ha

> > diritti di inserimento dati e basta
> > la versione che uso di access è la 2003

>
> Quello che leggo non definisce *autorizzazioni*
>
> Quello che leggo e' questo:
>
> 1) Restituisci un qualcosa (nome utente?) in base a  Utente e password
> 2) In base al contenuto di una casella di testo non ben identificata
> (*testo2*, valori A o D o diverso) consenti o meno aggiornamenti,
> cancellazioni, inserimento.
>
> Q:
> 1) Chi definisce il valore di testo2? Da dove lo prendi?
> 2) Come leghi l'utente al valore di Testo2?
> --
> ac- Nascondi testo citato
>
> - Mostra testo citato -

credo da qui

Private Sub Comando10_Click()
On Error GoTo Err_Comando10_Click
If Len(Me!utente & "") = 0 Or _
Len(Me!password & "") = 0 Then
MsgBox "ATTENZIONE, INSERISCI USER E PASSWORD"
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True

Else
Me.data_accesso = Now()

Controlla_Dati = DCount("id", "tbl_utenti", "utente = forms!mascher4!
UTENTE and password = forms!mascher4!PASSWORD")
If Controlla_Dati = 1 Then
Dim abilitazione As String
Dim msg As Integer

abilitazione = DLookup("Abilitazione", "tbl_utenti", "utente = forms!
mascher4!UTENTE and password = forms!mascher4!PASSWORD")

Select Case abilitazione
Case "a"


Nome = DLookup("nome", "tbl_utenti", "utente = forms!mascher4!UTENTE
and password = forms!mascher4!PASSWORD")

Me.Visible = False
DoCmd.OpenForm "PannelloComandi", , , , , , Nome
Forms!PannelloComandi!Testo2.Value = "A"

Case "b"


Nome = DLookup("nome", "tbl_utenti", "utente = forms!mascher4!UTENTE
and password = forms!mascher4!PASSWORD")

Me.Visible = False
DoCmd.OpenForm "PannelloComandi", , , , , , Nome
Forms!PannelloComandi!Testo2.Value = "B"

Case "d"


Nome = DLookup("nome", "tbl_utenti", "utente = forms!mascher4!UTENTE
and password = forms!mascher4!PASSWORD")

Me.Visible = False
DoCmd.OpenForm "PannelloComandi", , , , , , Nome
Forms!PannelloComandi!Testo2.Value = "D"

Case Else
Dim strMsg As String, strTitolo As String
Dim intStile As Integer
strMsg = "Non sei ancora abilitato all'uso del programma"
intStile = vbOKOnly + vbInformation
strTitolo = "ATTENZIONE"
MsgBox strMsg, intStile, strTitolo


DoCmd.SetWarnings False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True

End Select
Else

If MsgBox("ATTENZIONE VERIFICA L'ESATTEZZA DEI DATI INSERITI, VUOI
RIPROVARE?", vbYesNo + vbCritical, "ATTENZIONE") = vbNo Then
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
DoCmd.Quit
Else
DoCmd.SetWarnings False

DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
Exit_Comando10_Click:
Exit Sub

Err_Comando10_Click:
Resume Exit_Comando10_Click

End If
End If
End If
End Sub


Private Sub Etichetta12_Click()
DoCmd.OpenForm "registrazione", acNormal, , , acFormAdd 'inserimento
DoCmd.OpenForm "mascher4", , , , , acHidden
End Sub


Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord acForm, Me.Name, acNewRec
End Sub

Private Sub Form_Unload(Cancel As Integer)
On Error GoTo errore

If Len(Me!utente & "") = 0 Or _
Len(Me!password & "") = 0 Then
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
Exit Sub
errore:
If err.Number = 2046 Then
Resume Next 'oppure Exit Sub


End If
End If
End Sub

Private Sub utente_AfterUpdate()
Me.utente = UCase(Mid(Me.utente, 1, 1)) & LCase(Mid(Me.utente, 2))
End Sub

Alessandro Cara

unread,
Nov 21, 2009, 11:10:40 AM11/21/09
to
Alessandro Cara ha scritto:
[cut]
P.S.
Tra una piega e l'altra (in moto) credo di aver finalmente compreso il
tuo problema.

Devi spostare le istruzione nella load del form passando il parametro di
autorizzazione.

Quando fai la openform viene eseguita la routine associata all'evento e
le proprieta' del form non sono ancora state modificate indi alla
subform viene associato il valore base di proprieta' della maschera
principale. Tra l'altro quella openform che fai, se la tua intenzione e'
di filtrare per Nome, e' sbagliata il parametro where e' dopo due virgole

Probabile istruzione corretta

OpenForm("Maschera1", , , "nome=" & Nome, , , "" & Testo2)


sulla routine di evento

if openargs = "A" then
......
elseif opeargs = "D" then
........
else
.......
endif

--
ac

gianluca olla

unread,
Nov 21, 2009, 11:30:39 AM11/21/09
to
On 21 Nov, 17:10, Alessandro Cara <alessandro.c...@ay-1anetwork.it>
wrote:

a riciao scusa ma mi sono perso :-(

0 new messages