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..
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
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
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
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 gratuito
Si ma io la tabella la devo creare da una select non impostarla , puo
andare bene se devo generarla e poi popolarla
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