il problema secondo me risiede nella query di creazione della tabella
sql = "CREATE TABLE 'PianCont' ( 'NumVoce' INTEGER PRIMARY KEY ASC, .......
crea in effetti una primary key autoincrementale
prova con qualcosa del genere:
sql = "CREATE TABLE 'PianCont' ( 'NumVoce' INTEGER ,'NomeVoce' VARCHAR(50) DEFAUL.....
PRIMARY INTEGER KEY è un tipo speciale che crea un alias per l'indice numerico ROWID che viene usato da SQLite per identificare tutte le righe del DB. Se non gli passi un intero, lui incrementa in automatico quel valore, anche senza AUTOINCREMENT (così si legge sulla documentazione).
Tu usi questa funzione:
NomeRec!NumVoce = Val(TbPiaCont[i_Conta, 0])
Prova cambiando in
NomeRec!NumVoce = Int(TbPiaCont[i_Conta, 0])
Magari, forzando il tipo ad integer, riesci a risolvere.
leo72 ha scritto:
.......................................
Tu usi questa funzione:
NomeRec!NumVoce = Val(TbPiaCont[i_Conta, 0])
Prova cambiando in
NomeRec!NumVoce = Int(TbPiaCont[i_Conta, 0])
Magari, forzando il tipo ad integer, riesci a risolvere.
Ho provato, ma ho ottenuto un errore, di tutta risposta; allora ho modificato l'istruzione così:
NomeRec!NumVoce = Int(Val(TbPiaCont[i_Conta, 0]))
ed :evviva: ha funzionato. Però la gioia é durata poco perché dopo avere ricostituito la tabella di DB con tutti i suoi vecchi record, ne ho agguiunto uno con PRIMARY KEY di valore intermedio. Mi aspettavo quindi accedendo nel DB con SQLiteman di scorrere tutti i record in ordine acendente di chiave primaria. Invece quello che ho inserito per ultimo l'ho trovato ultimo. La cosa mi preoccupa alquanto, perché vuol dire che inserendo record in ordine non consecutivio di chiave primaria, tutte le mie tabelle conterranmo dati disordinati. :cry:
Allora non é sufficiente definuire nella tabella una PRIMARY KEY' Occorre anche indicizzarla? E come? :-( :ciao: