USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Explicação para codigo fonte
INVICTOR
UBERABA
MG - BRASIL
ENUNCIADA !
Postada em 08/12/2004 12:59 hs            
Eu achei este codigo em um projeto, me parece que é para reindexar as tabelas, porém o banco de dados é em access, por isso que nao estou entendo. Sinceramente, não entendi nenhuma parte do codigo, alguem poderia me ajudar?
Sub mnuIndexacao_Click ()
    Dim Id As New Index, Id1 As New Index, Id2 As New Index, Id3 As New Index
    Dim Db As Database
    On Error GoTo IndexErro:
    Set Db = OpenDatabase(App.Path & "ESTOQUE.MDB")
    MousePointer = 11
    Id.Name = "CodID"
    Id.Fields = "CODTOCA;FABRIC"
    Id.Unique = False
    Db.TableDefs("CADTOCA").Indexes.Delete Db.TableDefs("CADTOCA").Indexes("CodID")
    Db.TableDefs("CADTOCA").Indexes.Append Id
   
    Id1.Name = "NomID"
    Id1.Fields = "NOMEPECA;CODTOCA;FABRIC"
    Id1.Unique = False
    Db.TableDefs("CADTOCA").Indexes.Delete Db.TableDefs("CADTOCA").Indexes("NomID")
    Db.TableDefs("CADTOCA").Indexes.Append Id1
   
    Id2.Name = "CoDFab"
    Id2.Fields = "CODTOCA1;FORNECE"
    Id2.Unique = False
    Db.TableDefs("MOVIMENT").Indexes.Delete Db.TableDefs("MOVIMENT").Indexes("CoDFab")
    Db.TableDefs("MOVIMENT").Indexes.Append Id2
   
    Id3.Name = "FabNomID"
    Id3.Fields = "FABRIC;NOMEPECA;CODTOCA"
    Id3.Unique = False
    Db.TableDefs("CADTOCA").Indexes.Delete Db.TableDefs("CADTOCA").Indexes("FabNomID")
    Db.TableDefs("CADTOCA").Indexes.Append Id3
   
    Db.Close
    MousePointer = 0
    Exit Sub
IndexErro:
    If Err = 3146 Then
        MsgBox "Feche todas as janelas para Indexação.", 48, "Indexação"
        MousePointer = 0
        Exit Sub
    End If
End Sub

Humberto Pereira
"Ninguém jamais concordará em rastejar se sentir impulso de voar".
   
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
ENUNCIADA !
Postada em 08/12/2004 13:28 hs         
    Dim Id As New Index, Id1 As New Index, Id2 As New Index, Id3 As New Index
    Id.Name = "CodID"
    Id.Fields = "Data1;Data2"
    Id.Unique = False
    'deleta índice existente na tabela
    vgdb.TableDefs(0).Indexes.Delete vgdb.TableDefs(0).Indexes(0).Name
    'inseri no índice
    vgdb.TableDefs(0).Indexes.Append Id
    MsgBox "Ok"
 
   
Sandro
não registrado
ENUNCIADA !
Postada em 08/12/2004 23:32 hs   
Olá Invictor,
 
Realmente se trata de uma rotida de reindexação. Provavelmente quem criou este código estava passando por problemas com corrupção da base de dados e ao invés de reparar o banco, preferiu recriar os índices manualmente. É um código interessante que mostra como destruir e criar índices em tabelas dinamicamente, mas eu considerop desnecessário para a maioria dos projetos. Abaixo, eu detalho mais a explicação do amigo Martini:
 
   'Abre o banco de dados usando a DAO
   Set Db = OpenDatabase(App.Path & "ESTOQUE.MDB")
 
   'Mouse como ampulheta - essa eu não precisava dizer, não é :) 
    MousePointer = 11
 
    'Define o nome do índice (poderia ser PrimaryKey, ou outro nome qualquer)
    Id.Name = "CodID"
 
    'Define os campos que compõem o índice
    Id.Fields = "CODTOCA;FABRIC"
 
    'informa que o índice não exige valore exclusivos, ou seja pode haver duplicação
    Id.Unique = False
 
    'Remove o índice de mesmo nome já existente na tabela CADTOCA
    Db.TableDefs("CADTOCA").Indexes.Delete Db.TableDefs("CADTOCA").Indexes("CodID")
 
    'inclui o novo índice definido mais acima
    Db.TableDefs("CADTOCA").Indexes.Append Id
um abraço,
Sandro.
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página