Título: como selecciono la tabla que yo quiera con OleDbDataAdapter? Publicado por: Belial & Grimoire en 9 Junio 2009, 18:44 pm hola
tengo un problema... miren, estoy haciendo un progama para revisar archivos de Access pero no se como abrir la tabla que yo quiero, ya que siempre tengo que cambiar el nombre al codigo, pero quisiera hacerlo desde el mismo programa, por ejemplo... tengo un archivo access con dos tablas "dir1 y dir2"... y tengo que hacer esto Código: dim dba as OleDbDataAdapter dim dbc as OleDbConnection y luego dba = new OleDbDataAdapter ("select * from dir1", dbc) y con esto ya puedo visualizar la tabla dir1, pero para ver la tabla dir2, tengo que hacer esto desde el codigo Código: dba = new OleDbDataAdapter("select * from dir2", dbc) pero me gustaria colocar una caja de texto en donde al escribir dir1 o dir2 y al oprimir un boton pueda ver la tabla que yo quiera hay forma de encontrar las tablas y colocarlas en un listbox, para despues escribir en un textbox la tabla que quiero ver? P.D. estoy usando Visual Studio 2008 salu2 ;D Título: Re: como selecciono la tabla que yo quiera con OleDbDataAdapter? Publicado por: raul338 en 9 Junio 2009, 20:15 pm Hola.
Es simple la respuesta... lo resuelves con una sentencia IF dentro del control Código
espero que te sirva!!! Título: Re: como selecciono la tabla que yo quiera con OleDbDataAdapter? Publicado por: Belial & Grimoire en 9 Junio 2009, 22:09 pm hola
gracias raul338 por la respuesta, pero lo que busco es que al abrir un archivo de access pueda colocar en un listbox las tablas que tenga, ya que por ejemplo, si nose los nombres, lo que tendria que hacer es abrir el codigo y colocar en los if el nombre de todas las tablas, etc... y como menciono anteriormente, me gustaria abrir el archivo access y que el programa tome el nombre de las tablas y me las coloque en un listbox para saber despues cual tabla quiero abrir, pero nose de que manera hacer que el programa me encuentre los nombres de las tablas... hay alguna funcion para eso? Título: Re: como selecciono la tabla que yo quiera con OleDbDataAdapter? Publicado por: raul338 en 10 Junio 2009, 00:01 am Utiliza esta consulta para obtener todas las tablas
Código
Obtienes todas las tablas de la base de datos. Es una tabla oculta, para verla ve al menu Herramientas -> Opciones -> Ver objetos del sistema. Espero que te sirva!!! Título: Re: como selecciono la tabla que yo quiera con OleDbDataAdapter? Publicado por: Belial & Grimoire en 10 Junio 2009, 01:12 am hola
mira te dejo la parte del codigo que uso para cargar el archivo de access, y no se si me podrias ayudar diciendome donde o como coloco el codigo que me diste, es que estoy un poco mas acostumbado a VB6 y ahorita que intente con VB.net lo que me mencionaste, me aparecion algunos errores... y aunque parece un vbs, me dice algo de end select y si le agrego end select, me aparece otro error en FROM, etc Código: bdc = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Form1.odf.FileName) bdc.Open() bda = New OleDbDataAdapter("select * from" & " " & TextBox1.Text, bdc) ds = New DataSet bda.Fill(ds, TextBox1.Text) Form1.dg.DataSource = ds Form1.dg.DataMember = TextBox1.Text bdc.Close() si ves, tengo que decirle con un textbox que tabla quiero abrir, y me gustaria que el programa me dijera que tablas hay y al selecionarla colocarla en Fill y poder visualizar los datos salu2 y gracias por la ayuda ;D Título: Re: como selecciono la tabla que yo quiera con OleDbDataAdapter? Publicado por: raul338 en 10 Junio 2009, 01:57 am Cambie un poco las declaraciones, use estas
Código
En el boton que abre la conexion a la base de datos pon lo siguente Código
y el evento DoubleClick de la Lista use: Código
tengo la aplicacion de ejemplo si despues la quieres...te la paso EDIT: 1) Los ".ToString()" no son necesarios (yo tengo option strict on) 2) Para leer de la tabla MSysObjects debes ponerles los permisos de lectura de la base de datos, sino no funcionara. Para hacerlo en Access vas al menu Herramientas -> Seguridad -> Permisos de usuario y grupo. Seleccionas el usuario (o dejalo en adminstrador) y en "Nombre del objeto" buscas "MSysObjects" y en la sección de "Permisos" activas "Leer datos" ahora si....Espero que te sirva!!! ;) Título: Re: como selecciono la tabla que yo quiera con OleDbDataAdapter? Publicado por: Belial & Grimoire en 10 Junio 2009, 02:52 am hola
voy a provar el codigo que me diste, solo que tuve que desinstalar un momento VStudio 2008... pero ahorita que lo vuelva a instalar lo voy a intentar, ok... y gracias por el codigo, aunque tendre que estudiar un poco mas ya que no conocia "OleDbDataReader", ni "ExecuteReader", jeje salu2 ;D |