Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    5

    [access 2007] "funzionamento del gruppo opzioni"

    Buongiorno a tutti! Il mio problema è questo: In un form ho inserito un gruppo di opzioni (di checkbox e l'ho chiamato "presenze"), non collegato a nessun campo. Il form presenta i vari campi di un record (viene visualizzato un record per volta). Il gruppo riporta una "checkbox" per ogni settimana (settimana 1, settimana 2, ecc...). Quello che vorrei fare è che se viene selezionata "settimana 1", venga aggiornato il valore di un campo Si/No (anch'esso chiamato "settimana 1") presente nella tabella (che chiameremo "tabella 1") del record attualmente visualizzato nel form. Per fare ciò, ho aperto le proprietà del gruppo di opzioni, tab "eventi", nell'evento "on click" ho inserito la seguente switch:

    = Switch ( [presenze]=1; [tabella 1]![Settimana 1]=Yes )

    Però tale operazione non esegue quello che vorrei. Ciò che mi viene da pensare è che io debba indicare nella switch quale record deve essere modificato (una cosa tipo "current record", non so se esista). Quindi la domanda è: c'è un modo per effettuare quello che desidero? E' possibile fare questo gruppo di opzioni come menù a tendina (quindi un menù a tendina che però contenga varie opzioni per un unico record, non una serie di record come fa la "list box")?
    spero di essere stato comprensibile, se così non fosse vi chiedo di dirmi dove non sono stato chiaro! ringrazio tutti i anticipo, saluti, Alessandro

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333

    Re: [access 2007] "funzionamento del gruppo opzioni"

    Originariamente inviato da alep90
    Buongiorno a tutti! Il mio problema è questo: In un form ho inserito un gruppo di opzioni (di checkbox e l'ho chiamato "presenze"), non collegato a nessun campo. Il form presenta i vari campi di un record (viene visualizzato un record per volta). Il gruppo riporta una "checkbox" per ogni settimana (settimana 1, settimana 2, ecc...).


    Quello che vorrei fare è che
    se viene selezionata "settimana 1",
    venga aggiornato il valore di un campo Si/No (anch'esso chiamato "settimana 1")
    presente nella tabella (che chiameremo "tabella 1")
    del record attualmente visualizzato nel form.

    = Switch ( [presenze]=1; [tabella 1]![Settimana 1]=Yes )

    Ciò che mi viene da pensare è che io debba indicare nella switch quale record deve essere modificato (una cosa tipo "current record", non so se esista).
    Quindi hai 4/6 "checkbox" ( SiNo) settimana1, settimana2, ecc
    a parer mio sono rindondanti, se per esempio cekki settimana2 devi preoccuparti anche che tutte le altre settimane siano NON cekkate
    Ma tralasciamo questo problema ( che è tuttavia molto grave )



    non ho capito quella formula che scrivi ( = Switch ( [pre .... ) ma per aggiornare le tue 4 cekbox fai cosi:
    ( immaginiamo siano 4 e immaginiamo di elininare tutti gli spazi che hai messo nei nomi )
    codice:
    Private Sub Presenze_Click()
        Select Case Me.Presenze
            Case Is = 1
                Me.settimana1 = True
                Me.settimana2 = False
                Me.settimana3 = False
                Me.settimana4 = False
            Case Is = 2
                Me.settimana1 = False
                Me.settimana2 = True
                Me.settimana3 = False
                Me.settimana4 = False
            Case Is = 3
                Me.settimana1 = False
                Me.settimana2 = False
                Me.settimana3 = True
                Me.settimana4 = False
            Case Is = 4
                Me.settimana1 = False
                Me.settimana2 = False
                Me.settimana3 = False
                Me.settimana4 = True
        End Select
    End Sub
    se sei su una maschera e su un record non ti devi preoccupare di specificare "current record"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    5
    la scrivevo come un'espressione (nell'expression builder) per quello era così. Non c'è bisogno di nessun controllo, una persona può essere presente in più settimane, anche in tutte, ma questo l'avevo omesso dalla descrizione, se il problema di ridondanza era solo qui almeno uno l'abbiamo risolto (se invece è anche altrove ti prego di dirmelo). Ho un dubbio che mi attanaglia: le Si/No... che tipo di dato restituiscono? mi spiego, se in una formula volessi fare un calcolo, per esempio diciamo che se uno è in settimana 1 (cioè ha settimana 1=Yes) deve pagare X se è in settimana 2 paga Y ecc. posso fare totale=[Settimana 1]*X+[Settimana 2]*Y ?? oppure vengono presi booleani e quindi mi tocca fare delle "scalette di IF"? cambia il tipo di dato restituito se vario tra le possibili scelte del tipo di campo nella struttura della tabella? (esempio cambia qualcosa da True/False a Si/No? Io ho usato le Si/No, Se immetto il tuo codice devo sostituire True con Si e False con No oppure viene letto lo stesso?) Mi potresti "indirizzare" su un buon libro, pdf, incisione su pietra qualsiasi testo per imparare ad usare il linguaggio di programmazione che hai usato (che se non ho capito male dovrebbe essere VBA)? Non amo molto la programmazione ma ne ho seguito dei corsi, solo che di questo linguaggio non ho trovato nulla che mi spieghi la sintassi, le funzioni presenti, ecc. e così mi è un po' difficile Grazie mille, saluti, Alessandro

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Originariamente inviato da alep90
    .... se il problema di ridondanza era solo qui almeno uno l'abbiamo risolto ....
    Avevo interpretato male. Il problema è superato, anche il codice si semplifica
    codice:
    Private Sub Presenze_Click()
        Select Case Me.Presenze
            Case Is = 1
                Me.settimana1 = True
            Case Is = 2
                Me.settimana2 = True
            Case Is = 3
                Me.settimana3 = True
            Case Is = 4
                Me.settimana4 = True
        End Select
    End Sub

    Originariamente inviato da alep90
    (esempio cambia qualcosa da True/False a Si/No? Io ho usato le Si/No,
    Se immetto il tuo codice devo sostituire True con Si e False con No oppure viene letto lo stesso?)
    True ---- False
    Sì ------- No ( Sì con l'accento )
    On ------ Off
    -1 ------ 0
    Vero ----- Falso
    Eccetera
    sono tutte forme assolutamente identiche per definire i campi booleani
    puoi usare quella che preferisci
    La forma Nativa americana è True False quindi io la preferisco

    Originariamente inviato da alep90
    Mi potresti "indirizzare" su un buon libro, pdf, incisione su pietra qualsiasi testo per imparare ad usare il linguaggio di programmazione che hai usato (che se non ho capito male dovrebbe essere VBA)?
    ce ne sono tanti, Il migliore in assoluto è la frequentazione del forum dove
    ti si ripresentano sempre gli stessi problemi visti e rivisti da tutte le angolazioni

    poi puoi guardare questo che ho trovato ieri ( sempre su un forum )
    http://nuke.stat.unibo.it/LinkClick....id=132&mid=606


    .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.