locked
Campo Identity no Access.... RRS feed

  • Pergunta

  • Olá Galera,

    Seguinte tenho uma tabela no access que foi criada no modo design porem quando vou atualiza-la preciso dar um drop e recria-la novamente mas aí que está o problema, esta tabela tinha 2 campos e um deles era um identity, porem não estou conseguindo fazer isso atraves de código.......

    no sql server funciona legal, mas no access não vai....

    alguem saberia como a seguinte instrução ficaria no access......

    CREATE TABLE teste
    (
    id INT PRIMARY KEY IDENTITY(1,1) ,
    res INT
    )

    desde ja agradeço à todos.

    []´s


    d[^.^]b
    segunda-feira, 1 de novembro de 2010 17:25

Respostas

  • Rafael,

    obrigado por ajudar cara, mas ja consegui resolver o meu problema da seguinte forma:

    CREATE TABLE teste(
    id AUTOINCREMENT PRIMARY KEY,
    nome VARCHAR(30))

    Aqui funcionou assim cara, e foi o suficiente p/ mim.....

    de qualquer forma vlew ae a intenção de ajuda

    []´s


    d[^.^]b
    domingo, 7 de novembro de 2010 14:10

Todas as Respostas

  • Thiago,

    Você pode criar a tabela utilizando o comando CreateTableDef do próprio VBA.

    Exemplo:

    Sub CreateTableDefX()
    
      Dim dbsNorthwind As Database
      Dim tdfNew As TableDef
      Dim prpLoop As Property
    
      Set dbsNorthwind = OpenDatabase("Northwind.mdb")
    
      ' Create a new TableDef object.
      Set tdfNew = dbsNorthwind.CreateTableDef("Contacts")
    
      With tdfNew
       ' Create fields and append them to the new TableDef 
       ' object. This must be done before appending the 
       ' TableDef object to the TableDefs collection of the 
       ' Northwind database.
       .Fields.Append .CreateField("FirstName", dbText)
       .Fields.Append .CreateField("LastName", dbText)
       .Fields.Append .CreateField("Phone", dbText)
       .Fields.Append .CreateField("Notes", dbMemo)
    
       Debug.Print "Properties of new TableDef object " & _
         "before appending to collection:"
    
       ' Enumerate Properties collection of new TableDef 
       ' object.
       For Each prpLoop In .Properties
         On Error Resume Next
         If prpLoop <> "" Then Debug.Print " " & _
          prpLoop.Name & " = " & prpLoop
         On Error GoTo 0
       Next prpLoop
    
       ' Append the new TableDef object to the Northwind 
       ' database.
       dbsNorthwind.TableDefs.Append tdfNew
    
       Debug.Print "Properties of new TableDef object " & _
         "after appending to collection:"
    
       ' Enumerate Properties collection of new TableDef 
       ' object.
       For Each prpLoop In .Properties
         On Error Resume Next
         If prpLoop <> "" Then Debug.Print " " & _
          prpLoop.Name & " = " & prpLoop
         On Error GoTo 0
       Next prpLoop
    
      End With
    
      ' Delete new TableDef object since this is a 
      ' demonstration.
      dbsNorthwind.TableDefs.Delete "Contacts"
    
      dbsNorthwind.Close
    
    End Sub
    

    Rafael Gomes dos Santos Consultor de Informática MCAS - Microsoft Certified Application Specialist rafael.gomes.santos@gmail.com https://sites.google.com/site/pfntec/
    sexta-feira, 5 de novembro de 2010 14:26
  • Rafael,

    obrigado por ajudar cara, mas ja consegui resolver o meu problema da seguinte forma:

    CREATE TABLE teste(
    id AUTOINCREMENT PRIMARY KEY,
    nome VARCHAR(30))

    Aqui funcionou assim cara, e foi o suficiente p/ mim.....

    de qualquer forma vlew ae a intenção de ajuda

    []´s


    d[^.^]b
    domingo, 7 de novembro de 2010 14:10
  • Boa Thiago,

    Eu estava procurando esta mesma instrução para uma necessidade que eu tinha aqui, e sua sugestão foi perfeita.

    Marque sua thread como resposta concluída.


    Adilson de Alencar Batista
    segunda-feira, 8 de novembro de 2010 17:21