Newsgroup: it.comp.appl.access
Titolo: Problema con TableDef

Un saluto a tutti
Ho un piccolo problema che non riesco a risolvere.
ho la miatabella as TableDef che voglio aprire con la seguente riga :
dim miatabella as TableDef
dim miodb as Database
set miodb = Currentdb
set miatabella = miodb.Openrecordset("DATI", dbOpenTable)
che mi genera un errore "tipo non corrispondente" sull'ultima riga.
Qualcuno mi puň aiutare?
Grazie e saluti a tutti.
Daniele - Verona

 risposta che dà a una tua domanda - I.Calvino

piů il Metodo "CreateField".
e allora aprila come tabledef, no?  che fai, prima dichiari una
tabledef, poi l'apri come recordset?
occhio che per aprirla come tabledef devi anche dichiarare
esplicitamente una variabile database:
dim dbs as database
dim tdf as tabledef
set dbs = currentdb
set tdf = dbs.tabledefs("nometabella")
set tdf = currentdb.tabledefs("nometabella") non funziona
--
non studio non lavoro non guardo la tv
non vado al cinema non faccio sport
----------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access

 risposta che dà a una tua domanda - I.Calvino
Grazie Giovanni per il tuo aiuto.
Ringrazio anche Lbo.
Ciao a tutti.
Daniele

 dim dbs as database
...
Sinceramente non ho mai capito questa abitudine. Visto che tutti lo fanno
devo essere certamente io a sbagliare, ma ho sempre usato:
CurrentDB.openrecordset
o
CurrentDB.tabledefs!MiaTab
ecc ecc
Senza mai dichiarare una variabile database per poi assegnarle i db
corrente.
Qual e' la ragione per dichiararla? Mi e' sempre sembrata una cosa in piu'.
Ciao, Sib

CurrentDB.tabledefs!MiaTab
ma per le tabledef un po' meno.  č vero che puoi usare questa
notazione, ma credo faccia casini se lavori sui fields ed in ogni caso
č lunghetta da scrivere.  una volta che hai settato il db, una volta
che hai settato la tabledef, te la porti appresso chiamando solo una
variabile e non tutta la gerarchia di valori.
il distinguo sul recordset viene dal fatto che a volte conviene
specificare il db su cui lo si setta per essere sicuri di poter usare
.seek.  metti che setti il recordset su una tabella allegata, se lo
setti su currentdb non lo puoi ne' indicizzare ne' seekkare, ma se lo
setti sul db dove la tabella risiede fisicamente sě.


 setti sul db dove la tabella risiede fisicamente sì.
Se devo accedere a un recorset esterno uso:
Set rst = OpenDatabase("D:\Documenti\db1.mdb").OpenRecordset("Articoli")
E' scontato che se devo accedere a piu' di un oggetto nello stesso db non mi
metto a scrivere l'intera sintassi ogni volta ma setto una variabile
database.
D'altro canto usare una tale variabile mi sembra pleonastico (Lorenzooo!
visto che terminologia?)
Ciao, Sib

visto che terminologia?)
Noooo, il mio pleonastico e' il 10 agosto.
<:-D
<>====<>====<>====<>====<>====<>
Lorenzo Coronati
lore...@tin.it
reply: tin non e' una campana
<>====<>====<>====<>====<>====<>

Noooo, il mio pleonastico e' il 10 agosto.
la sapete quella del professore di medicina che gira per l'ospedale
con i suoi studenti?  ad un certo punto esaminando i sintomi di un
paziente chiede ad uno studente: "Secondo lei, di cosa soffre questo
paziente?"
studente indeciso: "maaa... direiii... ehm... rinite infiammatoria?"
prof: "ma č un pleonasmo!"
studente: "ecco sě, rinite infiammatoria complicata da un pleonasmo!".
