MSAccess 2003.
Inserisco una nuova riga nella tabella Spending su Database Access esterno all'applicazione Access nella quale c'è una maschera di inserimento e visualizzazione dati.
La maschera contiene un Listbox che mostra la tabella e una serie di caselle relative ai campi da valorizzare.C'è anche il pulsante Enter1 che scatena la routine di inserimento.
Il problema è questo: sebbene l'aggiunta della riga avvenga correttamente, il listbox non si aggiorna quindi non mostra la nuova riga.
Se pongo la tabella nello stesso Access che ospita la maschera con il lisbox, l'aggiornamento di quest'ultimo è immediato.
codice:
Private Sub cmdEnter1_Click()
Dim db AS Database
Dim rst As Recordset
Dim strSql As String
set db=Opendatabase("C:\...\*.mdb")
Set rst = db.OpenRecordset("Spending")
With rst
.AddNew
!Date = Me.txtDate1
!IDElement = Me.cmbCostElement
!Amount = Me.txtAmount1
.Update
.Bookmark = .LastModified
.Close
End With
' clean textboxes with the following sub
ResetForm
Me.lstExpense1.Requery
End Sub
Qualche idea?
Dimenticavo: il rowsource del listbox è definito in apertura maschera ed è la tabella stessa.
Premetto che se il db non fosse esterno l'aggiornamento del list box è immediato.