Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Dove sbaglio?? creazione table

15 views
Skip to first unread message

lolince

unread,
Nov 26, 2009, 8:55:54 AM11/26/09
to
Dim A As TableDefs, NuovaTable As TableDef
Set A = CurrentDb.TableDefs

For i = 0 To A.Count - 1
If A(i).Name = "prova" Then '
A.Delete ("prova")
'MsgBox "Cancello table esistente"
Exit For
End If
Next i

SQL = "SELECT * from ecc.. ecc...;"


Set NuovaTable = CurrentDb.CreateTableDef("prova", SQL)

' DoCmd.OpenTable "prova"

Secondo voi, dove sto sbagliando ? mi dice argomento non valido , ma
in
creazione querydefs invece funziona..

lolince

unread,
Nov 26, 2009, 8:16:12 AM11/26/09
to
Dim A As TableDefs, NuovaTable As TableDef
Set A = CurrentDb.TableDefs

For i = 0 To A.Count - 1
If A(i).Name = "prova" Then '
A.Delete ("prova")
'MsgBox "Cancello table esistente"
Exit For
End If
Next i

SQL = "SELECT * from ecc.. ecc...;"


Set NuovaTable = CurrentDb.CreateTableDef("prova", SQL)

DoCmd.OpenTable "prova"

Secondo dove do sto sbagliando ? mi dice argomento non valido , ma in
creazione querydefs invece funziona...

sv

unread,
Nov 26, 2009, 10:01:34 AM11/26/09
to
lolince ha scritto:

> ' DoCmd.OpenTable "prova"

Non vedo dichiarata SQL..

--
sv

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it


lolince

unread,
Nov 26, 2009, 10:31:36 AM11/26/09
to

sql non l'ho scritto ma non va manco se faccio select * from t1

sv

unread,
Nov 26, 2009, 10:45:10 AM11/26/09
to
lolince ha scritto:

Intendevo che mancava Dim SQL as String.
La sintassi di CreateTableDef dall'Help
Set deftabella = database.CreateTableDef (nome, attributi, origne, conness)

Quindi

Set NuovaTable = CurrentDb.CreateTableDef("prova", , SQL)

--
sv

--

questo articolo e` stato inviato via web dal servizio gratuito

MA

unread,
Nov 26, 2009, 11:17:59 AM11/26/09
to

"lolince" <lol...@hotmail.com> ha scritto nel messaggio
news:ed2981da-c164-46b2...@f16g2000yqm.googlegroups.com...

strSql = "SELECT s.Name FROM MSysObjects as S WHERE s.Type = 1 AND
s.Name ='local_Turni'"

Set rs = CurrentDb.OpenRecordset(strSql)
If Not rs.EOF Then
DoCmd.DeleteObject acTable, "local_Turni"
End If
rs.Close

strSql = "CREATE TABLE local_Turni"
CurrentDb.Execute strSql

strSql = "ALTER TABLE local_turni ADD idRisorsa TEXT(15), Risorsa
TEXT(255), " _
& "Segnalazione TEXT(255), Motivazione TEXT(255) "
CurrentDb.Execute strSql


lolince

unread,
Nov 27, 2009, 3:14:13 AM11/27/09
to
On 26 Nov, 16:45, salvinon...@accessgroup.it (sv) wrote:
> lolince ha scritto:
>
>
>
> > On 26 Nov, 16:01, salvinon...@accessgroup.it (sv) wrote:
> > > lolince ha scritto:
>
> > > > Dim A As TableDefs, NuovaTable As TableDef
> > > >   Set A = CurrentDb.TableDefs
> > > >     For i = 0 To A.Count - 1
> > > >      If A(i).Name = "prova" Then '
> > > >        A.Delete ("prova")
> > > > 'MsgBox "Cancello table esistente"
> > > >        Exit For
> > > >      End If
> > > >     Next i
> > > > SQL = "SELECT * from ecc.. ecc...;"
> > > >  Set NuovaTable = CurrentDb.CreateTableDef("prova", SQL)
> > > >  ' DoCmd.OpenTable "prova"
> > > > Secondo voi, dove  sto sbagliando ? mi dice argomento non valido , ma
> > > > in
> > > > creazione querydefs invece funziona..
>
> > > Non vedo dichiarata SQL..
>
> > > --
> > > sv
>
> > > --
>
> > > questo articolo e` stato inviato via web dal servizio
>
> gratuitohttp://www.newsland.it/newssegnalagli abusi ad ab...@newsland.it

