ID do artigo: 155512 - Última revisão: sexta-feira, 19 de janeiro de 2007 - Revisão: 3.3

ACC: Como criar um arquivo Schema.ini programaticamente

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Moderado: Requer básica de macro, codificação e interoperabilidade habilidades.
Expandir tudo | Recolher tudo

Sumário

Este artigo mostra como escrever um procedimento que cria um arquivo Schema.ini com base em uma tabela existente no seu banco de dados.

Este artigo presume que você esteja familiarizado com Visual Basic for Applications e com a criação de aplicativos do Microsoft Access usando as ferramentas de programação fornecidas com o Microsoft Access. Para obter mais informações sobre o Visual Basic for Applications, consulte sua versão do manual "Criando aplicativos com o Microsoft Access".

Mais Informações

No Microsoft Access 7.0 e Microsoft Access 97, você pode vincular ou abrir arquivos de texto delimitados e de comprimento fixo. Microsoft Access pode ler um arquivo de texto diretamente, ou ele pode usar um arquivo de informações denominado schema.ini para determinar as características do arquivo de texto, como nomes de coluna, tamanhos de campo e tipos de dados. Um arquivo Schema.ini é necessário quando você vincular ou abre arquivos de texto de comprimento fixo; ele é opcional para arquivos de texto delimitado. O arquivo Schema.ini deve residir na mesma pasta como os arquivos de texto que ele descreve.

O exemplo a seguir o procedimento aceita quatro parâmetros:
     Parameter        Value
   ------------------------------------------------------------------------
   bIncFldNames     True/False, stating if the first row of the text file
                    has column names
   sPath            Full path to the folder where Schema.ini will reside
   sSectionName     Schema.ini section name; must be the same as the name
                    of the text file it describes
   sTblQryName      Name of the table or query for which you want to
                    create a Schema.ini file
				
Aviso: O procedimento neste exemplo irá substituir um arquivo Schema.ini existente na mesma pasta de destino sem aviso.
  1. Abra o banco de dados de exemplo Northwind.mdb.
  2. Crie um módulo e digite a seguinte linha na seção Declarações caso ainda não estiver lá: Option Explicit
  3. Digite o seguinte procedimento:
          Public Function CreateSchemaFile(bIncFldNames As Boolean, _
                                           sPath As String, _
                                           sSectionName As String, _
                                           sTblQryName As String) As Boolean
             Dim Msg As String ' For error handling.
             On Local Error GoTo CreateSchemaFile_Err
             Dim ws As Workspace, db As DATABASE
             Dim tblDef As TableDef, fldDef As Field
             Dim i As Integer, Handle As Integer
             Dim fldName As String, fldDataInfo As String
             ' -----------------------------------------------
             ' Set DAO objects.
             ' -----------------------------------------------
             Set db = CurrentDB()
             ' -----------------------------------------------
             ' Open schema file for append.
             ' -----------------------------------------------
             Handle = FreeFile
             Open sPath & "schema.ini" For Output Access Write As #Handle
             ' -----------------------------------------------
             ' Write schema header.
             ' -----------------------------------------------
             Print #Handle, "[" & sSectionName & "]"
             Print #Handle, "ColNameHeader = " & _
                             IIf(bIncFldNames, "True", "False")
             Print #Handle, "CharacterSet = ANSI"
             Print #Handle, "Format = TabDelimited"
             ' -----------------------------------------------
             ' Get data concerning schema file.
             ' -----------------------------------------------
             Set tblDef = db.TableDefs(sTblQryName)
             With tblDef
                For i = 0 To .Fields.Count - 1
                   Set fldDef = .Fields(i)
                   With fldDef
                      fldName = .Name
                      Select Case .Type
                         Case dbBoolean
                            fldDataInfo = "Bit"
                         Case dbByte
                            fldDataInfo = "Byte"
                         Case dbInteger
                            fldDataInfo = "Short"
                         Case dbLong
                            fldDataInfo = "Integer"
                         Case dbCurrency
                            fldDataInfo = "Currency"
                         Case dbSingle
                            fldDataInfo = "Single"
                         Case dbDouble
                            fldDataInfo = "Double"
                         Case dbDate
                            fldDataInfo = "Date"
                         Case dbText
                            fldDataInfo = "Char Width " & Format$(.Size)
                         Case dbLongBinary
                            fldDataInfo = "OLE"
                         Case dbMemo
                            fldDataInfo = "LongChar"
                         Case dbGUID
                            fldDataInfo = "Char Width 16"
                      End Select
                      Print #Handle, "Col" & Format$(i + 1) _
                                      & "=" & fldName & Space$(1) _
                                      & fldDataInfo
                   End With
                Next i
             End With
             MsgBox sPath & "SCHEMA.INI has been created."
             CreateSchemaFile = True
          CreateSchemaFile_End:
             Close Handle
             Exit Function
          CreateSchemaFile_Err:
             Msg = "Error #: " & Format$(Err.Number) & vbCrLf
             Msg = Msg & Err.Description
             MsgBox Msg
             Resume CreateSchemaFile_End
          End Function
    						
  4. Para testar essa função, digite a seguinte linha na janela Verificação imediata e, em seguida, pressione ENTER:
    ? CreateSchemaFile(True,"c:\MSOffice\Access\","EMP.TXT","Employees")
  5. Abra o arquivo Schema.ini criado com um editor de texto, como o bloco de notas ou WordPad. Observe que o arquivo contém as seguintes informações:
    [EMP.TXT]
    ColNameHeader = True
    CharacterSet = ANSI
    Formato = TabDelimited
    Col1 = Número_inteiro CódigoDoFuncionário
    Col2 = 20 de largura de caracteres do sobrenome
    Col3 = 10 de largura de caracteres de nome
    Col4 = largura de caracteres do título 30
    Col5 = TitleOfCourtesy caracteres largura 25
    Col6 = DataDeNascimento data
    Col7 = HireDate data
    Col8 = largura de caracteres de endereço 60
    Col9 = largura de caracteres de cidade 15
    Col10 = região caracteres largura 15
    Col11 = largura de caracteres de CEP 10
    Col12 = largura de caracteres de país 15
    Col13 = TelefoneResidencial caracteres largura 24
    Col14 = largura de caracteres de extensão 4
    Col15 = fotos OLE
    Col16 = LongChar anotações
    Col17 = Número_inteiro Supervisor

Referências

Para obter mais informações sobre o arquivo Schema.ini e as informações que ele contém, procure drivers de inicialização e Inicializando o driver de fonte de dados de texto usando o índice da Ajuda do Microsoft Access 97.

Para obter mais informações sobre o arquivo Schema.ini e sua relação com o Microsoft Access e o mecanismo de banco de dados Microsoft Jet, consulte o "guia do programador do Microsoft Jet Database Engine," páginas 306 312.

A informação contida neste artigo aplica-se a:
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
Palavras-chave: 
kbmt kbhowto kbprogramming KB155512 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 155512  (http://support.microsoft.com/kb/155512/en-us/ )
Retired KB ArticleAviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.