buscar tabla en access

17/01/2006 - 20:10 por Jose Chavez | Informe spam
amigos, como busco una tabla en access usando Vb. net?

Saludos,

Ing. Jose Chavez
TI Grupo Rodríguez
(053) 483228 Anexo 268
Costanera Sur Km 4.5
Ilo - Moquegua
 

Leer las respuestas

#1 SoftJaén
18/01/2006 - 12:23 | Informe spam
"Jose Chavez" preguntó:

como busco una tabla en access usando Vb. net?




Hola, José:

Siempre y cuando tengas los permisos adecuados para leer la tabla de sistema
«MSysObjects», puedes ejecutar la consulta SQL que te indico más abajo. Pero
te advierto de dos cosas: deberás incluir en la cadena de conexión la ruta
de un archivo de información de grupos de trabajo válido, y procurar que el
nombre de las tablas de usuario no comiencen por «MSys».

Una vez que hayas importado el espacio de nombres «System.Data.OleDb»,
ejecuta lo siguiente:

Dim cnn As New OleDbConnection

' Abrimos la conexión
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Mis documentos\Bd1.mdb;" & _
"Jet OLEDB:System Database=C:\Windows\System32\System.mdw"

Try
cnn.Open()

Dim cmd As New OleDbCommand
Dim dr As OleDbDataReader

With cmd
.Connection = cnn
.CommandType = CommandType.Text
.CommandText = "SELECT MSysObjects.Name " & _
"FROM MSysObjects " & _
"WHERE Type=1 AND Name NOT LIKE 'MSys%'"

' Ejecutamos el comando
dr = .ExecuteReader

' Leemos el nombre de las tablas
Do While dr.Read
MessageBox.Show(CStr(dr.Item("Name")))
Loop

' Cerramos los objetos
dr.Close()
dr = Nothing
cmd = Nothing

End With

Catch ex As OleDbException
MessageBox.Show(ex.Errors(0).Message)

Catch ex As Exception
MessageBox.Show(ex.Message)

Finally
cnn.Close()
cnn = Nothing

End Try

Otra opción que tienes es utilizar la biblioteca de ADO mediante COM Interop
para obtener el nombre de las tablas de la base de datos.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares