Caro Osvaldo, mi pare di essere stato civilissimo. Non so come siete abituati su questo forum ma io nella vita reale quando spiego qualcosa a qualcuno non uso mai termini come "non hai capito nulla", "dove hai intuito" etc. (e mi riferisco anche a vecchi tread).
CHe anche tu stia cercando di farmi passare per uno che vuole fare polemica e al contempo di giustificare l'altro utente per la sua maleducazione, mi lascia perplesso e forse a questo punto è un problema ambientale, per cui non posso cavare un ragno dal buco qua.
Mi ripeto per l'ennesima volta, non contesto i contenuti di quello che scrive Alex, se non per i due grossolani errori che ha fatto in uno de suoi post, quindi le sue critiche e domande sono tutte più che pertinenti, quando le fa. Contesto il
modo, la saccenza, la rudezza e la mancanza di empatia con cui si esprime. Mi pare di esprimermi in un italiano accettabile e che tu possa capire cosa intendo, a differenza di quando parlo di database.
A tal proposito ho detto e ripeto che probabilmente non sono grado di essere più chiaro di così, credevo di esserlo stato, ma di più non posso fare, grazie comunque.
La tabella è normalizzata, non ti posto lo schema relazionale perché sarà un software interno alla mia azienda e non mi sembra il caso (seppur di poca importanza). Credo di aver capito dove volevi andare a parare, tu avresti separato Frequenza, Giorno e Settimana delle pulizie in una tabella a parte dove avresti incluso tutte le possibili combinazioni e collegato queste tramite chiave primaria alla tabella principale: lunghissimo procedimento, non so quanto necessario (se la normalizzazione non è 3NF non crolla il mondo, il db funziona uguale, anzi in alcuni casi una certa denomarlizzazione può essere necessaria, come nel mio ad esempio che ho il problema di importazione dati).
A conclusione vi dico di aver risolto il problema da solo e che sono riuscito a scrivere e formattare con VBA come chiedevo di spiegarmi, il codice non sarà un capolavoro ma funziona egregiamente, ne posto uno stralcio per chi avrà il mio stesso problema in futuro.
Anche qui sorge una domanda: non sostenevi che era impossibile proseguire sulla strada che dicevo io? Come ho potuto riuscirci?
Se il nocciolo è che io non mi so spiegare e per questo voi non capite nulla non so cosa dirvi, ho riletto i miei ultimi post e sembrano comprensibili, capisco che non sono imparziale. Ho però il sospetto che voi siate talmente dentro il software che mezza "virgola" fuori posto quando uno parla di Access vi mandi in tilt non cogliendo il punto della questione.
Il punto era: si può scrivere (e formattare in modo condizionale con vba)? RIsposta: SI
Cosa è fondamentale per fare ciò? Presenza dei controlli associati nel report (immagino, eh, perché non ho la controprova).
Cosa serve scrivere in vba? Me.Controls(nomecampo).Value= valore e Me.Controls(nomecampo).BackColor= colore.
Mi sono risposto da solo, ma fa lo stesso.
Grazie comunque per il tempo speso
Codice:
'Formattazione delle text box della checklist
'COLORE
For i = 1 To 21
Select Case frequenza
Case "3/S", "1/S"
Select Case i
Case 1, 4, 7, 10, 13, 16, 19
Me.Controls("G" & i).BackColor = lngYellow
Case 2, 5, 8, 11, 14, 17, 20
Me.Controls("G" & i).BackColor = lngRed
Case 3, 6, 9, 12, 15, 18, 21
Me.Controls("G" & i).BackColor = lngViolet
End Select
Case "1/D"
Select Case i
Case 1, 4, 7, 10, 13, 16, 19
Me.Controls("G" & i).BackColor = lngYellow
Case 2, 5, 8, 11, 14, 17, 20
Me.Controls("G" & i).BackColor = lngGrey
Case 3, 6, 9, 12, 15, 18, 21
Me.Controls("G" & i).BackColor = lngGrey
End Select
End Select
Next i
'TESTO
For i = 1 To 21
If Me.Freq.Value = "3/S" Then
Me.Controls("G" & i).Value = "12"
Else
Me.Controls("G" & i).Value = ""
End If
Next i