Private rsquote As Result
Public Sub Report_Open()
Dim sql As String
Mod_Conn.db_apro
sql = "SELECT * FROM soci INNER JOIN quote ON soci.idsoci = quote.idsoci WHERE Anno = '" & FrmSoci.TextBox4.Text & "' ORDER BY soci.Cognome "
rsquote = Mod_Conn.$conn.Exec(sql)
ReportHBox1.DataCount = rsquote.Count
reportlabel5.Text = FrmSoci.Label10.Text
End
Public Sub ReportLabel1_Data(Index As Integer)
rsquote.MoveTo(Index)
Last.Data = rsquote!Cognome
End
Public Sub ReportLabel2_Data(Index As Integer)
rsquote.MoveTo(Index)
Last.Data = rsquote!Anno
End
Public Sub ReportLabel3_Data(Index As Integer)
rsquote.MoveTo(index)
Last.data = Format$(rsquote!Importo, "$$0.#0")
End
il db è stato creato precedentemente da programma, che ho volutamnete escluso solo per capire il funzionamento della classe report. In effetti il db rimane aperto e non ho trovato il moto di chiuderlo quando frutto il pulsantino "X". Per la chiusura del db ok praticamente lo chiudo nel modulo in questo modo:
Public Procedure db_apro()
$conn.Close
With $conn
.Type = "sqlite3" 'tipo di database
.Host = $percorso
.Name = "anagrafica"
.Open
End With
End
cosa intendi con "aprire un DB inesistente"?Il programma che ho scaricato dalla discussione corrente non contiene istruzioni di creazione del DB, per cui quando l'ho avviato non è stato creato alcun DB, quindi il DB non esisteva proprio.
Ciao ho visto la discussione che mi hai indicato ma sembrerebbe che non si possa applicare l'evento Report_Close, provando non mi da alcun risultatoInfatti, non devi inserire la close del DB dentro la Form Report
in risposta al DB, lo trovi nella cartella del progetto viene richiamato con Application.Path.Si, poi ho guardato meglio e l'ho trovato.
Al momento sto lavorando al problema per cui anche cambiando l'anno nella textbox, il report continua ad memorizzare il dato iniziale della query, nonostante venga chiuso.Mi sembrava infatti anomala la responsabilità dovuta alla mancata close del DB. Secondo me dovrebbe dipendere dal modo con cui richiami la classe Report. Infatti è come se pur avendo impostato un anno diverso dal precedente, venisse passato sempre lo stesso anno, quello della prima volta, oppure c'è un bug in Gambas.