Quindi usi più database, divisi per anno... è una scelta, come anche usare lo stesso db, eseguendo query mirate per anno sulla data, come ad esempio:
SELECT * FROM <tabella> WHERE YEAR(<campo data>) = <anno>
Quello che non mi è però chiaro è il perchè hai problemi con la visualizzazione. Credo che per prima cosa tu debba selezionare il db tramite una selezione (es. una combobox), e poi gestirlo come al solito tramite le tue form...
Partendo da questo, il mio dubbio è che tu ti trovi con:
1) il problema di switchare tra un db e l'altro, perchè magari le form puntano al nome del db principale
2) il problema che forse non hai conoscenza delle possibilità della sintassi SQL, in particolare con SQLite
3) altro non saprei, perchè dal tuo msg non riesco a capire altro...
Ciao fernando
Il sistema di MD è facile e semplice dovresti provare a scrivere e leggere dei file senza pensare al database in modo da capire bene la procedura, poi la applichi.
Un'altro sistema per scrivere e leggere in un file le procedure sono queste
Public Sub Button2_Click()
Dim riga1, riga2, riga3 As String
Dim filelettura As String
Dim hfile As File
filelettura = User.Home & "/gino.txt"
If filelettura Then
hFile = Open filelettura For Input
While Not Eof(hFile)
Line Input #hFile, riga1 ' vado a leggere e poi dare il valore della prima riga su riga1
Line Input #hFile, riga2 ' vado a leggere e poi dare il valore della seconda riga su riga2
Line Input #hFile, riga3 '..........
Wend
Close #hfile
Message("il valore della riga1 è : " & riga1)
Endif
End
Public Sub Button3_Click()
Dim filescrittura As String
Dim hfile As File
filescrittura = User.Home & "/gino.txt"
If filescrittura Then
hfile = Open filescrittura For Create
Print #hfile, "Milano" ' scrivo Milano nella prima riga
Print #hfile, "Roma" '....
Print #hfile, "Palermo"
Close #hfile
Endif
End
per quello che devi fare tu mi pare più comodo usare setting:
Per prima cosa devi abilitare il componente "Settings"
e poi è facile..
Public Sub Button4_Click()
settings["nomechvuoi"] = "pippobaudo"
settings.Save
End
Public Sub Button5_Click()
Dim risu As String
risu = settings["nomechvuoi"]
Message(risu)
End
Per mettere risolto in questo post basta che vai al primo e modifichi il titolo, gli metti [RISOLTO] davanti alla scritta "aprire un database sqlite"
Certo non sarebbe male una volta che hai fatto il codice per cambiare il database lo scrivessi quà, in modo da essere d'aiuto ad altri utenti
Ciao
per quello puoi usare settings
come sai , la connessione la stabilisci cosi:
$hConn.Type = "sqlite3"
$hConn.Host =percorsodb
'$hconn.Name = & sqlname 'il name non serve se è già inserito nell' host
$hconn.Open
quindi poni di avere tutti i db salvati nella carte lla database della tua home, quindi:
$hConn.Type = "sqlite3"
$hConn.Host =user.home & "/database/db1"
$hconn.Open
così il programma aprirà sempre il db1.
se tu il nome del db lo memorizzi in una variabile , ad esempio nomedb, per ottenere quello che vuoi dovrai salvare il nome del db qunado chiudi il programma con:
settings["db/nome"]=nomedb
settings.save
all' avvio del programma il metodo di connessione sarà:
nomedb=settings["db/nome"]
$hConn.Type = "sqlite3"
$hConn.Host =user.home & "/database/" & nomedb
$hconn.Open
naturalmente il problema si pone al priomo avvio in assoluto del programma, in quanto nel file settings non è acora memorizzato alcun nome , percui dovrai inserire un controllo per verificare che un nome esista , altrimenti viene creato un db iniziale