Conteúdo
Acesso utilizando o Controle de Dados Vinculados. (Data Control) Acesso utilizando a DAO. (Data Access Object)

Acesso a banco de dados externos(ISAM) padrão Xbase(Dbase/Clipper). - VB 5.0


Como acessar uma base de dados padrão XBase(Dbase,Fox,Clipper) via Data Control.

O Visual Basic utiliza o formato do banco de dados do Access, isto significa 
que os objetos:tabelas,consultas, índices, etc., são armazenados em um
único arquivo MDB o qual é considerado como o banco de dados.

No Dbase,FoxPro e Clipper o banco de dados pode ser constituído de muitos 
arquivos; arquivos de dados(DBF), arquivos de índices(NDX ou NTX) , etc.

Esse formato de banco de dados é considerado um banco de dados externo do tipo
ISAM.(Indexed Sequential Access Method)

Ao usar o Controle de Dados para acessar uma base de dados padrão XBase
você deverá fornecer as seguintes informações ao Visual Basic:

1-Propriedade Connect      - Tipo de arquivo: dBaseIII, DbaseIV, FoxPro 2.X, etc.
                             Ex: Connect: DbaseIII;

2-Propriedade Databasename - Caminho do diretório dos arquivos do banco de dados.
                             Ex: Databasename: C:\CONTROLE 

3-Propriedade RecordSource - Nome do arquivo DBF que contém os registros que 
                             você quer acessar via controle de dados, sem a 
                             a extensão DBF. EX: Recordsource: Agenda

Obs:Para arquivos XBase com extensão diferente de DBF informe a extensão 
separada do nome do arquivo pelo caractere #. Ex:Recordsource: Agenda#dat.                                    
4-Finalmente você deverá informar ao Visual Basic qual DLL utilizar com o banco de dados denominado na propriedade Connect. Para os arquivos do formato Xbase faça uma entrada no arquivo INI da sua aplicação com a seguinte linha: Dbase III=XBS200.DLL
Obs:Se durante a instalação do VB você optou pela instalação dos arquivos ISAM, o Setup colocará automaticamente as entradas no arquivo VB.INI, mas lembre-se que ao distribuir a sua aplicação você deverá instalar um arquivo INI com o mesmo nome do seu arquivo executável no diretório Windows do usuário.(Ou informar o diretório usando a propriedade IniPath).Ex:DBEngine.INIPath=path)
Além disso verifique se o arquivo XBS200.DLL está presente no diretório System do Windows caso contrário você obterá a mensagem de erro: "Can't find installable ISAM".
Exemplo de arquivo INI:

[Installable ISAMs]
Dbase III=C:\WINDOWS\SYSTEM\XBS200.DLL
Dbase IV=C:\WINDOWS\SYSTEM\XBS200.DLL
FoxPro 2.0=C:\WINDOWS\SYSTEM\XBS200.DLL
FoxPro 2.5=C:\WINDOWS\SYSTEM\XBS200.DLL
Btrieve=C:\WINDOWS\SYSTEM\BTRV200.DLL

Além disso devemos incluir a seção abaixo no arquivo INI:

[Dbase ISAM]
Deleted=On

Isto evita que os registros deletados que ainda não foram removidos do arquivo apareçam nos seus dados.
(A eliminação física requer a execução de procedimentos do próprio Dbase/Clipper.)

Finalizando, tenha em mente que o acesso a arquivos externos do tipo ISAM apresentam algumas restrições , tais como: