Este post va dirigido principalmente a mis alumnos de Ingeniería en Software, pero puede ser útil a varios más.
Primero que nada, eso de MS Access se que no va ya con mi filosofía de herramientas a utilizar, pero muchas veces es necesario ya sea porque es la única herramienta que se conoce o bien es un requisito del cliente/maestro (esto último no es mi caso
).
Para realizar la conexión y las transacciones con la base de datos voy a utilizar una librería que se puede descargar conexionOleDb.dll y también la base de datos.
El motivo de utilizar esta librería es para agilizar las cosas y obviar detalles básicos de una conexión a BD (adaptador, conector, datatables, etc.)
La librería cuenta con los siguientes métodos y atributos:

El primer paso es crear nuestro proyecto y agregar la referencia a la librería, esta referencia se agrega desde el "Explorador de Soluciones".
Una vez agregada la referencia podemos comenzar a programar.
Desde el editor de código le indicamos que vamos a utilizar nuestra librería:
Imports net.pecesama.db.OleDb
-
Imports net.pecesama.db.OleDb
Nuestra clase UI va a necesitar de dos propiedades, una para tener el objeto de conexión y otra para tener el resultado de las consultas a la BD:
Dim con As conexionOleDb
Dim dt As DataTable
-
Dim con As conexionOleDb
-
Dim dt As DataTable
A nuestra UI vamos a agregarle los siguientes elementos:

El DataGridView se llama Data y deben asignar el siguiente valor en sus propiedades SelectionMode = FullRowSelect
Los TextBoxes se llaman txtUsuario, txtPass, txtNombre respectivamente.
El DataGidView lo vamos a utilizar SOLO para ver la información, no lo usaremos en su modo de edición, esto para ver como hacer la edición desde lenguaje SQL.
En el evento Form1_Load vamos a agregar el siguiente código:
Dim rutaBD As String = Application.StartupPath + "\bd.mdb"
con = New conexionOleDb(rutaBD)
If con.conectar Then
dt = con.ejecutaSql("SELECT * FROM usuarios")
data.DataSource = dt
Else
MessageBox.Show("No se pudo conectar a la BD" + vbCrLf + vbCrLf + con.error, "Error al conectar", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
-
Dim rutaBD As String = Application.StartupPath + "\bd.mdb"
-
con = New conexionOleDb(rutaBD)
-
If con.conectar Then
-
dt = con.ejecutaSql("SELECT * FROM usuarios")
-
data.DataSource = dt
-
Else
-
MessageBox.Show("No se pudo conectar a la BD" + vbCrLf + vbCrLf + con.error, "Error al conectar", MessageBoxButtons.OK, MessageBoxIcon.Error)
-
End If
Para probar la edición de registros, vamos a agregarle un evento click a nuestro DataGridView, y en este evento (data_Click) ponemos el siguiente código:
txtUsuario.Text = data.SelectedCells(1).Value
txtPass.Text = data.SelectedCells(2).Value
txtNombre.Text = data.SelectedCells(3).Value
-
txtUsuario.Text = data.SelectedCells(1).Value
-
txtPass.Text = data.SelectedCells(2).Value
-
txtNombre.Text = data.SelectedCells(3).Value
No hay mucho que explicar en el código anterior, solo que las cajas de texto se llenan con la información del renglón seleccionado en el DataGridView.
A nuestro botón editar le ponemos en el evento btnEditar_Click el siguiente código para actualizar la BD.
Dim sqlStr As String ' aqui pondremos la consulta
' SQL para editar registros
sqlStr = "UPDATE usuarios SET usuario='" + txtUsuario.Text + "', pass='" + txtPass.Text + "', nombre='" + txtNombre.Text + "' WHERE id_usuario=" + data.SelectedCells(0).Value.ToString()
con.ejecutaSql(sqlStr) ' ejecutamos la consulta directamente en la BD
' refrescamos el DataGridView y las cajas de texto
dt = con.ejecutaSql("SELECT * FROM usuarios")
data.DataSource = dt
txtUsuario.Text = ""
txtPass.Text = ""
txtNombre.Text = ""
-
Dim sqlStr As String ‘ aqui pondremos la consulta
-
‘ SQL para editar registros
-
sqlStr = "UPDATE usuarios SET usuario=’" + txtUsuario.Text + "’, pass=’" + txtPass.Text + "’, nombre=’" + txtNombre.Text + "’ WHERE id_usuario=" + data.SelectedCells(0).Value.ToString()
-
con.ejecutaSql(sqlStr) ‘ ejecutamos la consulta directamente en la BD
-
‘ refrescamos el DataGridView y las cajas de texto
-
dt = con.ejecutaSql("SELECT * FROM usuarios")
-
data.DataSource = dt
-
txtUsuario.Text = ""
-
txtPass.Text = ""
-
txtNombre.Text = ""
Por último a nuestro botón salir en el evento btnSalir_Click le agregamos:
con.cerrarConexion()
Application.Exit()
-
con.cerrarConexion()
-
Application.Exit()
Con esto terminamos el ejemplo de como conectarnos a una base de datos en Access, como leer los datos, como editarlos y como cerrar la conexión.
Queda como ejercicio para ustedes la inserción de registros.
Actualización: Les pongo el código para insertar y eliminar en el ejemplo.
Agregue dos nuevos botones en el formulario, btnAgregar y btnEliminar.
A nuestro botón editar le ponemos en el evento btnAgregar_Click el siguiente código para insertar registros.
Dim sqlStr As String
sqlStr = "INSERT INTO usuarios (usuario, pass, nombre) VALUES ('" + txtUsuario.Text + "', '" + txtPass.Text + "', '" + txtNombre.Text + "');"
con.ejecutaSql(sqlStr)
dt = con.ejecutaSql("SELECT * FROM usuarios")
data.DataSource = dt
txtUsuario.Text = ""
txtPass.Text = ""
txtNombre.Text = ""
-
Dim sqlStr As String
-
sqlStr = "INSERT INTO usuarios (usuario, pass, nombre) VALUES (‘" + txtUsuario.Text + "’, ‘" + txtPass.Text + "’, ‘" + txtNombre.Text + "’);"
-
con.ejecutaSql(sqlStr)
-
dt = con.ejecutaSql("SELECT * FROM usuarios")
-
data.DataSource = dt
-
txtUsuario.Text = ""
-
txtPass.Text = ""
-
txtNombre.Text = ""
A nuestro botón editar le ponemos en el evento btnEliminar_Click el siguiente código para eliminar registros.
Dim sqlStr As String
sqlStr = "DELETE FROM usuarios WHERE id_usuario=" + data.SelectedCells(0).Value.ToString()
con.ejecutaSql(sqlStr)
dt = con.ejecutaSql("SELECT * FROM usuarios")
data.DataSource = dt
txtUsuario.Text = ""
txtPass.Text = ""
txtNombre.Text = ""
-
Dim sqlStr As String
-
sqlStr = "DELETE FROM usuarios WHERE id_usuario=" + data.SelectedCells(0).Value.ToString()
-
con.ejecutaSql(sqlStr)
-
dt = con.ejecutaSql("SELECT * FROM usuarios")
-
data.DataSource = dt
-
txtUsuario.Text = ""
-
txtPass.Text = ""
-
txtNombre.Text = ""
Este código se puede mejorar cambiando la declaración de Dim sqlStr As String al inicio de la clase del formulario, y crear un método para el código de refrescar el DataGridView y los TextBoxes.
72 Responses
Martin Arroyo
December 5th, 2007 at 10:17 pm
1Profesor, intente implementar su ejercicio. Y ya ve que soy medio menso pa eso y especificamente no me agarro la RUTA de la DB le intente poner comillas y no funcionó entre otras cosas, y lo mas cercano que estube de hacerlo bien, fue un Error en una / :ee
Y que cree, me meti a borland y me mandaron una clave de delphi 7 pero no el ejecutable….
bueno profe muchas gracias por la atención…
Martin Arroyo
December 5th, 2007 at 11:13 pm
2Bueno profesor, otra vez yo, pues creo que ya me salio un error en la tercer linea del codigo del btnEditar_click con el mensaje
“El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección.
Nombre del parámetro: index”
quisiera que me orientara acerca de por donde podria ir mi error
pecesama
December 5th, 2007 at 11:23 pm
3Arroyo con respecto a su error en el evento btnEditar_click lo más seguro es que deba cambiar en el DataGridView la propiedad de SelectionMode = FullRowSelect
Ya les puse un enlace en el post para descargarse el proyecto de VS.Net del ejemplo.
pecesama
December 5th, 2007 at 11:50 pm
4Con respecto al Delphi para .Net, ahora esta disponible en el producto que se llama CodeGear RAD Studio 2007 el cual dice que contiene Delphi, Delphi for .NET and C Builder y se pueden bajar una versión de prueba desde el sitio http://www.codegear.com/products/radstudio/ en Delphi for .Net no deberian tener problemas para utilizar la .dll que les puse para conectarse a BD de access, solo deberian cambiar el codigo que esta en el ejemplo de uso desde VB.Net
Otra vez Arroyo
December 6th, 2007 at 1:30 am
5El ejemplo funciona con una tabla, pero para mi proyecto requiro de una base de datos relacional, las relaciones las establezco directamente en Access o abria una propiedad tipo CampoMaestro para relacionarlas?
francisco gonzalez
December 6th, 2007 at 2:52 am
6profe!!! por que cuando pongo: con.ejecutaSql(“DELETE FROM movimientos WHERE no_venta=4″)
pues a lo que yo entiendo deberia de borrar lo registros con no_venta=4, pero no los borra, me gustaria saber por que razon, igual me pasa con el INSERT INTO, no inserta los registros
pecesama
December 6th, 2007 at 10:19 am
7para que sus comentarios no se vayan a la cola de moderación cada vez que pongan uno, usen los mismo datos siempre.
pecesama
December 6th, 2007 at 10:20 am
8Arroyo, puede hacer las dos cosas, el “truco” estaria en como hacer la consulta SQL para ecuperar los datos y modificarlos, pero la clase funciona para las dos formas.
pecesama
December 6th, 2007 at 10:33 am
9Gonzalez lo más seguro es que si lo esta haciendo solo que no le da refrescar el datagrid.
He actualizado el post con el codigo para insertar y eliminar.
daniel mejia
December 6th, 2007 at 3:27 pm
10profesor podria subir por favor el ejercicio que nos explico en clase de visual .net. en el que no enseño como debia de quedar cada clase.
nomas para comparar y saber si voy bien o no
Victor Rodrigo Montaño Mancilla
December 6th, 2007 at 4:22 pm
11Profesor una pregunta tome como referencia su codigo el cual me sirvio de mucho pero cuando salgo de la aplicacion los datos no se guardan me podria decir como que investigar y si no seria mucha molestia el comando que no hayo ningun tipo de ayuda muy presisa con el Sr. Google xD
pako
December 6th, 2007 at 9:39 pm
12profe…el codigo d borrar unicamente me borra el registro del dataGridView pero no lo borra d la base de datos!!! asi como le dije en la faku!!!…Por que cuando vuelvo a ejecutar el programa el registro k “borre” vuelve a aparecer cuando realizo la consulta
pecesama
December 6th, 2007 at 11:09 pm
13pako, ya solucionamos por IM los problemas de capa 8
pecesama
December 6th, 2007 at 11:10 pm
14Mejia, en unos momentos más lo subo al blog del grupo
pecesama
December 6th, 2007 at 11:11 pm
15Rodrigo, lo más seguro es que le esta pasando lo mismo que a Gonzalez, el tenia el mismo problema, lo que pasa que estan poniendo la BD como contenido del proyecto, por lo tanto cada que lo ejecutan pone una copia nueva de la BD.
pako
December 7th, 2007 at 2:26 am
16podemos usar el modulo unicamente para declarar variables?
daniel mejia
December 7th, 2007 at 7:25 am
17profe no subio el ejemplo, y si lo subio no lo hallo en cual lo dejo? en telematicanet… o en telematica.ing-soft.com por que ya busque en las dos y nomas no lo hallo
pecesama
December 13th, 2007 at 11:04 am
18ya se lo pase en clase
Access con VB.Net — kodrs
February 8th, 2008 at 2:54 pm
19[...] Conectar a MS Access con VB.Net [...]
robert
February 24th, 2008 at 7:16 am
20Profe hoy 24 de febrero del 2008 su libreria esta expirada , nose hasta cuando estubo disponible , pero se me ocurrio retrasar el reloj un año atras y normal, ojala publique el open souce de esa libreria, esta muy buena , al menos para nosotros los alumnos empeñozos
pecesama
February 24th, 2008 at 12:15 pm
21robert quien es?
Le puse restricciones de fecha a la libreria solo para el semestre pasado, dependiendo si la usaban o no veremos como crear una.
Toni
April 16th, 2008 at 3:44 pm
22¡¡Buenas desde Barcelona (Cataluña, España)!!
Tengo el mismo problema con la librería (caducidad de la misma). Agradeceríamos que pudiéramos disponer de esa librería sin restricción de fecha o ver qué solución tener (a parte de retrasar el reloj de Windows, claro está)
Saludos,
Toni.
Ann
May 7th, 2008 at 12:13 pm
23Hola, primero quiero agradecer por publicar este post ya que me ha sido de gran ayuda, su contenido es muy bueno y puntual, ahora quisiera saber si me podría ayudar con un pequeño problema que tengo, en una de sus lineas de codigo, especificamente en esta:
data.datasource = dt
el problema es que vb.net no reconoce datasource como un miembro de “data”, me imagino que debe faltarme alguna libreria pero no se cual, por favor agradeceria mucho su ayuda.
pecesama
May 7th, 2008 at 12:17 pm
24Hola Ann, data es el DataGridView.
Probablemente te olvidaste de cambiarle de nombre al DataGridView.
eric
June 4th, 2008 at 3:49 pm
25queria preguntarle si no tiene algun ejemplo de como realizar busquedas en vb.net con sql
Andres
June 8th, 2008 at 2:04 pm
26Hola!… Muy buena la explicacion, yo no soy alumno suyo, pero estoy empezando y me ayudo bastante, solo que como ya expiro el uso de la libreria no puedo probar lo que hice…
Agradeceria me digas como obtener una version completa o me des una idea de como hacer una yo.
Muchas gracias
Andres
1000110
June 8th, 2008 at 10:45 pm
27Hola quisiera saber como puedo hacer para buscar un valor que tengo en una columna de una base de datos en access y mostrarla en un label de la aplicacion que estoy programando….
la idea que tengo es escribir en un textbox el valor que quiero buscar en la base de datos en access, y si el valor esta en la base de datos, mostrarlo en el label, sino esta motrar un mensaje de error…
eh intentado hacerlo pero no hayo la forma hacer una funcion de busqueda….
sera q alguien tiene alguna idea ???
gracias de antemano
Rodney
July 2nd, 2008 at 7:00 pm
28Prof, quiciera saber como hacer un formulario LOgin usando la base de datos access
Marco Medina
July 7th, 2008 at 1:13 pm
29Buenos días, estoy empezando a conocer VB.net y su post es excelente, y como dicen varios compañeros su librería es muy buena, como puedo obtenerla? Me ayudaría mucho, de antemano le agradezco la atención a la presente, y saludos desde México
israel
August 26th, 2008 at 6:40 pm
30muchas gracias su post a sido de gran ayuda y me gustaria saber si va a enseñar como aser mis librerias, como la q usted iso gracias
Alejandro
September 4th, 2008 at 8:57 am
31Buenos días, leí su post y me pareció muy interesante, yo estoy desarrollando algo similar con comandos sql en access, pero no encuentro algo que me guie para hacer los Insert, Delete y Update, veo que en su ejemplo maneja una libreria propia, ojalá me la pudiese enviar.
pecesama
September 26th, 2008 at 3:05 pm
32Ya he actualizado el post con la URL a la librería sin caducidad: descargar conexionOleDb.dll
Marco Medina
October 9th, 2008 at 9:53 am
33Gracias por la libreria, me saco de un gran apuro
pecesama
October 9th, 2008 at 11:04 am
34De nada
Fran
October 13th, 2008 at 3:20 pm
35Estoy intentando hacer una aplicación para una PDA en vb.net y no tengo forma de conectarme a una BD access. Su librería creo que me podría resolver el problema. Al intentar bajarla de MegaUpload me dice que he excedido el límite. Y yo no estoy bajando nada. Esto sucede porque Acceo a través de una proxy de mi proveedor. Me la podría enviar al buzon de email. Gracias
Fran
October 14th, 2008 at 6:43 pm
36Muy buenas, se podría utilizar su dll para acceder a Access con .NET en una solución para Smart Device y por favor como. Estoy desesperado. Gracias
pecesama
October 14th, 2008 at 7:04 pm
37Fran para Smart Devices necesitas conectarte a una BD de tipo SQL Server CE o lo que es igual SQL Server Compact Edition, son archivos de bases de datos con extensión .sdf
Por lo que esta librería no te es útil ya que es sólo para conectarse a Access y no esta compilada para Compact Framework.
Más adelante veré si escribir un tutorial para Bases de Datos con Smart Devices y C# o VB.Net.
Guido
November 27th, 2008 at 9:50 am
38holas, primero gracias por la dll me ha sido de mucha utilidad.
ahora, tengo un problema, los registros me los graba a la perfeccion, pero en ocasiones al abrir nuevamente la aplicacion, se me borran los registros q yo ingrese, no asi los anteriores ya existian en la bd…
espero y pueda ayudarme…
saludos y gracias de antemano…
pecesama
November 27th, 2008 at 12:51 pm
39Hola, el problema parece consistir en que estas importando la BD dentro del proyecto y por eso cada vez se borran los registros que no estaban al importarla. Solo copiala no la importes como recurso dentro del proyecto.
Reportes en visual basic.net con Crystal Reports — kodrs
November 29th, 2008 at 1:05 am
40[...] que nada, la conexión a la base de datos se realizará mediante la librería creada por pecesama, lo cuál facilitará las [...]
Carlos Morales
November 30th, 2008 at 7:45 pm
41Hola profesor soy un estudiante de Venezuela. Queria saber como podria hacer yo una consulta SQL por ejemplo SELECT * FROM usuarios WHERE nombre = ‘Carlos Morales’; y obtener los resultados. Esto es en caso de que en su ejemplo, yo no tenga el objeto DATA, porque quiero que no se vean los datos de la BD. Asi que quiero hacer una consulta dado tal nombre, por ejemplo. Como lanzaria esa sentencia SQL, y como podria obtener los resultados con su Libreria. O con algunas sentencias complementando su Libreria. Muchas Gracias Y Saludos desde Venezuela.
Guido
December 1st, 2008 at 4:23 pm
42gracias tenia razon, la importe sin darme cuenta, ya se resolvio todo…
gracias nuevamente…
Saludos…
pecesama
December 1st, 2008 at 5:31 pm
43@Carlos Morales: con respecto a tu pregunta, es suficiente con que ejecutes
dt = con.ejecutaSql("SELECT * FROM usuarios WHERE nombre = ‘Carlos Morales’;")Y ya con eso tendrás el resultado en dt que es un objeto de tipo DataTable los resultados.
pecesama
December 1st, 2008 at 5:32 pm
44@Guido que bueno que ya funciona
Carlos Morales
December 1st, 2008 at 10:48 pm
45OK profesor, y disculpe. Lo que pasa es que yo soy nuevo en esto del uso del DataTable, entonces queria saber, ya que mi resultado esta alli, como puedo ahora referirme a, por lo menos, un dato, por ejemplo si quiero mostrar el valor del campo “usuario” en el campo txtUsuario. El IntelliSenSe de VS.NET 2005 me da errores y no se como ya despues de lanzar esa sentencia SQL, recuperar el valor de los campos de dt (DataTable).
jefry
December 2nd, 2008 at 5:11 pm
46No soy alumno suyo, pero es muy interesante lo de su post, sabe usted prof. no me sale ningun error en compilarlo y ejecutarlo pero no me elimina el registro, no inserta y no actualiza, quisiera saber porque gracias ante mano a su respuesta
pecesama
December 2nd, 2008 at 6:33 pm
47@Carlos Morales: para hacer lo que necesita sin el
DataGridView(data en el ejemplo) cuenta con elRowsdelDataTable, es decirdt.RowsDigamos que desea mostrar un
MessageBoxcon cada campo usuario (elemento 1 en su BD)for (int i = 0; i < dt.Rows.Count; i++) { MessageBox.Show(dt.Rows[i].ItemArray[1].ToString()); }pecesama
December 2nd, 2008 at 6:34 pm
48@jefry: necesita mostrar la propiedad error de conexion para conocer que es lo que esta pasando y porque no realiza las operaciones.
Carlos Morales
December 2nd, 2008 at 7:53 pm
49Fabuloso!! Ok ya manejo bien como extraer los datos. No sabe cuanta ayuda me ha dado este blog, y mas aun cuando solo sabia algunas cosas acerca de Base de Datos del dinosaurio de VB6. Muchisimas Gracias de Verdad
pecesama
December 2nd, 2008 at 11:21 pm
50@Carlos Morales: un placer haber ayudado
frago
December 3rd, 2008 at 4:31 pm
51:O cuanto comentario por aqui
mauricio
December 10th, 2008 at 12:13 am
52hola, le agradesco mucho tomarse su tiempo para hacer este post es de muchisima ayuda para nosotros los estudiantes.
yo tengo una pregunta.
por q no se graban los datos en mi base???
yo utilizo la version 2008 ,
en el codigo no me aparece ningun error.
muchas gracias
Reyes
December 15th, 2008 at 12:42 pm
53buen dia profe, no soy alumno de usted pero esta muy bueno el tema, estuve haciendo el ejercicio y si se compila bien el proyecto y no me marca error, solo que no me hace ningun cambio en el update ni en el insert, esta raro porque el DELET si lo hace bien, lo estoy haciendo en:
S.O. Windows Vista
Visual Studio .NET 2005
tengo su dll y la misma bd.
que cree usted que pueda ser ???
saludos., Monterrey, N.L. Mexico.
Guido
December 15th, 2008 at 8:12 pm
54hola, lo molesto nuevamente…
tengo una duda, no pertenece a este tema, pero me parece el mejor lugar para perguntar…
1. se puede crear tablas sql (con sql server) en tiempo de ejecucion y con un nombre q le pase a traves de una variable. Ej
nombre = textbox1.text
sql = CREATE TABLE nombre …
o
sql = CREATE TABLE Clientes … ???
desde ya gracias… y mil disculpas por preguntar de sql aca…
saludos…
Chinese
December 29th, 2008 at 3:43 pm
55Hola quisiera saber como conectar una base de datos mysql con vb.net 2005
Pablo
January 5th, 2009 at 9:58 am
56Hola profesor, soy de Guatemala y llemo mucho tiempo en buscar ayuda a un mi problema y gran parte de mi respuesta la solucione con su tan detallado ejemplo. gracias muchas gracias. solo tengo una pregunta, como hago lo siguiente:
Escribir en un Textbox un nombre XXXX y que mi data grid se posicione automaticamente al dar enter o al precionar un boton. porfavor le agradeceria mochisimo si usted me puediera ayudar. gracias.
Pablo Barrundia. Guatemala
Naitmeir
February 27th, 2009 at 4:27 am
57Muchas gracias, fue de gran ayuda!
Nano
March 5th, 2009 at 2:26 pm
58No consigo contar los registros de una tabla (SELECT Count…), con tu DLL.
Matias Seguel Miranda
March 16th, 2009 at 11:41 am
59Hola, como puedo postrar directamente en un textbox sin tener que pasarlo por un grid, recuerdo que en vb 6 antiguamente se decia txt1.text = dt!nombre pero en punto net no se como es.
Matias Seguel
March 17th, 2009 at 3:14 pm
60Hola, tenga usted muuuuuy buen dia, primero que todo quiero felicitarlo por tan noble, esto de ayudar a su futura competencia es muy noble de su parte.
Quiero hacerle una consulta, yo estoy tratando desarrollar su ejercicio, afrtunadamente todo lo que usted ha enseñado me ha resultado pero tengo una inquietud. ¿Como puedo mostrar los registro en un textbox en vez de una grid? una vez hecho eso como podria hacer el famoso movenext movelast, etc que haciamos en vb6?
Por su buena voluntad muchas gracias.
JUAN PABLO LEYTON
April 29th, 2009 at 9:35 pm
61Me gustaria conocer un ejemplo para realizar la conexion vb 2005 y access con la restriccion de password en la base de datos
Jose
May 8th, 2009 at 9:42 am
62Cual es el link de descarga del proyecto Conectar a MS Access con VB.Net ya que no lo consigo.
Gracias
Jose
May 8th, 2009 at 2:11 pm
63Donde puedo conseguir el link paraajar este proyecto, si me lo facilita sera mucho mejor.
Eduardo
June 8th, 2009 at 11:48 pm
64bueno, es un muy buen aporte esta pequeña .DLL, no soy alumno suyo, pero me gustaria saber de como trabajar con esta libreria, estoy empezandome con este tema, y me quede mas de un dia pensando en como podria cargar los datos de mi tabla en un combobox, por ejemplo tengo una tabla que tiene (codalumno, nom_alumno), pero como seria el codigo para realizar que el combobox solo jale los datos de solo nom_alumno… he intentado de todo pero no me funca nada…. agradeceria su apoyo..
gracias de antemano
Jaime Yepes
July 17th, 2009 at 8:32 am
65Saludos desde Barranquilla, Colombia.
Muy util el codigo me sirvió bastante. Ahora usaré esto y lo afinaré con Crystal Report.
Nevardo Jaramillo Sánchez
July 19th, 2009 at 2:50 pm
66Felicitaciones profesor es Usted todo un docente. Muy didáctica y muy pedagógica su explicación la cual me ha sido muy util.
Mis agradecimientos.
Oswaldo Hernández
August 27th, 2009 at 1:01 am
67Saludos. Muy bueno su blog. Tengo una consulta. Logre hacer funcionar correctamente todo el ejemplo publicado (editar, insertar, eliminar) incluso hice un buscar (con filas = Data.RowCount() ), pero al tratar de usar los codigos con otra BD y tabla, solo logro poder eliminar. No inserto, ni edito. Le anexo el codigo utilizado a ver si me puede decir que tengo mal:
BD: biblioteca.mdb. Tabla: clave
Campos de la Tabla
id : autonumerico
login : varchar-10
password : varchar-10
Private Sub btnAgregar_Click(…..
Dim sqlStr As String
sqlStr = “INSERT INTO clave (login, password) VALUES
(‘ ” + txtLogin.Text + ” ‘, ‘ ” + TxtPass.Text + ” ‘)”
con.ejecutaSql(sqlStr)
dt = con.ejecutaSql(“SELECT * FROM clave”)
Data.DataSource = dt
TxtLogin.Text = “”
TxtPass.Text = “”
End Sub
Private Sub btnEditar_Click(…..
Dim sqlStr As String
sqlStr = “UPDATE clave SET password=’ ” + TxtPass.Text + ” ‘ WHERE login=’ ” + TxtLogin.Text + ” ‘;”
con.ejecutaSql(sqlStr)
dt = con.ejecutaSql(“SELECT * FROM clave”)
Data.DataSource = dt
txtLogin.Text = “”
TxtPass.Text = “”
End Sub
He probrado incluso un Update Forzado:
sqlStr = “UPDATE clave SET password=’123456′ WHERE id= 2″
id. Es el campo autonumerico en la tabla clave
He probado con el valor desde un TextBox
sqlStr = “UPDATE clave SET password=’” + TxtPass.Text + “‘ WHERE login=’” + txtLogin.Text + “‘;”
Y nada.
Sin embargo en el ejercio original de usted, he hecho los cambios para el Update del valor Where
Original. Funciona
sqlStr = “DELETE FROM usuarios WHERE id_usuario=” + Data.SelectedCells(0).Value.ToString()
Asi tambien funciona
sqlStr = “DELETE FROM usuarios WHERE usuario=’” + TxtUsuario.Text + “‘”
Yo no se que hacer.. Me podria ayudar.-
Private Sub btnBuscar_Click(…..
Dim sqlStr As String
Dim filas As Integer
sqlStr = “SELECT * FROM clave WHERE login = ‘” + txtLogin.Text + “‘;”
con.ejecutaSql(sqlStr)
dt = con.ejecutaSql(sqlStr)
Data.DataSource = dt
filas = Data.RowCount()
If filas > 0 Then
MsgBox(“Registro existe”)
End If
End Sub
Edith
October 20th, 2009 at 9:55 pm
68QUISIERA TENER UN MAESTRO COMO USTED!!! que de verdad le preocupe y le interese enseñar (si ese es el caso con usted), me hubiese gustado haber visto este post hace unos meses, ya que necesitaba hacer algo así, y lo que encontraba no lo explicaban muy bien. De todos modos aún me sirve para complementar alguna duda
xxxxxxxxxxx
November 10th, 2009 at 5:33 pm
69hola
yo ya tengo mi coneccion de mi base de datos tengo un campo que se llama edad pero necesito mostrar las edades por rangos y por sexo ej
mujeres
menores de 12 años
13 a 18 años
19 a 25 años
hombres
menores de 12 años
13 a 18 años
19 a 25 años
como le puedo hacer por favor ayuda
ya investigue y noencuentro
me podrian ayudar por favor lo antes posible
de antemanomuchas gracias
Rudy Gonzalez
December 10th, 2009 at 9:58 pm
70ante todo saludos y gracias por su aporte.
me gustaría que si está a su alcanse mandarme el link de descarga del ejemplo ya que estoy estudiando vb .net y casualmente necesito acceder a una base de datos access con vb .net
saludos
tlcnano
December 17th, 2009 at 10:32 am
71para el que necesita mostrar las edades:
puedes utilizar una consulta sql con datediff
ejem:SELECT * From Tabla where DATEDIFF(day, fecha_tabla, now())<=12
Rocio
February 20th, 2010 at 9:45 pm
72Hola, hoy descubri su blog. Necesito aprender VB.Net , tendra algun manual ó tutorial que me pueda servir????
RSS feed for comments on this post · TrackBack URI
Leave a reply
Recomendados
Meta
Publicidad
Categorias
Recent Entries
Recent Comments
Most Commented
Pecesama.Net [weblog] is proudly powered by WordPress - BloggingPro theme by: Design Disease