Newsgroup: it.comp.appl.access
Titolo: Gestione dinamica invio circolari, sblocco dinamico di pulsanti

Saluti a tutti
Mi manca qualche passaggio logico per capire questo problema, vi chiedo un aiuto se possibile.
 
Sto costruendo un programmino per gestire l’invio di alcune circolari ai clienti.
Il numero di circolari è variabile durante l’anno, ma posso tranquillamente limitarmi a 12 (una al mese) per non complicare il problema.
 
 
Ho costruito una maschera iniziale con elenco a discesa degli utenti che possono accedere al programma: selezionandone uno si entra nelle maschere successive
(non parlo delle tabelle costruite ma se serve le descrivo)
 
Vorrei che un utente (chiamiamolo amministratore) di questo programma possa decidere
-	il nome della circolare (per esempio “Circolare Buone Feste”)
-	se renderla attiva o meno (vale a dire permettere agli altri utenti la gestione della sua spedizione ai clienti)
 
Gli utenti, entrando con il loro nome scelto dall’elenco a discesa, accedono ad una maschera in cui sono visibili (o sbloccati) i pulsanti per la gestione delle spedizioni delle sole circolari rese attive precedentemente dall’amministratore.
 
[Tale gestione dell’invio si risolve poi per l’utente, schiacciando il pulsante reso attivo dall’amministratore, in una maschera in cui compaiono i nomi dei clienti e la possibilità di spuntarli con una casella di controllo, per dire che per quel cliente è stata spedita quella circolare]
 
Non riesco a capire come gestire al meglio l’attività “dinamica” dell’amministratore: la decisione cioè di dare un nome specifico ad una circolare, e il renderla disponibile agli altri utenti per l’invio.
 
 
Forse tutta l’architettura non sta in piedi, nel senso che c’è un modo migliore di ragionare ma che, dopo un bel po’ che ci penso, non riesco a trovare.
 
 
Ringraziandovi anticipatamente….un ciao!

 
 
 
 
io farei cosi
nella tabella circolari dove hai immagino
idcircolare, nomecircolare, etc aggiungerei un campo "visibileA" di tipo 
testo
 
quando l'amministratore spunta che la circolare è disponibile esempio 
per utente con id=1 utente con id=5  e utente con id=4 salvo nel campo 
"visibileA" la stringa -1-4-5-  (gli id degli utenti abilitai separati 
da "-")
 
 
quando accede al programma es l'utente 5, nella lista delle circolari a 
lui disponbili mostrerei solo quelle risultanti dalla query
 
"select * from circolari where visibileA like '*-" & idutenteloggato  &"-*'"
 
nel caso di utente 5:
 
select * from circolari where visibileA like '*-5-*'
 
in questomodo vedrebbe solo quelle a lui abilitate
 
spero di averti dato uno spunto
 
ciao
BFS

 BFS
 
Grazie BFS per la risposta, molto chiara.
 
Il mio problema non è tanto che l'amministratore inibisca a questo o a quell'utente la visione "dei pulsanti necessari a gestire le circolari".
 
L'amministratore deve solo decidere [come? dove? Certamente ho costruito la TabellaCircolari con ID, NomeCircolare, Attiva (Si/no); ci sarà forse una maschera di controllo dell'amministratore in cui questa tabella viene mostrata; o forse tale maschera non serve].
 
Se l'amministratore decide che la circolare_numero01 sia attiva allora, nella maschera di gestione delle circolari, il pulsante (con su scritto Circolare_01) risulta sbloccato (o visibile) mentre tutti gli altri pulsanti relativi alle altre circolari risultano blccati (o non visibili) in quanto quelle circolari non sono state rese attive dall'amministratore.
 
(non ci sono utenti di serie A o serie B che vedono alcuni pulsanti ed altri no; tutti vedono il pulsante delle gestione della circolare, se è attiva quella circolare)
 
