none
Como criar um arquivo de dados Acess com varias tabelas no VB 2017 ? RRS feed

  • Pergunta

  • Normalmente eu utilizava o seguinte código no VB5, mas preciso transcreve-lo para o VB2017 :

    'CRIANDO DATABASE 
                Dim MyDB As Database, MyWs As Workspace, IxFlds(2) As Field
                Dim i As Integer
                On Error GoTo DataBaseError
       'Cria o Arquivo Database
          Set MyWs = DBEngine.Workspaces(0)
          Set MyDB = MyWs.CreateDatabase("C:\Solonet VBF\Dados\" & Arquivo, dbLangGeneral, dbVersion25)
      
       'TABELA DADOS
       'Cria nova TableDef para a tabela Dados
          Dim DadTd As TableDef     'Tabela para Dados da Obra
                Dim DadFlds(5) As Field   'Campo da tabela Dados
          Set DadTd = MyDB.CreateTableDef("Dados")
       'Adiciona os campos para MyTableDef Dados
          Set DadFlds(0) = DadTd.CreateField("Obra", dbText)
              DadFlds(0).Size = 60
          Set DadFlds(1) = DadTd.CreateField("Cliente", dbText)
              DadFlds(1).Size = 60
          Set DadFlds(2) = DadTd.CreateField("Data", dbText)
              DadFlds(2).Size = 10
          Set DadFlds(3) = DadTd.CreateField("Projeto", dbText)
              DadFlds(3).Size = 30
          Set DadFlds(4) = DadTd.CreateField("Obs", dbText)
              DadFlds(4).Size = 60
          Set DadFlds(5) = DadTd.CreateField("Arquivo", dbText)
              DadFlds(5).Size = 30
                'Adiciona os Campos à Tabela
                For i = 0 To 5
                    DadTd.Fields.Append DadFlds(i)
          Next i
                'Adiciona TableDef to TableDefs collection.
                MyDB.TableDefs.Append DadTd
      'TABELA PILARES
                'Cria nova TableDef para a tabela Pilares
                Dim PilTd As TableDef     'Tabela para Pilares
                Dim PilFlds(15) As Field  'Campos da tabela Pilares
                Dim PilIdx As Index       'Indice da table Pilares
          Set PilTd = MyDB.CreateTableDef("Pilares")
      'Adiciona campos para MyTableDef Pilares
          Set PilFlds(0) = PilTd.CreateField("Carg_ID", dbLong)
          Set PilFlds(1) = PilTd.CreateField("Entrada", dbLong)
          Set PilFlds(2) = PilTd.CreateField("Pilar", dbText)
          Set PilFlds(3) = PilTd.CreateField("Repetições", dbLong)
          Set PilFlds(4) = PilTd.CreateField("LadoX", dbSingle)
          Set PilFlds(5) = PilTd.CreateField("LadoY", dbSingle)
          Set PilFlds(6) = PilTd.CreateField("CargaMax", dbSingle)
          Set PilFlds(7) = PilTd.CreateField("CargaMin", dbSingle)
          Set PilFlds(8) = PilTd.CreateField("MEx", dbSingle)
          Set PilFlds(9) = PilTd.CreateField("MEy", dbSingle)
          Set PilFlds(10) = PilTd.CreateField("HxE", dbSingle)
          Set PilFlds(11) = PilTd.CreateField("HEy", dbSingle)
          Set PilFlds(12) = PilTd.CreateField("Mx", dbSingle)
          Set PilFlds(13) = PilTd.CreateField("My", dbSingle)
          Set PilFlds(14) = PilTd.CreateField("Hx", dbSingle)
          Set PilFlds(15) = PilTd.CreateField("Hy", dbSingle)
       'Adiciona os Campos à Tabela
          For i = 0 To 15
                    PilTd.Fields.Append PilFlds(i)
          Next i
       'Now add an Index
          Set PilIdx = PilTd.CreateIndex("Carg_ID")
          PilIdx.Primary = True
                PilIdx.Unique = True
          Set IxFlds(0) = PilIdx.CreateField("Carg_ID")
       'Append Field to Fields collection of Index object.
          PilIdx.Fields.Append IxFlds(0)
       'Append Index to Indexes collection.
                PilTd.Indexes.Append PilIdx
       'Append TableDef to TableDefs collection.
                MyDB.TableDefs.Append PilTd

     prompt$ = "Arquivo " & Arquivo & " Criado"
                MsgBox(prompt$)
                MyDB.Close

    quinta-feira, 7 de setembro de 2017 14:42