>
> > sql non l'ho scritto ma non va manco se faccio select * from t1
>
> Intendevo che mancava Dim SQL as String.
> La sintassi di CreateTableDef dall'Help
> Set deftabella = database.CreateTableDef (nome, attributi, origne, conness)
>
> Quindi
>
> Set NuovaTable = CurrentDb.CreateTableDef("prova", , SQL)
>
> --
> sv
>
> --
>
> questo articolo e` stato inviato via web dal servizio gratuitohttp://www.newsland.it/newssegnala gli abusi ad ab...@newsland.it

No non va non so perche ma mi restituisce sempre lo stesso errore, mi
dice tipo di dati non corrispondenti...., la cosa strana che se provo
a generare una query funziona stessa cosa per la gestione di una
tabella no.

sv

unread,
Nov 27, 2009, 3:52:55 AM11/27/09
to
lolince ha scritto:

Con questo codice creo una tabella "prova" con due campi e la apro:

Dim db As DAO.Database
Dim NuovaTable As TableDef

Set db = CurrentDb

Set NuovaTable = db.CreateTableDef("prova")

With NuovaTable
.Fields.Append .CreateField("Campo1", dbText)
.Fields.Append .CreateField("Campo2", dbText)

End With

CurrentDb.TableDefs.Append NuovaTable

DoCmd.OpenTable "prova"

--
sv

--

questo articolo e` stato inviato via web dal servizio gratuito

lolince

unread,
Nov 27, 2009, 5:13:02 AM11/27/09
to
> > > gratuitohttp://www.newsland.it/newssegnalagliabusi ad ab...@newsland.it

>
> > > > sql non l'ho scritto ma non va manco se faccio select * from t1
>
> > > Intendevo che mancava Dim SQL as String.
> > > La sintassi di CreateTableDef dall'Help
> > > Set deftabella = database.CreateTableDef (nome, attributi, origne, conness)
>
> > > Quindi
>
> > > Set NuovaTable = CurrentDb.CreateTableDef("prova", , SQL)
>
> > > --
> > > sv
>
> > > --
>
> > > questo articolo e` stato inviato via web dal servizio
>
> gratuitohttp://www.newsland.it/newssegnalagli abusi ad ab...@newsland.it

>
> > No non va non so perche ma mi restituisce sempre lo stesso errore, mi
> > dice tipo di dati non corrispondenti...., la cosa strana che se provo
> > a generare una query funziona stessa cosa per la gestione di una
> > tabella no.
>
> Con questo codice creo una tabella "prova" con due campi e la apro:
>
> Dim db As DAO.Database
> Dim NuovaTable As TableDef
>
> Set db = CurrentDb
>
> Set NuovaTable = db.CreateTableDef("prova")
>
>  With NuovaTable
>       .Fields.Append .CreateField("Campo1", dbText)
>       .Fields.Append .CreateField("Campo2", dbText)
>
> End With
>
> CurrentDb.TableDefs.Append NuovaTable
>
> DoCmd.OpenTable "prova"
>
> --
> sv
>
> --
>
> questo articolo e` stato inviato via web dal servizio gratuitohttp://www.newsland.it/newssegnala gli abusi ad ab...@newsland.it

Si ma io la tabella la devo creare da una select non impostarla , puo
andare bene se devo generarla e poi popolarla

sv

unread,
Nov 27, 2009, 6:40:55 AM11/27/09
to
lolince ha scritto:

Con il metodo CreateTableDef i passi che conosco per creare una nuova
tabella sono questi(dall'help):

-Creare un oggetto TableDef utilizzando il metodo CreateTableDef.
-Impostare le relative propriet�.
-Creare una variabile di oggetto Field ed impostare le relative propriet�
utilizzando il metodo CreateField per ciascun campo nella tabella.
-Aggiungere i campi all'insieme Fields dell'oggetto TableDef utilizzando
il metodo Append.
-Utilizzare il metodo Append per aggiungere il nuovo oggetto TableDef
all'insieme TableDefs dell'oggetto Database.

Nel caso tu voglia invece creare una tabella da una select, leggi la
risposta di Massimiliano.

--
sv

--

questo articolo e` stato inviato via web dal servizio gratuito

0 new messages