Newsgroup: it.comp.lang.visual-basic
Titolo: Cambiare i campi in un mdb

Ciao a tutti!!!
Tempo fa ho fatto un prg che utilizzava tanti piccoli mdb per contenere i
dati.
Ogni utente ne crea uno ci scrive dentro e poi lo archivia.
Oggi però il programma si evolve e ho la necessita di aggiornare dei campi
di testo da 3 a 5 caratteri.
Ok mi sono detto faccio un prg che fa questo e lo faccio girare per tutti
igli mdb.
Tutto contento ho scritto questo codice:
        Set DBAppo = OpenDatabase(NomeFile, False)
        Debug.Print DBAppo.TableDefs("Calzate").Fields("TOTQtà").Size
        DBAppo.TableDefs("Calzate").Fields("TOTQtà").Size = 10
        DBAppo.TableDefs("Calzate").Fields("TOTQtà").
        For I = 1 To 24
            Debug.Print DBAppo.TableDefs("Calzate").Fields("M" &
Format(I)).Size
            DBAppo.TableDefs("Calzate").Fields("M" & Format(I)).Size = 5
        Next I
       DBAppo.Close
Il problema è che i campi vengono cambiati ma alla fine non vengono salvate
le modifiche!!!
E' come se prima di chiudere il db devo lanciare un metodo che salvi
tutto!!!
Aiutatemi per favore!!!
Grazie
~~~~~~~~~~~~~~~~
Andrea Fabbrucci
anfa...@tin.it
~~~~~~~~~~~~~~~~

 le modifiche!!!
Provato con ALTER TABLE??

 wrote in message
news:Hquv8.33167$vF6.1...@news2.tin.it...


Scusate la mia ignoranza....
Ma che č sto ALTER TABLE???


 Ma che è sto ALTER TABLE???
Ma che è sto "Help in Linea"?
Io ho sempre usato il NewsGroup....
Alberto

 ha scritto nel messaggio
news:a9m4gk$a3v$1...@newsreader.mailgate.org...


 come modificare i campi
Dalla guida in linea...
ALTER TABLE - SQL Command
Programmatically modifies the structure of a table.
[...]
...cerca bene! ;-)

 ha scritto nel messaggio
news:a9m7lf$28h2$1...@half.spin.it...


 Lo avevo visto ma non credo che sia VB (o smaglio!)
E' SQL... il linguaggio "standard per i database" che puoi benissimo
utilizzare in VB facendo una cosa del tipo:
connessionealdb.execute "Comando SQL".
Vedi nell'help execute ;-)

 ha scritto nel messaggio
news:a9mne6$2qh8$1...@half.spin.it...


 E nelle istruzione non parla di come modificare un campo già esistente!!!
Uhm in effetti hai ragione: puoi eliminare, aggiungere, muovere, rinominare
e modificare il valore di default... non ho trovato come modificare il tipo
del campo... in questo caso bisogna appoggiarsi su una tabella temporanea (o
su un campo temporaneo).
Con la tabella temporanea (utile se devi fare mlte modifiche al DB): creerei
una tabella temporanea nel database (CREATE TABLE...), la popolerei con
(INSERT INTO TabellaTemporanea SELECT * FROM TabellaVecchia), cancellerei la
vecchia tabella con (DROP TABLE...) e rinominerei la temporanea con (ALTER
TABLE TabellaTemporanea TO TabellaVecchia).
Con il campo temporaneo: aggiungi un nuovo campo alla tabella (ALTER
TABLE...) Inserisi il valore nel nuovo campo (UPDATE Tabella Set
Nuovocampo...), elimini il vecchio campo (ALTER TABLE...) rinomini il nuovo
(ALTER TABLE)...
Ti consiglierei di documentarti un po' sul linguaggio SQL... (se avrai a che
fare con in DB è indispensabile) ;-)
E anche di migliorare il tuo quoting (ovvero la citazione dei messaggi
precedenti), per questo dai un'occhiata qui:
http://www.hardwaretips.com/modules.php?name=News&file=article&sid=9
Ciao