Newsgroup: it.comp.appl.access
Titolo: Nuovo campo su tabella collegata

Ciao a tutti.
Ho gia fatto questa domanda, ma formulata in maniera diversa, le risposte
sono state molto esaurienti ma al di sopra delle mie capacità.
Scusatemi se tento nuovamente di farvi capire quello che intenderei fare
sperando di ricevere una risposta alla mia portata.
Ho un DB che ho chiamato "Motore.mdb", questo motore gestisce delle tabelle
che si trovano come tabelle allegate in un altro DB che ho chiamato
"DatiMotore.mdb".
La mia domanda è questa, posso con un pulsante nel file Motore.mdb, andare a
creare un nuovo campo nel file DatiMotore.mdb, con queste caratteristiche:
Tabella "clienti"
Nome campo: ImportoOre
Tipo dati: Numerico
Dimensione campo: Intero lungo
E' importante che sappiate che non mastico per niente il vba, ma riesco a
modificare in qualche modo quella fatto da altri, pertanto considerate
questa mia lacuna.
Un grazie anticipato a tutti quelli che mi potranno aiutare e anche a tutto
il NG che fin d'ora mi è stato di grande aiuto.
Pabel

 ha scritto nel messaggio
news:I60wb.7605$up5.6...@news1.tin.it...

Ciao, Pabel
non vorrei sbagliare, ma credo che, essendo la tabella collegata, access non
ti consenta di salvare le modifiche eventualmente apportate alla sua
struttura.
Ciao
Salvatore.

 ha scritto nel messaggio
news:bpq38c$2f9$1...@lacerta.tiscalinet.it...

Questo lo so, ma a me serve poter, con un bottone o pulsate, aprire il file
"datiMotore.mdb e inserire il nuovo campo nella tabella "clienti"
Grazie
Pabel

 ha scritto nel messaggio
news:em0wb.78325$hV.30...@news2.tin.it...

Prova a masticare questo
Sub CreaTabella()
Dim dbs As Database
Dim tdfMiaTabella As TableDef
Dim fldMioCampo As Field
Set dbs = OpenDatabase(".\.datiMotore.mdb ")
Set tdfMiaTabella = dbs.CreateTableDef("clienti")
Set fldMioCampo = tdfMiaTabella.CreateField("ImportoOre", dbInteger)
tdfMiaTabella.Fields.Append fldMioCampo
dbs.TableDefs.Append tdfMiaTabella
dbs.Close
End Sub
SunRex


Niente da fare, continuerň con gli omogeneizzati.
Grazie ugualmente
Pabel

pabel ha scritto:

Si può fare da vba o con una query "ALTER TABLE" (vedi help) che è più
semplice.
Set dbs="path\DatiMotore.mdb"
dbs.execute "ALTER TABLE .....;"
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:bpsibi$j2b$1...@news.newsland.it...

OK Grazie a tutti, ci sono riuscito in questo modo:
Private Sub Comando4_Click()
 Dim dbs As Database
 Set dbs = OpenDatabase("C:\aaa\datiMotore.mdb ")
 dbs.Execute "ALTER TABLE clienti " _
         & "ADD COLUMN ImportoOre MONEY; "
 dbs.Close
 End Sub
PS: il massimo sarebbe poter annullare il tutto se il campo "ImportoOre"
esistesse già, ora ci provo, nel frattempo di nuovo 1000 grazie.
Pabel

 Pabel
Se il campo esiste già viene generato un errore, e non viene creato nessun
nuovo campo quindi non serve annullare niente, basta gestire l'errore.
Oppure puoi controllare prima di eseguire la query se il campo esiste o no.
Aggiungi un "set dbs=nothing" dopo il dbs.close sennò ti resta in memoria
il riferimento all'oggetto dbs.
