En este mensaje, voy a explicar la manera de usar bases de datos de Access desde Visual Basic 2005. Algo que no tiene que ver con la programación en sí, pero es muy importante de todos modos porque nos puede ahorrar tiempo, es poder ver los datos desde VB 2005. Para explicar esto, hice este pequeño video que muestra como está la movida:
Si quieres, tengo una versión muy nítida hecha en Flash. El archivo SWF lo puedes bajar aquí.
Muy bien, puedo ver los datos. Sin embargo, eso no ayuda de mucho en un programa. En este video voy a explicar la manera de conectarse a una base de datos de Access. Abajo del video voy a poner el código por si no lo alcanzas a ver bien. De la misma manera, si quieres bajar el video en formato SWF, bájalo aquí.
Aquí está el código de lo que se ha hecho hasta ahora:
Ahora hace falta la parte que se encarga de buscar los datos: cambiar de registro. Aquí pongo el video (puedes bajar la versión SWF aquí) y abajo pongo el código completo.
¡Hasta la próxima!
Si quieres, tengo una versión muy nítida hecha en Flash. El archivo SWF lo puedes bajar aquí.
Muy bien, puedo ver los datos. Sin embargo, eso no ayuda de mucho en un programa. En este video voy a explicar la manera de conectarse a una base de datos de Access. Abajo del video voy a poner el código por si no lo alcanzas a ver bien. De la misma manera, si quieres bajar el video en formato SWF, bájalo aquí.
Aquí está el código de lo que se ha hecho hasta ahora:
Ahora hace falta la parte que se encarga de buscar los datos: cambiar de registro. Aquí pongo el video (puedes bajar la versión SWF aquí) y abajo pongo el código completo.
¡Hasta la próxima!
120 comentarios:
excelente artículo, enhorabuena.
muy buenos los vídeos.
Excelente aporte Tony, pero los 2 ultimos videos en swf, nose pueden descargar y por youtube la calidad no es muy buena, podrias arreglar los links porfavor?
Gracias!!
Saludos
Ya estuvo. Arreglé los videos y ahora se deberían poder bajar sin problemas.
¡Saludos!
Buena profe, m ayudo un montón.
Sus articulos son excelentes, y han sido de mucha ayuda, pero tengo un inconveniente, tengo que hacer una especie de sistema de inventarios usando access y visual 2005, en clase realizamos un ejercicio parecido pero para ver la tabla usabamos el FlexGrid pero el visual de mi casa no tiene para esa opcion y ya intente agregarlo como referencia y no existe, me comentaron que se podia hacer con DataGridView pero no tengo la mas minima idea de como funciona. Agradeceria mucho un poco de ayuda.
La verdad es que no he usado el DataGridView de VB 2005. Sé para qué sirve y debería resolver tus problemas, pero no tengo la experiencia en su uso. Lo que pasa es que hace años cuando tuve que programar bases de datos remotos con VB6, la mejor solución que encontré fue por medio del ADO, cosa que todavía manejo, y evité todos los controles que podrían ser más pesados.
Sin embargo, me he encontrado con varios libros interesantes de bases de datos y VB 2005. No he tenido tiempo para ponerme a leerlos, pero se ven muy útiles.
Excelente articulo explica de una manera clara lo que todo el proceso, pero tengo una duda, yo deseo hacer la misma aplicacion pero incluyendo sin incluir la base de datos en la carpeta debug, que referencia se debe agregar para realizar este proceso ?, muchas gracias.
Perdon, no me explico porque el comentario anterior salio de esa manera, lo que pretendo hacer es desarrollar la misma aplicacion, pero sin incluir la base de datos en la carpeta debug, que referencia debo agregar ? pues he intentado con varias pero no me ha funcionado. Muchas gracias.
En este momento no tengo el código para probarlo (no estoy en casa), pero me supongo que puedes usar My.Application.Info.DirectoryPath a la hora de definir el Data Source en la función frmBiblioteca_Load().
Yo comenzaría sustituyendo esta línea:
Dim strConexion As String = "Microsoft.Jet.OLEDB.4.0;Data Source=bd1.mdb"
Por algo así:
Dim strConexion As String = "Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Application.Info.DirectoryPath & "\bd1.mdb"
De esta manera usarías la base de datos en la carpeta donde está el ejecutable.
Espero que te sirva. Luego lo intentaré a ver si funciona. Si lo pruebas, avísame si funcionó o no y vemos a ver cómo lo hacemos funcionar.
¡Saludos!
Hola, hace poco que estoy en visual 2005, 2 mese mas o menos, estoy haciendo el projecto de final de carrera de electronica y como me gusta esto de la informatica ( hobby, por que he aprendido al antigua metodo de prueva y error) decidi hacer un programa que calcula soportes electricos! hay mi pregunta, se que soy un poco cara dura pero es que se me hecha el tiempo encima y no encuentro nada claro de lo que busco pr internet, resulta es que trabajo con un monton de datos algunos de los cuales los tendria que guardar en la base de datos. la verdad es que me ha sorprendido lo bien que has explicado como trabajar con las base de datos por eso queria pedir haber si me podrias ayudar para poder insertar, modificar, borrar datos de dicha base! antetodo gracias!!!
Yo hago las cosas "a la antigüita", pero funciona bastante bien.
Yo uso instrucciones SQL para hacer acceso a mis bases de datos por medio del ADO (algo que ya viene incorporado al VB .net, pero se podía agregar al VB6). Tengo en este blog abundantes ejemplos sobre el uso del ADO (fíjate en el tema ADO) y un par de cosas de SQL (principalmente consultas).
En VB2005, puedes ver un ejemplo en el mensaje "Otra nota: Visual Basic 2005, ADO .NET y Access" que escribí el 5/Dic/07 donde estoy insertando datos a una tabla hecha en Access.
Espero que esto te sirva. Si tienes dudas, no dudes (valga la redundancia) en hacer otro comentario.
¡Saludos!
oye tony tengo un pequeño problema con mi base de datos en access al poner valores nulos
porque no pones tu base de datos en los videos y poder checar cual es mi problema
al conectar tipo string
oye tony tengo un pequeño problema con mi base de datos en access al poner valores nulos
porque no pones tu base de datos en los videos y poder checar cual es mi problema
al conectar tipo string o mandame la base no seas mala onda
felipe_cruz_azul@hotmail.com
que tal tony
oye creo que te faltaron botones muy importantes como son
nuevo registro
borrar
y modificar
estan en tus planes estos botones????????
que tal tony
oye creo que te faltaron botones muy importantes como son
nuevo registro
borrar
y modificar
estan en tus planes estos botones????????
En efecto faltan esos botones, pero la intención de este mensaje no era plantear una aplicación terminada y completa, sino la de ilustrar una parte.
Espero que con lo que hay aquí tengas la idea de hacer tu propia aplicación.
Luego les paso la dirección del código fuente y bases de datos, como lo solicitó F-DX.
¡Saludos!
Hola!
Sinceramente, me parecen excelentes vídeos (incluyendo el fondo musical :) )!!
He comenzado con esto de la programación, no están fácil como creí :S, así que muchas gracias por esos vídeos! Me ha ayudado mucho a comprender mejor las cosas!
Gracias!
Hermano!!!! Gracias...Excelente
Hola Tony, muchas gracias por este aporte, los videos se ven muy bien y tus explicaciones son claras y sencillas de seguir. Yo utilizo Visual Basic 2008 y aún siguiendo al pie de la letra tus instrucciones los TextBox me aparecen en blanco al finalizar. ¿Es debido a la versión de VB que utilizo?
Otra cosa, yo quería que los registros de la tabla se mostrasen dependiendo del contenido de un ComboBox, así eligiendo un nombre de un libro de la lista me aparciesen el año, la editorial y los demás datos. ¿Es esto posible o requiere otro tipo de programación?
Gracias por tu atención y un saludo.
Parece ser que mi problema no es que utilice el Visual Basic 2008, sino que tengo la versión de 64 bits de Windows Vista. Parece ser que necesito compilar en 32 bits para poder utilizar el Microsoft.Jet.OLEB.4.0. He mirado por todas partes pero no se como hacerlo, parece que esta opción no está disponible en VB2008.
sinceramente tony excelente tu aporte pero si no serai mucha molestia seria cosa que ya pongas los botones nuevo registro,
borrar,y modificar...
dale tío hazlo por la gente que esta empezando en este mundo de la programación que necesita alguna ayudita ..lo mas pronto posible como io
oye no tienes el archivo del ejercicio es que los videos se ven muy borrosos, te agradeceria
elverin13@hotmail.com
muchas gracias, muy buen aporte, pero como hago para modificar el boton que busque por una letra de un campo nombre o por parte de un nombre por si es nombre compuesto, y tambien el boton guardar, para agregar un registro nuevo.
denuevo muchas gracias
Hola, me gusto mucho tu tutorial, espero que no sea indiscreción, pero con que programa haces tus tutoriales, con adobe captive?
Hola Tony quisiera he seguido tus pasos en el tutorial y me aparece el siguente error -2147467259 "No se pudo encontrar el archivo ISAM instalable" en OLEDBEXCEPTION. He estado buscando información en internet y nada me ha solucionado el problema, tienes alguna sugerencia?
Creo que a unos alumnos les pasó lo mismo, les marcó el mismo error.
No me recuerdo exactamente cómo le hicimos (fue hace ya un rato), pero creo que tiene algo que ver con la instalación de VB 2005.
Y de la pregunta sobre el programa que usé para capturar la pantalla, usé el BBFlashBack.
¡Saludos!
¡Tony un articulo genial!
pero... ¿podrías incluir el código de los botones insertar actualizar y eliminar?
No creo que te suponga mucho esfuerzo y así tendríamos un artículo que engloba todas las instrucciones que se le puede ejecutar a una BD Access desde VB.
Ya me dices.
Saludos!!!
En cuanto tenga tiempo, me pondré a hacerlo.
¡Saludos!
Hola tony, el tutorial ha sido excelente, pero tengo un problema con respecto a la visualización de la base de datos.
Estoy tratando de controlar la base de datos Access a traves del visual basic 2005, y necesito filtrar las búsquedas que hago (p.ej. al consultar una referencia o un nombre); y crear una base de datos temporal con los datos filtrados para poder trabajar con ellos.
Es que por más que lo intento siempre me enlista la base de datos completa, y no solo los datos que le estoy pidiendo.
Es decir, le doy a buscar determinada referencia, y me la encuentra, por ejemplo en el puesto 31 de la base de datos de access, y la muestra, pero luego si le doy siguiente (para ver la siguiente coincidencia, ya que dicha referencia se encuentra en varias partes de la base de datos) y lo que hace es seguir viendo la lista (32..33..), ignorando la condición que le dí de que solo me mostrara los que coincidieran con lo que mandé a buscar.
Otra cosa que se me ha presentado es que no realiza las búsquedas cuando en la celda (que contiene el dato que busco) hay varios datos diferentes, (es decir, que el que busco está entre ellos).
Aparece el mensaje de que no encontró coincidencias.
¿Podrías ayudarme?
Me gustaría enviarte el proyecto que estoy llevando, para que pudieras checkar que está pasando, ya que soy nuevo en esto y me siento algo perdido
Gracias
Las instrucciones SELECT generan tablas temporales en la memoria (si tienes dudas sobre el lenguaje SQL y el SELECT, en este blog tengo muchos ejemplos bajo el tema SQL).
En este ejemplo, no estoy usando SQL, pero te sugiero que veas los mensajes "Visual Basic 2005 y SQL Server Express 2005 de nuez..." (3/Dic/2007) y "Otra nota: Visual Basic 2005, ADO .NET y Access" (5/Dic/2007) donde uso SQL. Luego tengo muchos ejemplos en Visual basic 6 donde hago este tipo de consultas. Creo que con esto se puede resolver tu problema.
¡Saludos!
gracias por la ayuda men pero un favor grande podrias poner el codigo para borrar y agregar porfavor es urgente si no lo fuera seguiria averiguando pero no hay mucho tiempo disponible ^^ gracias
Yo tambien necesitaria el codigo de agregar, borrar y modificar.
Saludos
wally donde estas??? =D
Hola una pregunta estoy iniciando en Vb 2005 express, y al probar el código para ver el primer registro me envía un mensaje: "No se ha especificado un proveedor OLE DB en ConnectionString. Un ejemplo sería, 'Provider=SQLOLEDB;'."
me podrías ayudar para ver que sucede, bye....
El problema es que este código es para conectarse a una base de datos de Access, y tiene que cambiar para usar SQL Server.
Te recomiendo que leas el artículo "Visual Basic 2005 y SQL Server Express 2005 de nuez... " de mi blog (escrito el 3/Dic/07).
Espero que el video de ese post resulva el problema.
¡Saludos!
Hola Profesor:
Bueno es para solicitar su ayuda, tienes alguna idea de como crear un registro nuevo y modificar. Ok no te pido el código simplemente que me orientes donde encontrar algo para desarrollar. please es para mi tarea y no encuentro nada.
Visual Basic 2005 express. en las versiones anteriores se como hacerlo pero en ésta no.
Amanda:
Sugiero que veas el tema de ADO en mi blog. Casi todos los ejemplos están hechos con Visual Basic 6.0 y Access, pero si tienes el ConnectionString de SQL Server es casi lo mismo (y VB 2005 tiene el ADO incluido, as{i que es hasta m{as sencillo integrarlo).
Espero que estos ejemplos te ayuden. ¡Saludos!
Es un articulo excelente, me ayudo bastante en un proyecto que estoy realizando, una duda que tengo, es como crear un "login form" tengo creada una BD en access, solo contemplo usuario y contraseña... podrias ayudarme?
Lo harías de manera muy similar a la función de btnBusca_Click, solo que en lugar de pedir el ISBN, usarías el número o nombre de usuario que me supongo que tienes en una caja de texto.
Cuando lo encuentre, que compare la contraseña que tecleó en otra caja de texto con la que tienes almacenada en la tabla. Si es igual, que pase al sistema. Si no es igual o no encuentra al usuario, que mande un mensaje y se quede en esa ventana.
Si quisieras podrías hasta tener una variable que cuente el número de intentos fallidos yu cuando llegue a 3, que finalice el programa o algo por el estilo.
¡Saludos!
Hola Tony.
Tengo la misma duda.
Estaba haciendo esta especie de form "login" de otra manera, pero no funciono, no funciono y no funciono.
Luego lei el post y segui tu consejo, he aqui el codigo
'''''''''''''''''''''''''''''''''''''
Private Sub btnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnviar.Click
Dim strBuscaNombre As String
Dim strBuscaPassword As String
Dim Encontrado As Boolean = False
Dim i As Integer
txtNombre.Text = strBuscaNombre
txtPassword.Text = strBuscaPassword
For i = 0 To dt.Rows.Count - 1
If CStr(((dt.Rows(i)("nombre")) = strBuscaNombre) & (dt.Rows(i)("password")) = strBuscaPassword)) Then
Encontrado = True
intFila = i
METODOQUEHACEALGO()
End If
Next
If Not Encontrado Then
MsgBox("Nombre y/o password invalidos. Intente nuevamente")
End If
End Sub
'''''''''''''''''''''''''''''''''''
Pero me arroja un error en la parte del If en la parte del Then; Error 1 End of statement expected.
Espero que me puedas ayudar, ya que me he cabeceado bastante y no puedo todavia crear una pantalla login.
Con respecto a la BDAccess, tiene una tabla que se llama usuario y dos campos: nombre y password.
Gracias!!!
Saludos!
muchas gracias por tu ayuda tony, ya tengo una idea um poco mas clara de realizar un login. saludos a todos
Carlos ya tengo listo el login, pero otras dudas =)
Sólo hay que modificar un poco el código de tony y VOILA!!!
La DUDA que tengo ahora es COMO SELECCIONAR UNA FILA X DE UN DATAGRID y que esto abra un FORM donde se carguen los datos. Si alguién me puede hechar una mano sería excelente.
Saludos!
No he tenido mucho tiempo para hacer el programa, pero yo usaría la instrucción SELECT de SQL para hacer una búsqueda en la tabla y obtener solo el regsitro que quiero. Esto lo haría con ADO.
En mi blog hay muchos ejemplos de esto, pero usando Visual Basic 6. El .net (y posteriores) ya tienen el ADO integrado, por lo que ha de ser más sencillo. De esa forma te evitas un Datagrid.
Si algún día tengo un buen rato libre, me pondré a hacerlo y les platicaré como me fue.
¡Saludos!
Hola!!
He seguido con el programa de login, pero quiero eliminar un if y no dejar 2. Para ello necesito un if con 2 condiciones y segun yo el codigo esta bien 100% pero me arroja el siguiente error:
Conversion from string "" to type 'Boolean' is not valid.
El codigo es el siguiente:
For i = 0 To dt.Rows.Count - 1
If CStr(dt.Rows(i)("nombre")) = strBuscaNombre & CStr(dt.Rows(i)("password")) = strBuscaPassword Then
Encontrado1 = True
intFila = i
Label1.Text = "OK"
Form2.Show()
Me.Visible = False
End If
Next
If Not Encontrado1 Then
Label1.Text = "NO"
End If
Agradeceria ayuda, debe ser algo pequeño pero definitivamente no me funciona.
Gracias
Saludos!
Cambia el signo "&" de tu If por "And", a ver si así funciona.
¡Saludos!
Cambia el signo "&" de tu If por "And", a ver si así funciona.
¡Saludos!
Exelente articulo, yo estoy asiendo algo similar par el control de equipo pero no me guarda los registro el codigo que estoy utilizando es el siguiente
If TxtIdequipo.Text = "" Then
error1.SetError(TxtIdequipo, "Ingrese Id de Equipo")
ElseIf TxtEquipo.Text = "" Then
error1.Clear()
error2.SetError(TxtEquipo, "Ingrese Nombre de Equipo")
ElseIf CmboMarca.Text = "" Then
error2.Clear()
error3.SetError(CmboMarca, "Ingrese Marca de Equipo")
ElseIf TxtModelo.Text = "" Then
error3.Clear()
error4.SetError(TxtModelo, "Ingrese Modelo")
ElseIf TxtSerie.Text = "" Then
error4.Clear()
error5.SetError(TxtSerie, "Ingrese Serie")
ElseIf TxtObserva.Text = "" Then
error5.Clear()
error6.SetError(TxtObserva, "Ingrese alguna observacion")
Else
error1.Clear()
error2.Clear()
error3.Clear()
error4.Clear()
error5.Clear()
error6.Clear()
Try
VRegistro = VTabla.NewRow
VRegistro.Item(0) = TxtIdequipo.Text
VRegistro.Item(1) = TxtEquipo.Text
VRegistro.Item(2) = CmboMarca.Text
VRegistro.Item(3) = TxtModelo.Text
VRegistro.Item(4) = TxtSerie.Text
VRegistro.Item(5) = TxtObserva.Text
Crenglon.Add(VRegistro)
Vequi.Update(VTabla)
VFila = VTabla.Rows.Count
btnBuscar.Enabled = True
btnEliminar.Enabled = True
btnCancelar.Enabled = False
btnNuevo.Enabled = True
btnGuardarN.Enabled = False
btnModificar.Enabled = True
btnGuardarM.Enabled = False
ASIGNACION()
BLOQUEA_CAJAS()
Catch ex As Exception
MessageBox.Show("Ya existe un equipo registrado con este Id")
VRegistro.Delete()
End Try
end sub
me podria ayudar para ver donde esta mi error, gracias
hey amigo e seguido al pie de la letra tus videos y ahora la duda como creo un libro nuevo, modificar el contenido y eliminarlo esto si pudieras postera con otro video para calmar ansias bueno bay sigue con los tutos
##myztyko@hotmail.com##
HOLA me podrias ayudar sucede que tengo una aplicacion donde logre llenar los controles entre los cuales tengo: combobox y es este precisamente el que puedo llenar con los datos de mis tablas en access pero LO Que necesito es llenar la base de datos con lo que escojo en el control la cosa es con el combobox porfa ayudaaaaaaaa .. gracias bendiciones
que tal amigo necesito ayuda urgente y tal vez me puedas ayudar, Estoy haciendo un proyecto en VB 2005, con una ventana que simula una factura pero no se como mandar a imprimirla de hecho no tengo la mas minima idea. AYUDAAAA!!! =D
Te sugiero que veas cómo funciona el objeto Printer. Es mucho código, pero puedes hacer casi lo que quieras.
¡Saludos!
Hola muy buen tutorial Tony pero tengo una pregunta mira estoy haciendo una aplicaciond e windows y soy nuevo en esto como puedo hacer que al momento de que introduscan algo en la text box pueda mandarse a imprimir en la tabla de acces realmente me alludarias mucho con eso gracias
Te recomiendo que veas estos dos posts (están en mi blog):
http://alturl.com/eru3
y
http://alturl.com/p4jt
Uno hace algo similar con SQL Server y el otro te muestra un par de modificaciones para que funcione con Visual Basic 2005.
¡Saludos!
que Dios te bendiga tony me ha sido de mucha utilidad tu tuto, podrias ser tan magnanimo de adicionar el codigo para modificar , eliminar o agregar un nuevo registro , vamos se que estas ocupado, pero no seas malito
Hola tony Mira tengo un problemilla :D haber yo inserto los datos en el acces y todo bien ahora necesito es lograr que en el visual yo pueda abrir informes que usa acces.. sera que puedo hacer eso?es xq tengo que insertar un formulario en una bd pero tengo que imprimrle tambien (es decir imprimir en un formato lo que e insertado) y otro boton que imprima todos los datos almacenados en la BD, Como hago eso??? Gracias de antemano
¿Por qué no revisas la función PrintForm? Aquí está una página en español que lo explica bastante bien:
http://www.recursosvisualbasic.com.ar/htm/vb-net/45-printform-component.htm
Ojalá te sea útil
Excelente articulo en VDD !! pero estoy de acuerdo con varios comentarios, deberias acompletarlo programando los botones de guardar insertar y eliminar.
aun asi eres muuuuyyyy bueno :) lo explicas milveces mejor que mi profesor de la escuela.
por cierto los botones de guardar los programo de la misma manera que lo hiciste con el de consultar?, en vez de "select * from MiTabla" pondria por decir inser into o update set ?? help!!
necesito ayuda con eso :S
buenisimo profe pero tengop un proble my archivo no carga los datos que nesecito podria ayudarme my prollect es sobre una tienda y si pongo buscar no lo ejecuta y ya esta precargado el codigo
buenisimo profe pero tengo un proble my archivo no carga los datos que nesecito, podria ayudarme my prollect es sobre una tienda y si pongo buscar no lo ejecuta y ya esta precargado el codigo ademas de los comandos de nuevo editar etc. el unico q me carga es el de eliminar: respuesta a rene_ska@live.com.mx poarfa es q no le ayo muy bien toda bia
grasias
Exelente tutorial me hace de gran ayuda.Tambien quisiera saber como se conecta un listview con una base de datos acces,se le agradece la colaboracion
Hola TONY felicidades por tu blog es muy interesante y ayudas a muchas personas, quisiera que me ayudaras tengo que presentar un programa de almacenamiento de libros en word y pdf usando access, algo asi como una biblioteca y es complicado par ami, si te anias a ayudarme te estaria muy agradecido necesito el codigo fuente para visaul basic.net favor responde a mi correo sendero200@hotmail.com
y suerte con tu blog
Buenas estaba la búsqueda de este vídeo por que lo necesito para un proyecto... pero no puedo conseguir vb2005 entonces puse el vb2008... la cosa es q tengo todo el código mi base de datos y todo y no me tira ningún error de nada pero no me muestra ningún dato... y en la búsqueda no encuentra datos que si están... que podrá ser?? Gracias
¿Solo no te devuelve valores? o ¿te marca error al intentar conectarse? ¿Usas Windows de 64 bits?
Si es bronca de Win 64 bits, yo tuve un problema y explico como solucionarlo aquí:
http://tony-valderrama.blogspot.com/2009/11/problemas-oledb-con-windows-64-bits.html
Es un poco dificil ayudarte sin ver código y base de datos, pero esto es lo primero que se me ocurre.
Espero que sea de utilidad...
Muchas gracias el problema era que estaba trabajando en 64bits... ya lo solucione gracias
Muy bueno Tony, sigue adelante, que Dios te bendiga en este nuevo año.
Gracias, Henry. También espero que este año sea muy bendecido para todos.
Un abrazo...
hola tony quisiera saber poruqe en el visual basic 2005 que tengo el el cuadro de herramientas no aprarece los objetos oledbconnection,oledbcommand,sqldataadpter,,sqlconnection,etc quisiera que me ayudaes por favor que puedo hacer ya puse SYSTEM.DATA.SQLCLIENT pero nada ...
profe cual es su correo msn..........
Y la coneccion se cierra automaticamente o se cierra manualmente? si es la segunda opcion como es el codigo?
De antemano gracias...
Muxisimas grax!! me ayudast muxio en la realizacion de una aplicacion q estaba creando! excelente articulo!
hola buen dia atravez de este ejercicio como se podria agregar o borrar datos.. es edecir como quedaria el codigo para un boton agregar registro y otro para borrar registro???? espero tu respuesta gracias de antemano
Hola, tengo que realizar un Login usando una base de datos en Acces2007, ya logre integrar mi base al programa, pero ahora como comparo los datos que introdusco con los que tiene la base de datos.
Agradeceria una buena expliacación.
gracias
tengo una base de datos en access de una escuela y quiero que se actualice automaticamente el campo semestre si ahorita estan en segundo semestre dentro de seis meses se actualice automaticamente a tercer semestre
TOOONNNNYYY ayudame.... necesito saber como cierro esta conexion.. por favor.... no encuentro como es... :(
TONY AYUDAME POR FAVOR, NECESITO COMO CERRAR ESTA CONEXION... :'(
No entiendo... si es cerrar una conexión, ¿no está el método Close? ¿Qué quieres hacer?
Hola que tal, antes que nada quiero agradecer todos los aportes que has hecho con fin de apoyo a los que busacmos alguna solucion.
Viendo los videos de "Access y Visual Basic 2005" ya hice el ejemplo y funciona a la perfección, pero como soy un novato de primera no sé cómo agregar o eliminar registros de la base de datos...
Por favor, ¿Podrías ayudarme con el código o algúna explicación?
...y abusando de tu amabilidad. En caso de que me apoyes con el código si puedes enfocar el ejemplo hacia estos videos "Access y Visual Basic 2005" te vas a ir al cielo con todo y zapatos.
Gracias y saludos.
Víctor Bernal.
Victor:
Te recomiendo que veas estos otros posts de mi blog, a lo mejor te pueden ser de utilidad:
http://tony-valderrama.blogspot.com/2007/12/entrndole-al-sql-server-express-desde.html
http://tony-valderrama.blogspot.com/2007/12/visual-basic-2005-y-sql-server-express.html
y
http://tony-valderrama.blogspot.com/2007/12/otra-nota-visual-basic-2005-ado-net-y.html
¡Ojalá te sirvan!
Tony:
Gracias, voy a capturar el código. Un amigo me recomendó visitar tu sitio, me ha resultado de mucha y la información expuesta es muy basta.
Gracias y saludos!
Víctor Bernal
Tony, soy Víctor de nuevo molestando:
(Te agradezco de antemano la atención prestada)
Ya hice el ejemplo de guardar un registro nuevo en una base de datos de access, y funciona a la perfección. Ahora lo que no sé es cómo hacer para que yo llene el formulario y al presionar el botón 'Guardar' pues guarde el registro...
Intenté pero no se me ocurre nada, traté de que en la sentencia de SQL se usaran variables:
"INSERT INTO Empleados (Nombre,Apellido) VALUES
(& variable, & variable)"
Nadamas necesito que por favor me orientes de cómo hacerlo.
Gracias y saludos.
Víctor Bernal
Victor:
Recuerda que estás construyendo una cadena con la instrucción SQL, asi que yo escribiría tu texto así:
"INSERT INTO Empleados (Nombre,Apellido) VALUES
('" & variable & "','" & variable & "')"
Los apóstrofes (') van porque me supongo que Nombre y Apellido están definidos como texto en la base de datos y los tiene que llevar.
Si depuras el programa paso a paso y te fijas lo que tiene la propiedad CommandText cuando está a punto de ejecutarse, vas a ver comop quedó la instrucción.
¡Saludos!
Sí, muchas gracias Tony, ya pude, y efectivamente me faltaban los apostrofes, también me faltaba el tipo ".text" de los Textbox y el segundo ampersand.
Ahora lo que me falta es cómo hacer para eliminar un registro. Supongo que esta mas complicado por que hay que devolverle el valor NULL al registro (supongo yo).
¿Por favor podrías guiarme cómo hacer el código?
Gracias por toda la ayuda que me brindas, eres un maestro (en el amplio sentido de la palabra, no enfocado hacia profesor).
Gracias nuevamente y saludos
Víctor Bernal.
(perdon por dar tanta lata jejeje)
Lo que necesitas es la instrucción SQL DELETE. Se escribiría algo así:
DELETE FROM tabla WHERE condición
por ejemplo
DELETE FROM Empleados WHERE Nombre='Tony'
Claro, cambiando lo necesario.
¡Saludos!
Muchas gracias Tony, he terminado mi práctica de (Access y VS 2005) y gracias a ti he recopilado la información necesaria para poder hacer casi cualquier cosa con Access y VS 2005. Sólo me queda darle los ultimos retoques al código, como mensajes y alguna otra funcion o formularios complementarios. En sí debo hacer un sistema experto para la escuela (Proyecto Final) y en access no sé si se puedan guardar muchos textos, lo que pienso hacer es guardar el texto por párrafos en registros y simular la creación de nuevos textos intercalando los párrafos según sea la búsqueda en el SE. Me voy a volver loco con ese proyecto. Ahora me falta agregar imágenes, pero ya no te voy a dar lata, debes tener 'mil' cosas por hacer.
Gracias y saludos.
Víctor Bernal.
¡GRACIAS POR TU AYUDA! :)
Muchas gracias Tony, he terminado mi práctica de (Access y VS 2005) y gracias a ti he recopilado la información necesaria para poder hacer casi cualquier cosa con Access y VS 2005. Sólo me queda darle los ultimos retoques al código, como mensajes y alguna otra funcion o formularios complementarios. En sí debo hacer un sistema experto para la escuela (Proyecto Final) y en access no sé si se puedan guardar muchos textos, lo que pienso hacer es guardar el texto por párrafos en registros y simular la creación de nuevos textos intercalando los párrafos según sea la búsqueda en el SE. Me voy a volver loco con ese proyecto. Ahora me falta agregar imágenes, pero ya no te voy a dar lata, debes tener 'mil' cosas por hacer.
Gracias y saludos.
Víctor Bernal.
¡GRACIAS POR TU AYUDA! :)
Note preocupes, Victor. Si puedo ayudar, lo haré.
Que bueno que todo funcionó bien y aprendiste algunas cosas nuevas.
¡Saludos!
Tony, me da pena asistir a tu ayuda nuevamente jeje, necesito actualizar la base de datos despues de eliminar o agregar un registro pero sin salir de la ejecución. También necesito modificar un registro existente. :/
Agrazedco de antemano tu ayuda.
De todos modos yo también estoy buscando soluciones, no creas que nadamas escribo para esperar la respuesta :s.
Gracias y saludos.
Víctor Bernal.
Para eso usas la instrucción UPDATE de SQL. La sintaxis es algo asi:
UPDATE tabla SET campo=nuevo valor WHERE condición
por ejemplo
UPDATE Empleados SET sueldo=sueldo*1.15 WHERE Puesto='Gerente'
Esto actualizaría todos los registros cuyo puesto sea Gerente aumentándole el 15% a su salario.
¡Saludos!
Hola Tony, buenos días,
Resulta que ya he terminado los botones de:
-Modificar
-Agregar nuevo
-Eliminar
A parte de los 4 que introduces en el proyectito, ahora necesito que con cada registro se muestre una imagen asi como un catálogo, ya busqué y no encontré mucho. No sé si tengas alguna referencia que me puedas dar o algo. De antemano agradezco tu respuesta.
Saludos.
Víctor Bernal
Y que tal si guardas un campo de tipo texto que guarde la ruta donde está el archivo de la imagen que deseas mostrar. Entonces al leer el registro, lees la dirección y lo cargas en un PictureBox o algo similar.
Tony:
Gracias, jeje. La verdad es que me hace falta mucha práctica y mañas, aún no hago el código, pero ya lo tengo y es masomenos así:
Private Sub btnVerImg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerImg.Click
pctImg.Image = New System.Drawing.Bitmap(txtRuta.Text)
End Sub
Gracias! ya nadamas me falta poner este código en el inicio del formulario y en la ActualizaTexto() jejej.
Te aviso, saludos y gracias nuevamente.
Víctor Bernal
HOLA, ESTOY HACIENDO UNA CONECCION CON ACCES 2007 Y VS 2005 Y ME APARESE EL SIGUIENTE ERROR. " NO SE ENCUENTRA EL ARCHIVO ISAM INSTALABLE". AYUDA
Algo tienes mal instalado en tu Visual Basic 2005...
Aqui ha y un par de ligas que a lo mejor te ayudan:
http://support.microsoft.com/default.aspx?scid=kb;en-us;90111
http://www.mixsoftware.com/product/db/intro1.htm
¡Saludos!
He obrado con una infinidad files. Pero he casualmente chocado con - ayuda para abrir un archivo bdd access. El programa asombra gran cantidad las possibilidades. Por ejemplo el resurso ha restituido a mis .accdb ficheros corrompidos. Además el instrumento puede resolver este problema eficazmente y recuperar files.
Alex: mil gracias por tu aportación. En efecto el programa que mencionas se ve muy interesante.
Gracias
muy buen aporte gracias lo necesitaba :)
hola que tal, he realizado ejemplos con el codigo de buscar y no me lo genera, me marca error en el datatable en la linea de
reader.fill(dt) me dice que
El valor no puede ser nulo.
Nombre del parámetro: dataTable
que causa esto no entiendo gracias de antemano
Estimado Anónimo:
No sé exactamente lo que suceda, pero me parece que en tu tabla tienes algún campo con valor nulo o la búsqueda te devuelve una tabla vacía.
Es medio difícil saber sin la base de datos y el código, pero me suena que podría ser algo así.
Hola Tony tengo un problema al ejecutar el projecto,lo que sucede es que no me carga ningun text, ya he echo todo al pie de la letra y a la hora de llegar a dataAdapter.Fill(dt)no sigue con dataAdapter.dispose() ni nada lo unico que me queda es terminar la ejecucion,tengo window 7 x84 pero no se si ese sea el problema?
Recien estoy aprendiendo sobre el visual studio 2005 ya que anteriormente usaba vb6 con la ayuda de ADO pero no se si haya eso en este visual.
Lo que quiero hacer es uno parecido al de tu tutorial pero solo cargando nombre y contraseña que se encuentran en el archivo de access pero como repito no termina de ejecutarse.
Y si pongo txt1.Text = CStr(dt.Rows(intFila)("ID"))
txt2.Text = CStr(dt.Rows(intFila)("CONTRASEÑA")) en un boton me sale que no hay ninguna fila en la posicion 0.
Agradesco tu comprencion y espero que me ayudes lo antes posible.
¿Tienes algo dado de alta en la tabla? Porque si está vacía, es normal que te marque error.
Disculpa no haber sido especifico pero si hay datos en el access que puse en debug de donde esta el projecto pero la pregunta seria si esta cargando otro access y si fuera asi en todos los access del mismo nombre tengo datos colocados asi que no seria ese el error.
Eres una gran persona tony al ayudar con tu tutorial pero repito no puedo lograr que aparesca nada en los text.
agradesco nuevanente tu conprencion y espero me ayudes con este problema.
Hey Tony buen aqui viendo tus publicaciones que me sirve mucho para lo que estoy haciendo y estoy parado en algo que por favor me gustaria que me ayudaras o me dieras por lo menos una idea como hacerlo, te cuento lo siguiente....
Tengo un formulario con varios textbox, uno de ellos se llama tbRegistro y esta conectado a una base de datos en access...
Lo que quiero es que cuando abra para generar un nuevo registro de usuario en tbRegistro me salga el numero de registro que corresponde, he leido por ahi que tengo que seleccionar la base de dato el id que quiero y seleccionar el resgistro y sumarle uno para luego mostrarlo en textRegistro... Pero no entiendo nada me gustaria que me dieras una idea de como hacerlo por favor ya que de tus videos e imagines he apredido mucho de visual...
Att Jose... Espero de tu ayuda!!!
Perdón, José, pero ahorita tengo un montón de trabajo. Te ayudo sino te urge... es que estoy escribiendo tesis...
Tengo probleas al conectar la bd, tengo ke escribir todo el directorio no me fuka el path Dim strConexion As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= D:\AF\Documentos usuario\Visual Studio 2010\Projects\carpeta\cert\bin\Debug\certis.mdb"
Hola Tony saludos antes de todo mira hice un programita que obtiene datos de las llamadas de un conmutador en VB6 y los graba en access todo bien pero tambien hice otro que permite visualizar los datos y realizar cambios del nombre de quien hizo la llamada, el destino y quien autoriza aki utilice visual studio 2005 la conexion la hice asi Public cnSalt As New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=Z:\Salt.mdb;")
pero tengo un detalle que se alenta demasiado, podrias orientarme a que se debe, investigue y segun es por el objeto de conexion Oledb si es asi cual me recomiendas en usar Gracias
Estimado Anónimo:
Algunos objetos de base de datos dan broncas de lentitud en ambientes de red. Me metí con broncas hace años con Visual Basic 6 donde hice una consulta usando el DataControl a una tabla que estaba en un servidor en Michoacán desde mi oficina en Tlaquepaque y el resultado fue desastroso. De allí que me metí a escribir más código pero con algo eficiente.
Un acceso más eficiente lo puedes lograr usando objetos ADO (en el caso de Access no queda más que OleDb...). Fíjate en la presentación que está en la liga que escribo abajo. Solo está la parte de consulta, pero creo que con eso puedes ir agarrando la onda.
¡Saludos!
Liga:
http://tony-valderrama.blogspot.com/2010/10/visual-basic-net-adonet-y-access.html
Gracias mi estimado Tony por tu atención estoy checando el link
Exelente aporte amigo, me es de gran ayuda pero me preguntaba si no tienes conocimiento de algun link en donde se muestre a cerca de la modificacion de los registros en una base de datos ( borrar, insertar)...
Te agradeceria
excelente artículo...
ojala me puedas ayudar estoy realizando una aplicacion, la cual la bd se encuentra en un servidor, de las siguiente forma Dim strConexion As String = "Provider =Microsoft.Jet.OLEDB.4.0;" & "Data Source= \\SERVIDOR\Public\bases de dat\COMPRAS.MDB;" & "user=Héctor password=Héctor"... corri los codigos que tu utilizaste en estos videos... y me mando el siguiente error "No se pudo encontrar el archivo ISAM instalable"
Cual podria ser la solucion... por fis ayudame!!
el error me lo marca en lalinea donde se encuentra el codigo
dataAdapter.Fill(dt)
porfis...espero qme puedas ayudar
Estimado Anónimo:
No sé porque te está marcando error, pero lo primero que haría sería asegurar que estás usando una base de datos de Access 2003... ese Connectionstring solo sirve para este tipo de bases de datos. Si estás usando un archivo de Access 2007, hay que cambiar de ConnectionString. Un sitio que se especializa en connectionstrings es esta:
www.connectionstrings.com
Si ese no es el problema, yo quitaría, a forma de prueba, la parte de usuario y contraseña. Yo nunca los uso con Access y no sé si por allí estaría el problema.
Es normal que el error te lo marque en la lína del dataAdapter.Fill(dt) porque antes no verifica la sintaxis de instrucciones SQL ni de conexión.
Espero que esto sea de ayuda. Si quieres ver otra forma de accesar datos, te invito a leer este otro post que escribí hace poco:
http://tony-valderrama.blogspot.com/2010/10/visual-basic-net-adonet-y-access.html
¡Saludos!
aaaaaaaaaaaaaaaaaawwwww !!!
NESECITO AYUDA...
como elimino y guardo un registro de acces en visual 2008 ??? ah ? ah? ah?? juum! qiierooo saber ... :( Pliiisssss !!! <3
Excelente tutorial Tony.
Tienes algun video para botones de agregar y eliminar registros? te lo agradecería mucho o publicar aquí el código.
HOla Tony, Ecelente tutorial
a mi me surge un prblema siguendo el codigo al pie de la letra al ejecutar el prgrama no me carga ningun dato en los textbox, mis tablas si tienen registros y no me marca ningun error, Tengo Windows Seven 7 64bits, ya cambie el compilador para x86 y aun asi no me carga los datos en los textbos alguna idea de que este pasando?
No sabría exactamente como ayudarte. A lo mejor tiene algo que ver con tu instalación de Visual Basic.
Yo lo intentaría hacer en otra computadora a ver si el problema persiste. ¿Ya buscaste con Google una respuesta posible? Seguramente alguien ha tenido el mismo error.
Buenas Amigo Baje los videos de la bibioteca e hice lo que tu dices. pero me da un error al ejecutarlo que no encuentra la Bd en la carpeta debug si puedes hacer el favor de decirme en que me eqivoque espero pronta respuesta si puedes escribirme al carlospernalete@hotmail.com
Excelente Tony, me ha servido de mucho tu informacion :P buen dia
muy bueno tu blog
Ok, esta muy bien, pero me gustaria saber como capturo nuevos datos en los cuadros de texto y como los almaceno despues en la base de datos a la que estoy conectado, me sria de gran utilidad que me pudieran decir como lo tendria que hacer.
Escribirme a edu_luna@hotmail.com
Publicar un comentario