Newsgroup: it.comp.lang.visual-basic
Titolo: VB6: e' possibile creare database da codice ?

ovvero, modificarne uno da codice ?
ricordo di si, ma come si fa ???
Pippo 

 ricordo di si, ma come si fa ???
Dipende da che database vuoi creare e/o modificare, ma in generale con i
comandi sql (CREATE TABLE, ALTER TABLE etc)
-- 
Salutoni
Sergio
C'è il giorno in cui nasci e quello in cui scegli di vivere
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ricordo di si, ma come si fa ???
Anche crearne...
http://www.gbcdepot.com/free/vb_esempi/samples_dao_mdbCREATE.zip
-> GbC
www.gbcweb.com

 ricordo di si, ma come si fa ???
Dovrebbe essere qualcosa del genere, prova a googlare.
Dim catNewDB As ADOX.Catalog
Set catNewDB = New ADOX.Catalog
catNewDB.Create "tua connessione
catNewDB.ActiveConnection = Nothing
-- 
DBMS Firebird
VB6 + Ado

...vi ringrazio, ho trovato qualcosa sulle action query, ma dubito che si 
possa modificare un database mdb per allargare gli spazi di alcuni campi e 
aggiungere altri fields senza perdere dati gia in archivio. Cosa ne dire ?
Pippo

 aggiungere altri fields senza perdere dati gia in archivio. Cosa ne dire ?
ALTER TABLE (per aggiungere).
Per allargare i campi, occorre aggiungerne uno nuovo, copiarvi dentro i 
dati, eliminare la vecchia colonna, ricrearla allargata, e copiarvi 
dentro i dati.
Alberto
-- 
Il tempo e la pazienza possono più della forza o della rabbia

 ha scritto nel messaggio 
news:45b75a0c$0$7754$5fc...@news.tiscali.it...

Tramite dao si puo accedere ad ogni singola proprietą della tabella e dei 
campi della tabella.
Ecco alcuni esempi. Nel tuo caso credo che tu debba modificare, se non 
ricordo male, la propritą FieldSize del campo che ti interessa.
Ciao
Greg
Public Sub CreaRelazione()
  Dim db As Database
  Dim rel As Relation
  Set db = OpenDatabase(App.Path & "\AccessInControl.mdb")
  Set rel = db.CreateRelation("ClientiFatture", _
    "Clienti", "Fatture", _
    dbRelationUpdateCascade Or dbRelationRight)
'    dbRelationUpdateCascade Or dbRelationDeleteCascade Or dbRelationRight)
  rel.Fields.Append rel.CreateField("Cliente")
  rel.Fields!Cliente.ForeignName = "Cliente"
    db.Relations.Append rel
  db.Close
End Sub
Public Sub ImpostaRequired()
  Dim db As Database
  Set db = OpenDatabase(App.Path & "\AccessInControl.mdb")
  db.TableDefs!Indirizzi.Fields!Nazione.Required = True
  db.TableDefs!Indirizzi.Fields!Nazione.DefaultValue = "Italy"
  db.Close
End Sub
Public Sub ImpostaAllowZeroLenght()
  Dim db As Database
  Set db = OpenDatabase(App.Path & "\AccessInControl.mdb")
  db.TableDefs!Indirizzi.Fields!Nazione.AllowZeroLength = True
  db.Close
End Sub
Public Sub ImpostaValidate()
  Dim db As Database
  Set db = OpenDatabase(App.Path & "\AccessInControl.mdb")
  db.TableDefs!Fatture.Fields!DataEmissione.ValidationRule = ">=CLng(Now())"
  db.TableDefs!Fatture.Fields!DataEmissione.ValidationText = "La data di 
emissione non puo' essere antecedente"
  db.Close
End Sub
Public Sub ImpostaValidateTable()
  Dim db As Database
  Set db = OpenDatabase(App.Path & "\AccessInControl.mdb")
  db.TableDefs!Fatture.ValidationRule = 
"[DataContabilizzazione]>=[DataEmissione]"
  db.TableDefs!Fatture.ValidationText = "La data di contabilizzazione non 
puo' essere antecedente all'emissione"
  db.Close
End Sub

 dentro i dati.
In realtà col JET SQL è possibile anche modificare dimensione e tipo di un
campo:
ALTER TABLE tblCustomers
   ALTER COLUMN Address TEXT(40)
Bye
Raf
-----------------------------------------------------
Funk: cooler than the other side of the pillow.

    ALTER COLUMN Address TEXT(40)
Hai ragione.
Mi sono confuso col rinominare una colonna, che richiede la copia dei 
dati. Il cambiamento di caratteristiche (salvo che non sia chiave, 
indicizzata, calcolata, o cose del genere), è possibile con l'alter 
column.
Ciao
Alberto
-- 
Thomas Fuller: Ci sono persone che sono state considerate coraggiose 
perchè avevano troppa paura per scappare.

"Pippo" ha scritto:

Se cerchi, proprio qualche giorno fa, ho postato la stessa domanda... e ci 
sono anche le risposte.
Si può fare, eccome se si può fare... :-)
L'unica cosa è che devi conoscere bene la sintassi SQL, per creare la 
stringa "ALTER..." adatta alle tue esigenze.
B.

... provero' !
Un grazie a tutti.
Pippo