Uso della proprietà Rowsource in maschera continua

di il
2 risposte

Uso della proprietà Rowsource in maschera continua

Buonasera,
sono alle prese con la seguente problematica: Ho creato una maschera continua con valori che possono essere compilati attraverso l'inserimento di valori numerici e valori selezionabili attraverso una combobox facendo ricorso all'evento keyup per popolarla, secondo il seguente codice:
Private Sub txt_valore_analisi_KeyUp(KeyCode As Integer, Shift As Integer)
Dim str As String, ctrl As Access.control

Set ctrl = Form_combo_Petroliferi.cbo_combo_petroliferi

str = "SELECT valore_cbo FROM valori_cbo where ID_Analisi_Campione="

DoCmd.OpenForm "combo_Petroliferi", acNormal

With ctrl
    Select Case [ID_Analisi_Campione]
        Case Is = 12 'Colore ASTM
        id_analisi = 12
        .RowSource = str & id_analisi

        Case Is = 21 'Corrosione su Rame (3h a 100°C)
        id_analisi = 21
        .RowSource = str & 21 'id_analisi
        
        Case Is = 29 'Reaz all'acqua, riduzione vol. acqua
        id_analisi = 29
        .RowSource = str & id_analisi
        
        Case Is = 30 'Reaz all'acqua, cond. Interfaccia
        id_analisi = 30
        .RowSource = str & id_analisi
    End Select
End With

End Sub
La variabile id_analisi e di tipo public. La maschera continua contiene 5 textbox associate e una non associata dove è permesso l'editazione di testo.
Il risutato è che la combobox non viene popolata.
Forse stò cercando di mettere in pratica qualcosa che forse non è permesso fare utilizzando una maschera continua?
Grazie.

2 Risposte

  • Re: Uso della proprietà Rowsource in maschera continua

    Non va bene... se fai una cosa simile si trovano incongruenze negli altri records... e conseguenti valorizzazione.
    La form continua non è fatta per questo approccio
  • Re: Uso della proprietà Rowsource in maschera continua

    Mi stavo incaratndo da solo..
    Alla fine ho risolto inserendo un campo di tipo boolean [Scelta_Multipla] e utilizzando il seguente codice nell'evento keypress:
    
    Private Sub txt_valore_analisi_KeyPress(KeyAscii As Integer)
    id_analisi = [ID_Analisi_Campione]
    
    If [Scelta_Multipla] = True Then
        DoCmd.OpenForm "combo_Petroliferi", acNormal
        Form_combo_Petroliferi.cbo_combo_petroliferi.RowSource = "" _
        & "SELECT valore_cbo FROM valori_cbo where ID_Analisi_Campione=" & id_analisi
    End If
    End Sub
    Aperta la maschera contenente la combobox ho utilizzato il dato selezionato per aggiornare il valore nella tabella.
Devi accedere o registrarti per scrivere nel forum
2 risposte