Mi manca cioè forse un passaggio di collegamento tra "campo dell tabella" (attiva si/no) e controllo "pulsante" della maschera
 
O magari è proprio sbagliata la mia architettura di fondo, cioè il ragionamento che ho messo in campo per gestire la cosa; magari ce n'era un altro molto più semplice (al di là degli strumenti elencati in questo post).
 
Grazie per l'attenzione, e se ti va di dire la tua...consiglio super accettato!
 
 


ah ok
l'avevo vista più difficile
intendi una cosa del genere?
 
http://it.tinypic.com/r/24g4m80/9
 
 
dove nella maschera continua hai i pulsanti attivi solo per le circolari 
attive?
 
 
 
 
 
 
 
 
 

>

se invece il pulsante "invia" è uno solo sul piede della maschera basta 
che sfrutti l'evento "su corrente" della maschera testando se il flag 
attivo =true allora abiliti il pulsante altrimenti no
 
qualcosa tipo
 
Private Sub Form_Current()
if me.attiva=true then
	me.btnInvio.enbled=true
else
	me.btnInvio.enbled=false
end if
end sub
 
 
 


ottimo quello che vedo nella immagine....con due domande...
 
1) come rendo abilitati i pulsanti? su apertura maschera faccio un controllo sul campo? potresti indicare anche per sommi capi il codice? Grazie
 
2) vorrei che quella maschera fossero in realtà...due maschere: una Maschera_1 utilizzabile solo dall'amministratore (la prima parte della maschera nell'immagine) in cui lui possa decidere nome circolare, se attiva o meno etc; ed un'altra maschera Maschera_2, utilizzabile dagli utenti, una maschera in cui i pulsanti sono abilitati o meno a seconda di quello che ha "deciso" l'amministratore in Maschera_1.
 
Scusa per l'ignoranza...
e grazie
utilizzabile "per intero" dall'amministratore (


1)si sfrutta la formattazione condizionale che però per i pulsanti non 
esiste.
quindi quello che sembra in realtà un bottone è una casella di testo 
resa graficamente simile a un bottone
in modalità struttura facendo tasto destro sopra il "pulsante" e 
selezionando formattazione condizionale imposti:
condizione1
espressione è
[Attiva]=falso
dove attiva è il nome del controllo con la checkbox (che puoi anche 
rendere invisibile per l'utente e lasciare visibile per l'amministratore)
 
 
2) puoi usare due maschere o usare la stessa abilitando da codice la 
visibilità del controllo attiva e del finto bottone "invia" in fase di 
caricamento form
 
ciao
BFS
 
 
 
 
 
 

 
 
Grazie per la risposta 1.! ottima idea...mai pensato alla formattazione condizionale per rendere abilitato o meno una casella di testo; la provo.
 
Ma è la 2. il fulcro: in fase di caricamento del form (su apertura), dovrei da codice dire: "guarda che se nella tabellacircolari, per quanto riguarda la circolare01, il campo "attiva" è True, allora, in questa maschera, il pulsante Circolare01 lo rendi visibile (o unlocked).
Mi manca proprio questo passaggio di codice!
(il collegamento tra il valore di un campo di una tabella e le impostazioni del pulsante di una maschera).
 
Grazie ancora
 


non devi scrivere alcun codice
tabella:
IDcircolare, nomCircolare, AttivaSI/NO
 
Maschera continua con i tre campi di cui sopra
 
Fai il finto pulsante e con la formatazione condizionale gli imposti 
come condizione per essere attivo che AttivaSI/NO sia true
 
se la tua mail è giusta ti mando il db che avevo fatto nella foto
 
ciao
 
 
 
 

 ciao
 
guardo solo ora, impegnatissimo
Scusami e ti ringrazio se vorrai mandarmi il dbase.
Grazie per l'interessamento e scusa se non ho risposto prima.
Ovviamente proverò anche autonomamente...ma con l'aiutino magari non mi incarto.
Grazie ancora
T.


inviato
ciao!