Newsgroup: it.comp.appl.access
Titolo: Dove sbaglio?? creazione table

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..

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...

  ' 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

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

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 


 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

 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.

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 


 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

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 
