O acesso da Microsoft é o banco de dados mais comumente usado para Visual Basic, mas o Visual Basic não fornece uma função semelhante ao comando BROWS do FoxPRoforWindows para navegar no banco de dados do Access. Este programa fornece um método semelhante à interface de comando BROWS para navegar em bancos de dados Access. Os leitores interessados podem reescrever este programa como uma sub-rotina com parâmetros (nome do banco de dados, nome da tabela, nome do campo, largura do campo, etc.) para implementar um método semelhante ao Foxproforwindows. . As funções do comando BROWS são chamadas em sua própria aplicação.
Primeiro, defina uma grade (gridl), uma caixa de listagem (list1), uma caixa de diálogo normal (dlg), um item de reconhecimento de dados (datal) e dois botões de comando (command1 e command2) na janela e organize suas posições.
Quando o programa for executado, pressione o botão "Abrir" para abrir uma caixa de diálogo. Após selecionar o arquivo do banco de dados, o programa exibe os nomes das tabelas contidas no banco de dados na caixa de listagem. Clique no nome da tabela na caixa de listagem. mesa. Este programa pode definir automaticamente o tamanho da área de navegação de acordo com o comprimento do campo e o tamanho da fonte para garantir que a área de navegação não exceda a janela. Se a janela não preencher a área de navegação, o programa adiciona automaticamente barras de rolagem horizontais ou verticais à área de navegação. Em anexo está a lista de programas:
1SubCommand1_Click()'Clique no botão "Abrir" com o mouse
2Dim,IAsInteger,cuntAsInteger
3grid1.Visible=Falso
4dlg.Nome do arquivo=""
5dlg.Filter="Acesso(*.MDB)|*.MDB"
6dlg.FilterIndex=1
7dlg.Action=1'Abra a caixa de diálogo
8Ifdlg.Filename=""Então se nenhum arquivo for selecionado
9GoTocanc
10FimSe
11dados.Connect=""
12data.DatabaseName=dlg.Nome do arquivo
13data.RecordSource=""
14dados.Atualizar
15browser.Caption="Acessar navegador[" data.DatabaseName "]"
16cunt = dados.Database.TableDefs.Count
17listl.Limpar
18ForI=0Tocunt-1'Adicione o nome da tabela à caixa de listagem
19IfLeft(data.Database.TableDefs(I).Nome,4)<>"Msys"Então
20listl.Additemdata.Database.TableDefs(I).Nome
21FimSe
22PróximoEu
23label1.Visible=Verdadeiro
24list1.Visible=Verdadeiro
25lista1.ListIndex=0
26canc:
27EndSub
28SubCommand2_Click()'Clique no botão "Sair" com o mouse
29Fim
30EndSub
31SubForm_Load()
32browser.Caption="Acessar navegador"
33grade1.Altura=3200
34grid1.Visibli=Falso
35list1.Visible=Falso
36label1.Visible=Falso
37EndSub
38SubListl_Click()'Caixa de listagem de pontos do mouse
39DimctAsInteger
40data1.RecordSource=listl.Text
41ct=data1.Database.TableDefs(list1.ListIndex).Fields.Count
42grid1.Cols=ct
43grade1.Row=0
44ForI=0Toct-1'Adicione cada nome de campo da tabela à primeira linha da grade
45grid1.Col=I
46grid1.Text=data1.Database(data1.RecordSource),Campos(I).Nome
47Próximo
48dados1.Atualizar
49data1.Recordset.MoveLast
50grid1.Rows=data1.Recordset.RecordCount 1
51data1.Recordset.MoveFirst
52grade1.Linha=0
53WhileNotdata1.Recordset.EOF'Lê dados em cada célula da grade
54grade1.Row=grade1.Linha 1
55Fori=0Toct-1
56grid1.Col=I
57IfNotIsNull(data.Recordset(I).Value)Então
58grid1.Text=data.Recordset(I).Valor
59Outro
60grid1.Text=""
61FimSe
62cellwidth=TextWidth(grid1.Text) 200
63Ifcellwidth>grid1.ColWidth(I)Então
64gridl.ColWidth(I)=largura da célula
65FimSe
66PróximoI
67data1.Recordset.MoveNext
68Wend
69grade1.Largura=0
70Fori=0Toct-1'Calcule a largura total da grade
71grid1.Width=gridl.Largura gridl.ColWidth(I)
72PróximoI
73Ifgrid1.Width>scalewidthThen'Se a largura total da grade for maior que a largura da janela
74grid1.Width=largura da escala
75FimSe
76grid1.Height=(gridl.Rows 2)*20*grid1.FontSize' Calcula o comprimento da grade
77Ifgrid1.Height>3200Then'Se o comprimento da grade estiver fora dos limites
78grade1.Altura=3200
79FimSe
80browser.Width=grid1.Width 300'Definir largura da janela
81grid1.Visible = Verdadeiro
82EndSub->