Microsoft Access es la base de datos más utilizada para Visual Basic, pero Visual Basic no proporciona una función similar al comando BROWS de FoxPRoforWindows para explorar la base de datos de Access. Este programa proporciona un método similar a la interfaz de comando BROWS para explorar bases de datos de Access. Los lectores interesados pueden reescribir este programa como una subrutina con parámetros (nombre de la base de datos, nombre de la tabla, nombre del campo, ancho del campo, etc.) para implementar un método similar a Foxproforwindows. Las funciones del comando BROWS se llaman en su propia aplicación.
Primero, defina una cuadrícula (gridl), un cuadro de lista (list1), un cuadro de diálogo normal (dlg), un elemento de reconocimiento de datos (datal) y dos botones de comando (comando1 y comando2) en la ventana, y organice sus posiciones.
Cuando se ejecuta el programa, presione el botón "Abrir" para abrir un cuadro de diálogo. Después de seleccionar el archivo de la base de datos, el programa muestra los nombres de las tablas contenidas en la base de datos en el cuadro de lista. Haga clic en el nombre de la tabla en el cuadro de lista. mesa. Este programa puede configurar automáticamente el tamaño del área de navegación de acuerdo con la longitud del campo y el tamaño de fuente para garantizar que el área de navegación no exceda la ventana. Si la ventana no puede llenar el área de navegación, el programa agrega automáticamente barras de desplazamiento horizontales o verticales al área de navegación. Adjunto la lista de programas:
1SubCommand1_Click()'Haga clic en el botón "Abrir" con el mouse
2Dim,IAsInteger,cuntAsInteger
3grid1.Visible=Falso
4dlg.Filename=""
5dlg.Filter="Acceso(*.MDB)|*.MDB"
6dlg.FilterIndex=1
7dlg.Action=1'Abrir el cuadro de diálogo
8Ifdlg.Filename=""Entonces, si no se selecciona ningún archivo
9GoTocanc
10Fin Si
11datos.Conectar=""
12data.DatabaseName=dlg.Filename
13data.RecordSource=""
14data.Actualizar
15browser.Caption="Acceder al navegador[" datal.DatabaseName "]"
16cunt=datos.Base de datos.TableDefs.Count
17listl.Borrar
18ForI=0Tocunt-1'Agregar el nombre de la tabla al cuadro de lista
19IfLeft(data.Database.TableDefs(I).Name,4)<>"Msys"Entonces
20listl.Additemdata.Database.TableDefs(I).Nombre
21Fin Si
22Siguienteyo
23label1.Visible=Verdadero
24list1.Visible=Verdadero
25lista1.ListIndex=0
26cánc:
27FinSub
28SubCommand2_Click()'Haga clic en el botón "Salir" con el mouse
29Fin
30EndSub
31SubForm_Load()
32browser.Caption="Acceder al navegador"
33cuadrícula1.Altura=3200
34grid1.Visibli=Falso
35list1.Visible=Falso
36label1.Visible=Falso
37FinSub
38SubListl_Click()'Cuadro de lista de puntos del mouse
39DimctAsInteger
40data1.RecordSource=listl.Texto
41ct=datos1.Base de datos.TableDefs(lista1.ListIndex).Fields.Count
42grid1.Cols=ct
43cuadrícula1.fila=0
44ForI=0Toct-1'Agregue cada nombre de campo en la tabla a la primera fila de la cuadrícula
45grid1.Col=I
46grid1.Text=data1.Database(data1.RecordSource),Campos(I).Nombre
47Siguiente
48datos1.Actualizar
49data1.Recordset.MoveLast
50grid1.Rows=datos1.Recordset.RecordCount 1
51data1.Recordset.MoveFirst
52cuadrícula1.Fila=0
53WhileNotdata1.Recordset.EOF'Leer datos en cada celda de la cuadrícula
54cuadrícula1.Fila=cuadrícula1.Fila 1
55Fori=0Toct-1
56grid1.Col=I
57IfNotIsNull(datos.Recordset(I).Valor)Entonces
58grid1.Text=datos.Recordset(I).Valor
59Más
60grid1.Text=""
61Fin Si
62ancho de celda = Ancho de texto (cuadrícula1.Texto) 200
63Ifcellwidth>grid1.ColWidth(I)Entonces
64gridl.ColWidth(I)=ancho de celda
65Fin Si
66SiguienteI
67datos1.Recordset.MoveNext
68venir
69cuadrícula1.Ancho=0
70Fori=0Toct-1'Calcular el ancho total de la grilla
71grid1.Width=gridl.Width gridl.ColWidth(I)
72SiguienteI
73Ifgrid1.Width>scalewidthThen'Si el ancho total de la cuadrícula es mayor que el ancho de la ventana
74grid1.Width=ancho de escala
75Fin Si
76grid1.Height=(gridl.Rows 2)*20*grid1.FontSize' Calcular la longitud de la cuadrícula
77Ifgrid1.Height>3200Then'Si la longitud de la cuadrícula está fuera de los límites
78cuadrícula1.Altura=3200
79Fin Si
80browser.Width=grid1.Width 300'Establecer ancho de ventana
81grid1.Visible=Verdadero
82EndSub->