Buon giorno,
ho un piccolo problemino con l’evento “Dopo Aggiornamento” di una combo box.
La combo box (chiamata cmbVeicoli) viene popolata (grazie al prezioso aiuto di Gianni ed Alex) solamente con gli ID dei veicoli che sono disponibili nel periodo di date indicate nei campi “FormDa” e “FormA” con il seguente codice associato ad un pulsante (cmdVerifica):
Private Sub cmdVerifica_Click()
If Not IsNull(Me.FormDa.Value) Then
If Not IsNull(Me.FormA.Value) Then
Me.cmbVeicoli.Enabled = True
Me.cmbVeicoli.RowSourceType = "Table/Query"
Me.cmbVeicoli.RowSource = "qryVeicoliDisponibili"
End If
End If
End Sub
la query è questa:
SELECT IDVeicolo, DescrizioneVeicolo
FROM tblVeicoli
WHERE IDVeicolo NOT IN (SELECT IDVeicolo FROM tblNoleggio WHERE [Maschere]![mscNuovoNoleggio]![FormDa]<[tblNoleggio.DataFine] AND [Maschere]![mscNuovoNoleggio]![FormA]>[tblNoleggio.DataInizio]);
La combo box cmbVeicoli risiede in una maschera che ha come origine record la tabella tblNoleggi. Ho creato delle caselle di testo non associate all’interno delle quali voglio mostrare dei dati che invece risiedono in una tabella chiamata tblVeicoli. Per fare questo ho scritto il seguente codice nell’evento “Dopo Aggiornamento” della combo box cmbVeicoli:
Private Sub cmbVeicoli_AfterUpdate()
Dim lIDVeicolo As Long
lIDVeicolo = Me.cmbVeicoli.Value
Me.DataInizio = Me.FormDa
Me.DataFine = Me.FormA
Me.IDVeicolo.Value = lIDVeicolo
'Dettagli Veicolo
Me.txtAltezzamax = DLookup("[AltezzaMax]", "tblVeicoli", [IDVeicolo] = lIDVeicolo)
Me.txtSbraccioMax = DLookup("[SbraccioMax]", "tblVeicoli", [IDVeicolo] = lIDVeicolo)
Me.txtPortataMax = DLookup("[PortataMax]", "tblVeicoli", [IDVeicolo] = lIDVeicolo)
Me.txtCapienzaCestello = DLookup("[CapienzaCestello]", "tblVeicoli", [IDVeicolo] = lIDVeicolo)
Me.txtPatente = DLookup("[Patente]", "tblVeicoli", [IDVeicolo] = lIDVeicolo)
Me.txtNote = DLookup("[Note]", "tblVeicoli", [IDVeicolo] = lIDVeicolo)
End Sub
Se inserisco delle date in “FormDa” e “FormA”, cliccando sul pulsante “Verifica” la cmbVeicoli si popola correttamente e, quando seleziono uno dei veicoli disponibili tutti i campi di cui sopra si popolano correttamente.
Il problema sorge quando voglio cambiare il tipo di veicolo selezionato. I campi restano compilati con i dati relativi al primo veicolo scelto e non vengono aggiornati.
Solo il campo Me.IDVeicolo viene aggiornato di volta in volta con l’ID del veicolo selezionato
Come mai gli altri campi non si aggiornano ?