Newsgroup: it.comp.appl.access
Titolo: Variazione struttura tabella

Buonasera a tutti.
Ho un back-end con una tabella denominata Assunzioni che contiene un
campo testo chiamato pippo, il cui valore predefinito è 0
Vorrei trasformare da codice il campo pippo da testo a data e cambiare
il valore predefinito da 0 a null.
Vorrei fare il tutto con Dao 3.6
Come posso fare?
Vi ringrazio per l'aiuto

 ha scritto nel messaggio
news:a727a1b7.04012...@posting.google.com...

Sul Sito Comune ce un esempio in merito
Ferrari Rino

 Come posso fare?
Ciao, Cocc.
    Per esempio cosi':
Option Base 0
Option Compare Database
Option Explicit
Public Function xCocc()
  On Error GoTo ErrorHandler
  Const c_strTblName As String = "Assunzioni"
  Const c_strFldName As String = "Pippo"
  Dim objAcApp  As Access.Application
  Dim objDaoDbs As DAO.Database
  Dim objDaoTdf As DAO.TableDef
  Dim objDaoFld As DAO.Field
  Dim sql       As String
  Set objAcApp = Access.Application
  Set objDaoDbs = objAcApp.CurrentDb
  sql = "ALTER TABLE"
  sql = sql & " " & c_strTblName
  sql = sql & " ALTER COLUMN"
  sql = sql & " [" & c_strFldName & "]"
  sql = sql & " FLOAT"
  objDaoDbs.Execute sql, DAO.dbFailOnError
  sql = "ALTER TABLE"
  sql = sql & " " & c_strTblName
  sql = sql & " ALTER COLUMN"
  sql = sql & " [" & c_strFldName & "]"
  sql = sql & " DATETIME"
  objDaoDbs.Execute sql, DAO.dbFailOnError
  Set objDaoTdf = objDaoDbs.TableDefs.Item(c_strTblName)
  Set objDaoFld = objDaoTdf.Fields.Item(c_strFldName)
  objDaoFld.DefaultValue = "Null"
ExitProcedure:
  Set objDaoFld = Nothing
  Set objDaoTdf = Nothing
  Set objDaoDbs = Nothing
  Set objAcApp = Nothing
  Exit Function
ErrorHandler:
  With Err
    MsgBox .Description, vbCritical Or vbOKOnly, "ERR#" & CStr(.Number)
  End With
  Resume ExitProcedure
End Function
-- 
    (Facci sapere se ed eventualmente come hai risolto. Grazie.)
Ciao :o)
Maurizio Borrelli, Microsoft MVP Access
--------
?SPQR(C)
 X
--------

     Per esempio cosi':
[...]
    Oops!... Non avevo fatto caso al fatto che parlavi di BE/FE. Scusa.
Rettifico:
Option Base 0
Option Compare Database
Option Explicit
Public Function xCocc()
  On Error GoTo ErrorHandler
  Const c_strTblNameFe  As String = "Assunzioni"
  Const c_strFldNameFe  As String = "Pippo"
  Dim objAcApp          As Access.Application
  Dim objDaoDbsFe       As DAO.Database
  Dim objDaoTdfFe       As DAO.TableDef
  Dim objDaoFldFe       As DAO.Field
  Dim objDaoDbsBe       As DAO.Database
  Dim objDaoTdfBe       As DAO.TableDef
  Dim objDaoFldBe       As DAO.Field
  Dim strPathNameBe     As String
  Dim sql               As String
  Set objAcApp = Access.Application
  Set objDaoDbsFe = objAcApp.CurrentDb
  Set objDaoTdfFe = objDaoDbsFe.TableDefs.Item(c_strTblNameFe)
  Set objDaoFldFe = objDaoTdfFe.Fields.Item(c_strFldNameFe)
  strPathNameBe _
    = Split(Split(objDaoTdfFe.Connect & ";", "DATABASE=")(1), ";")(0)
  Set objDaoDbsBe = objAcApp.DBEngine.OpenDatabase(strPathNameBe)
  Set objDaoTdfBe = objDaoDbsBe.TableDefs.Item(objDaoTdfFe.SourceTableName)
  Set objDaoFldBe = objDaoTdfBe.Fields.Item(objDaoFldFe.SourceField)
  sql = "ALTER TABLE"
  sql = sql & " " & objDaoTdfBe.Name
  sql = sql & " ALTER COLUMN"
  sql = sql & " [" & objDaoFldBe.Name & "]"
  sql = sql & " FLOAT"
  objDaoDbsBe.Execute sql, DAO.dbFailOnError
  sql = "ALTER TABLE"
  sql = sql & " " & objDaoTdfBe.Name
  sql = sql & " ALTER COLUMN"
  sql = sql & " [" & objDaoFldBe.Name & "]"
  sql = sql & " DATETIME"
  objDaoDbsBe.Execute sql, DAO.dbFailOnError
  objDaoFldBe.DefaultValue = "Null"
ExitProcedure:
  On Error Resume Next
  Set objDaoFldBe = Nothing
  Set objDaoTdfBe = Nothing
  If Not (objDaoDbsBe Is Nothing) Then _
    objDaoDbsBe.Close
  Set objDaoDbsBe = Nothing
  Set objDaoFldFe = Nothing
  Set objDaoTdfFe = Nothing
  Set objDaoDbsFe = Nothing


...

Grazie, questa sera provo poi ti faccio sapere.
Cocc

 Grazie, questa sera provo poi ti faccio sapere.
Ciao, Cocc.
    Bravo, pero'... @*作#! la prossima volta da' una bella sforbiciata al
testo che hai quotato! Grazie.
-- 
