accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: Creare tabelle con proprietà in VBA

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  it.comp.appl.access ] 

Retour : Accueil du site it comp appl access  


  Sujet:   Re: Creare tabelle con proprietà in VBA  
 De: carlo.lomba...@unipv.it (Carlo)
 Groupes: it.comp.appl.access
 Organisation: http://groups.google.com
 Date: 28. Aug 2008, 03:05:02
 References: 1
On 28 Ago, 11:07, Carlo <carlo.lomba...@unipv.it> wrote:
> Voglio creare una procedura in VBA per creare le tabelle e le relative
> maschere partendo da un grande elenco di variabili con annesse
> proprietà (creato in Excel).
> Sono riuscito a creare una tabella tramite "Microsoft DAO 3.6 Object
> Library" con i nomi dei campi, il tipo di dato e la dimensione tramite
> questa funzione:
> [cite]
> Function CreaTabella()
> On Error GoTo ErrHandler
> Dim db As DAO.Database
> Dim tdf As DAO.TableDef
> Dim idx As DAO.Index
> Dim fld As DAO.Field
>
>   Set db = Application.CurrentDb
>   Set tdf = db.CreateTableDef("Tabella1")
>   With tdf
>     Set fld = .CreateField("ID", dbLong)
>       fld.Attributes = fld.Attributes Or dbAutoIncrField
>     .Fields.Append fld
>     .Fields.Append .CreateField("Data", dbDate)
>     .Fields.Append .CreateField("Settimana", dbInteger)
>     .Fields.Append .CreateField("Nome", dbText, 30)
>     .Fields.Append .CreateField("Commessa", dbText, 15)
>     .Fields.Append .CreateField("Attivita", dbText, 5)
>     .Fields.Append .CreateField("Ore", dbSingle)
>     .Fields.Append .CreateField("Trasferta", dbText, 5)
>     .Fields.Append .CreateField("Pranzo", dbInteger)
>     .Fields.Append .CreateField("PSRic", dbInteger)
>     .Fields.Append .CreateField("PCRic", dbInteger)
>     .Fields.Append .CreateField("KM", dbInteger)
>     .Fields.Append .CreateField("KMP", dbInteger)
>     .Fields.Append .CreateField("AutoTipo", dbText, 25)
>     .Fields.Append .CreateField("AutoKMinit", dbInteger)
>     .Fields.Append .CreateField("AutoKMfine", dbInteger)
>
>     Set idx = .CreateIndex
>     With idx
>       .Name = "PrimaryKey"
>       .Primary = True
>       .Unique = True
>       .Fields.Append .CreateField("ID", dbAutoIncrField)
>     End With
>     .Indexes.Append idx
>   End With
>   ' Accoda un nuovo oggetto TableDef al database
>   db.TableDefs.Append tdf
>
> ExitHere:
>     Set fld = Nothing
>     Set idx = Nothing
>     Set tdf = Nothing
>     Set db = Nothing
>     Exit Function
>
> ErrHandler:
>     MsgBox Err.Number & " " & Err.Description
>     Resume ExitHere
>
> End Function
> [/cite]
>
> Vorrei però aggiungere, sempre in VBA, le altre proprietà dei campi:
>   Formato
>   Maschera di input
>   Etichetta
>   Valore predefinito
>   Valido se
>   Messaggio errore
>   Richiesto
>   Indicizzato
>
> Ho visto una cosa simile scritta da Federico Luciani in questo
posthttp://groups.google.it/group/it.comp.appl.access/msg/9cf724847990165...
> ma non ho capito come integrarla nella creazione della tabella.
>
>   Dim dbs As Database
>   Dim tdf As TableDef
>   Dim prp As Property
>   Set dbs = currentdb
>   Set tdf = dbs.TableDefs("tblTimeStamp")
>   Set fld = tdf.Fields("DataOper")
>   Set prp = fld.CreateProperty("Format", 10, "dd/mm/yyyy")
>   fld.Properties.Append prp
>   Set prp = fld.CreateProperty("InputMask", 10,
> "99/99/00;0;_")
>   fld.Properties.Append prp

Dimenticavo: che riferimenti ci vogliono per fare funzionare il tutto?
Tra l'altro alcuni esempi della guida di Access non mi girano.
Probabilmente ho qualche libreria o riferimento disabilitati. Qualcuno
sa dirmi quali sono i riferimenti standard da attivare?


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)
Free counter and web stats