SlideShare uma empresa Scribd logo
1 de 13
Control Data                                                                  http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm



          Inicio   Ejemplos vb     Ocx - Activex   Api vb   Tutoriales - Manuales   Código fuente



          Ejemplos vb.net



                            Sección de             tutoriales       y
                            manuales vb


                      Control Data - Página 1
                      Volver - 1 - 2




                      emLink
                      Consultores expertos en desarrollo con
                      .NET
                      www.emlink.com.mx
                                                                                          En esta sección se ven
                                                                                          algunos ejemplos muy
                                                                                          simples del uso del
                                                                                          control Data de visual
                                                                                          Basic

                                                                                          Contenido :

                                                                                          Breve descripción

                                                                                          Ejemplo      1    :       Crear   una

                                                                                          Agenda simple

                                                                                          Ejemplo       2       -    Propiedad

                                 Recordsource en tiempo de ejecución

                                 Enlazar un control Data con un DbGrid

                                 Acceder a una base de datos con Password

                                 Enlaces relacionados




                      1 - Breve descripción

                      El control Data se utiliza con el motor de base de datos Microsoft Jet para acceder
                      a base de datos de diferentes formatos como por ejemplo: Microsoft Access,
                      Dbase, Excel, FoxPro, Lotus y Paradox, aunque en los ejemplos solo se utilizará
                      Microsoft Access como base de datos.

                      El control Data permite trabajar con controles enlazados, por ejemplo con
                      controles Label, TextBox, ComboBox, controles Image etc.. para presentar los
                      datos. Esto quiere decir que al colocar un control Data y enlazarlo a una base de
                      datos y luego enlazar dichos controles con el control Data, los cambios que se
                      realicen en los controles enlazados se reflejarán en la base de datos.




1 de 13                                                                                                                      19/04/2010 12:31 p.m.
Control Data                                              http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm


               Para enlazar la base de datos con un control Data     ubicado en el formulario, se
               utiliza la propiedad DataBaseName y Connect.          En la propiedad Connect se
               especifica el tipo de base de datos, por ejemplo:     Access. Luego, ya se puede
               seleccionar la base de datos. Para indicar con que    tabla se encontrará unida al
               control se utiliza la propiedad RecordSource.

               Nota: Antes de especificar la tabla en la propiedad RecordSource hay que indicar
               la propiedad DataBaseName y Connect, de lo contrario se producirá un error "
               Debe rellenar las propiedades DataBaseName y Connect para llevar a cabo la
               operación"

               Si bien estas propiedades se pueden establecer en tiempo de ejecución, en el
               ejemplo solo se realizará en tiempo de diseño




               2 - Ejemplo 1 : Crear una Agenda simple

               El primer paso será crear una base de datos Access con los siguientes campos:

               Nombre, Direccion y Telefono. El tipo de dato de los campos establecerle como
               de Tipo Texto

               Luego guardar la tabla con el nombre Contactos

               Colocar la base de datos en una carpeta cualquiera, donde se ubicará también el
               proyecto de ejemplo.

               Iniciar un nuevo proyecto de tipo Exe y guardarlo en la carpeta anterior. En el
               formulario principal, lo primero será colocar un control Data llamado Data1.

               Ahora seleccionar el control Data1, y desde la ventana de propiedades serciorarse
               que la propiedad Connect esté con el valor Access y en la propiedad
               DataBaseName elegir la base de datos anteriormente creada.

               Manteniendo seleccionado siempre el control Data, ahora localizar la propiedad
               Recordsource para indicar la tabla a la cual estará enlazada, y seleccionamos la
               Tabla Contactos.

               Colocar los siguiente controles en el formulario como está en la siguiente imagen:

                     Textbox: txtNombre, txtDireccion y txtTelefono
                     TextBox: txtNomEdit, txtDirEdit y txtTelEdit




2 de 13                                                                                                 19/04/2010 12:31 p.m.
Control Data                                            http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm




                    El commandButton Agregar colocarle el nombre CmdAgregar
                    El botón de Eliminar CmdEliminar
                    Refrescar: CmdRefresh
                    Actualizar : CmdActualizar
                    Modificar: CmdModificar



               Ahora para enlzar los textBox llamados txtNombre, txtDireccion y txtTelefono,
               hay que indicarle en la propiedad DataField de cada uno de los TextBox, el
               campo por el cual se enlazará. Para el primero, seleccionar el campo Nombre en
               la propiedad DataField, el segundo Textbox el campo Direccion y el tercero el
               campo Telefono



               El código del formulario:




3 de 13                                                                                               19/04/2010 12:31 p.m.
Control Data                                   http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm



               'Botón para Agregar un Nuevo Registro
               Private Sub CmdAgregar_Click()
               Data1.Refresh
               Data1.Recordset.AddNew
               txtNombre.SetFocus
               End Sub

               'Botón para Eliminar el Registro Activo
               Private Sub CmdEliminar_Click()

                   With Data1.Recordset
                       'Elimina
                       If Data1.Recordset.RecordCount = 0 Then Exit Sub
                       .Delete
                       'Posiciona en el siguiente
                       .MovePrevious
                       If Not .EOF Then .MoveLast
                   End With

               End Sub

               'Botón para Actualizar los cambios
               Private Sub CmdActualizar_Click()
                   On Error GoTo errSub
                   'Actualiza el control data
                   Data1.UpdateRecord
                   Data1.Recordset.Bookmark = Data1.Recordset.LastModified

                   Exit Sub
               errSub:
               If Err.Number = 524 Then
                  MsgBox "Para actualizar un registro primero agregue uno nuevo o" & _
                   "modifique algun registro activo", vbInformation
               End If
               End Sub
               'Botón para modificar el registro activo
               Private Sub CmdModificar_Click()

                   Data1.Recordset.Edit
                   If txtNomEdit <> "" Then Data1.Recordset("Nombre").Value = txtNomEdit
                   If txtDirEdit <> "" Then Data1.Recordset("Direccion").Value = txtDirEdit
                   If txtTelEdit <> "" Then Data1.Recordset("telefono").Value = Val(txtTelE
                   Data1.Recordset.Update
               End Sub
               'Refresca el control
               Private Sub CmdRefresh_Click()
               Data1.Refresh

               End Sub

               'Evento que ocurre Cuando se produce un error en el control Data
               Private Sub Data1_Error(DataErr As Integer, Response As Integer)

                   MsgBox "Error: " & Error$(DataErr)
                   Response = 0
               End Sub
               'Muestra la posición del registro activo del control Data
               Private Sub Data1_Reposition()
                   Screen.MousePointer = vbDefault
                   On Error Resume Next
                  'Mostramos el número de registro en el control Data en la propiedad capti
                   Data1.Caption = "Registro n° : " & (Data1.Recordset.AbsolutePosition + 1
               End Sub


               Private Sub Data1_Validate(Action As Integer, Save As Integer)


4 de 13                                                                                      19/04/2010 12:31 p.m.
Control Data                                            http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm




               Agregar una opción para buscar un registro:

               Añadirle al ejemplo anterior los siguientes controles:

                    3 TextBox: txtSearchNom, txtSearchDir y txtSearchTel
                    Un Option1 y en el Caption: " Por nombre "
                    Un Option2 y en el Caption: " Por Diercción "
                    Un Option3 y en el Caption: " Por Teléfono "
                    Un CommandButton llamado CmdBuscar




               El código del procedimiento al pulsar el botón Buscar




5 de 13                                                                                               19/04/2010 12:31 p.m.
Control Data                                              http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm



                 Private Sub CmdBuscar_Click()
                     If Option1.Value = True Then
                         Data1.Recordset.FindFirst ("Nombre = '" & txtSearchNom & "'")
                     ElseIf Option2.Value = True Then
                         Data1.Recordset.FindFirst ("Direccion = '" & txtSearchDir & "'")
                     ElseIf Option3.Value = True Then
                         Data1.Recordset.FindFirst ("telefono = '" & txtSearchTel & "'")
                     End If
                     If Data1.Recordset.NoMatch Then MsgBox " Registro no encontrado", vbInfo
                 End Sub




                  Descargar ejemplo




               3 - Ejemplo 2 - Propiedad Recordsource en tiempo de ejecución



               El siguiente ejemplo muestra una forma de utilizar la propiedad Recordsource del
               control Data

               El mismo consiste en un control Combo que tiene cargado los nombres de Clientes
               de una Tabla, y al seleccionar uno de ellos, poder mostrar otros datos del Cliente
               en unos TextBox, como muestra esta imagen:




               Pasos para crear el ejemplo :

               Crear una base de datos llamada base.MDB. Dentro de esta una tabla llamada
               Clientes en la cual tendrá los siguientes campos: Nombre, Telefono, Pais y
               Correo. Todos los campos dejarlos como de tipo texto.

               Cargar algunos datos de ejemplo y Guardar la base de datos en una carpeta
               donde también se guardará el proyecto de Visual basic.

               Ahora crear un nuevo proyecto en Visual basic y agregar en el formulario los
               siguiientes controles: Un control Data llamado Data1. Un control ComboBox
               llamado ComboNombres, Un textBox llamado txtTelefono, otro txtPais y otro
               txtCorreo

               Ahora se enlazará en la propiedad DataField y DataSource de cada TextBox, el
               campo relacionado y el control Data1 como fuente de los registros.



6 de 13                                                                                                 19/04/2010 12:31 p.m.
Control Data                                             http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm


               Por ejemplo, para el txtTelefono seleccionar la propiedad DataSource y
               seleccionar el control Data1 y en la propiedad DataField escribir el nombre del
               campo, en este caso Telefono. Todo esto desde la ventana de propeidades como
               muestra la imagen:




               Hacer lo mismo para los restantes Controles textBox



               El código fuente del Formulario sería el siguiente:




7 de 13                                                                                                19/04/2010 12:31 p.m.
Control Data                                            http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm



                  Option Explicit

                'Ejemplo 2 del control Data y la propiedad Recordsource en tiempo de ejecuci



                Private Sub ComboNombres_Click()

                     ' Al hacer Click en el elemento del combo _
                     se selecciona mediante sql el registro _
                     y la cadena Sql se asigna al Recorsource del _
                     control data
                     Data1.RecordSource = _
                         "SELECT * FROM Clientes WHERE Nombre='" & ComboNombres & "'"

                     'Refresca el control data
                     Data1.Refresh

                End Sub

                Private Sub Form_Load()
                Dim Path_Base_Dato As String, db As Database
                Dim rst As Recordset


                     Path_Base_Dato = App.Path
                     Path_Base_Dato = Path_Base_Dato & "base.mdb"

                     'Abre la base de datos
                     Set db = OpenDatabase(Path_Base_Dato)

                     'Abre el Recordset con la consulta: Selecciona los nombres ordenados
                     Set rst = db.OpenRecordset( _
                         "SELECT Nombre FROM Clientes ORDER BY Nombre", _
                         dbOpenSnapshot)

                     ' Se mueve al primer registro
                     rst.MoveFirst
                     Do While Not rst.EOF
                         'Agrega el Nombre al Combo
                         ComboNombres.AddItem rst!Nombre

                            'siguiente registro
                            rst.MoveNext
                     Loop

                     'Cierra el recordset y la base
                     rst.Close
                     db.Close

                     'Se asigna la base de datos al Data1
                     Data1.DatabaseName = Path_Base_Dato

                     'Seleccionamos el primer elemento del combo
                     ComboNombres.ListIndex = 0

                     Me.Caption = " Ejemplo de la propiedad recordsource del control Data "

                End Sub




               Este mismo ejemplo lo podés descargar desde este enlace:

                  Descargar Ejemplo 2 - Control Data



8 de 13                                                                                               19/04/2010 12:31 p.m.
Control Data                                              http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm




               4 - Enlazar un control Data con un DbGrid



               Para enlazar un control Data a un control DbGrid, es muy simple. Una ves que el
               control Data ya tiene especificado en la propiedad DataBaseName el nombre de la
               base de datos, y en la propiedad Recordsource la fuente de los registros ( consulta
               sql o tabla) , solo hay que especificar en la propiedad DataSource del control
               DbGrid, el control Data al cual estará enlazado. Como muestra la imagen:




               Para enlzar un control MsFlexGrid, se realiza de la misma forma, especificando en
               el control FlexGrid en la propiedad DataSource, el Data al cual enlazarlo.



               Enlazar un control Data con un DbGrid y especificar el RecordSource en
               tiempo de ejecución

               Este ejemplo es similar al anterior, es decir, se enlazará un control Data con un
               DbGrid, pero al cambiar la propiedad Recordsource del control Data en tiempo de
               ejecución, el DbGrid visualizará los nuevos datos.

               Colocar un DbGrid llamado DbGrid1, un control Data llamado Data1, un control
               TextBox llamado Text1 , un CommonDialog1, y dos botones, Command1 y
               Command2

               El Command1 será para seleccionar la base de datos. El Command2 para ejecutar
               la consulta sql que se escribirá en el control Text1.

               Esta es una vista del ejemplo




9 de 13                                                                                                 19/04/2010 12:31 p.m.
Control Data                                          http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm




               Importante: Al control DbGrid, especificarle en la propiedad DataSource el
               control Data1



               El código fuente del formulario:




10 de 13                                                                                            19/04/2010 12:31 p.m.
Control Data                                   http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm



               Option Explicit

               Private Sub Command1_Click()

               On Error GoTo ErrSub

                   With Data1
                        'Se asigna el Recordsource al data
                       .RecordSource = Trim$(Text1.Text)
                       .Refresh 'refresca el control
                   End With

               Exit Sub

               ErrSub:
                   MsgBox Err.Description, vbCritical, " Error "
               End Sub

               Private Sub Command2_Click()

               On Error GoTo ErrSub


               'Abre el cuadro de diálogo para Seleccionar la base de datos
               With CommonDialog1

                   .DialogTitle = " Seleccionar base de datos para anlzar con el Data "
                   .Filter = "Archivos de base de datos Access|*.mdb"
                   .ShowOpen

                   If .FileName = "" Then
                        Exit Sub
                   Else
                        'Le especifica el path de la Bd al control data1
                        Data1.DatabaseName = .FileName
                        MsgBox " Ahora escriba una consulta en Text1 para " & _
                                 "cargar el DbGrid ", vbInformation
                   End If

               End With

               Exit Sub

               ErrSub:
                   MsgBox Err.Description, vbCritical, " Error "

               End Sub



               Private Sub Data1_Error(DataErr As Integer, Response As Integer)
               Response = 0
               End Sub

               Private Sub Form_Load()
                   Me.Caption = " Ejemplo DbGrid y el control Data              "

                   Command1.Caption = " Ejecutar consulta "
                   Command2.Caption = " Seleccionar BD "

                   ' Tipo de base de datos para el Data
                   Data1.Connect = "Access"
               End Sub




11 de 13                                                                                     19/04/2010 12:31 p.m.
Control Data                                              http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm




                  Descarga ejemplo




               5 - Abrir una base de datos con Password



               Estos dos ejemplos muestran como abrir una base de datos Microsoft Access con
               password para asociarla luego a un control Data

               El primer ejemplo abre una Bd de tipo Access 2000, el segundo una Bd de tipo
               Access 97.



               Este ejemplo requiere incluir la referencia a Microsoft DAO desde el menú
               Proyecto - Referencias e incluir un control Data llamado Data1

                 Option Explicit

                 Private Sub Form_Load()

                 Dim Path As String
                 Dim db As Database
                 Dim rst As Recordset


                     Path = App.Path & "Bd1.mdb"


                     Set db = DBEngine.OpenDatabase(Path, False, False, "MS Access;PWD=EL_PAS

                     ' Abre el recordset
                     Set rst = db.OpenRecordset("El_Campo")

                     ' Asocia el recordset al control Data
                     Set Data1.Recordset = rst

                 End Sub




               Abrir la base con Password en Access 97:




12 de 13                                                                                                19/04/2010 12:31 p.m.
Control Data                                            http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm



                 Private Sub Form_Load()

                 Dim Password As String


                 ' Passsword de la base de datos
                 Password = ";PWD=" & "el_password"

                 'Path de la bd
                 Data1.DatabaseName = App.Path & "bd1.mdb"

                 Data1.Connect = Password

                 Data1.Refresh



                 End Sub




                   6 - Enlaces relacionados

                     Página de ejemplos usando Microsoft Dao




               Volver - 1 - 2




                  Buscar en Recursos vb




               emLink
               Consultores expertos en desarrollo con
               .NET
               www.emlink.com.mx




               Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 -
               www.recursosvisualbasic.com.ar




13 de 13                                                                                              19/04/2010 12:31 p.m.

Mais conteúdo relacionado

Mais procurados

Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jspjujuju12
 
Cubo
CuboCubo
Cubokarla
 
Practica Seis Delphi
Practica Seis DelphiPractica Seis Delphi
Practica Seis DelphiJose Ponce
 
Base de datos desde visual basic 6.0
Base de datos desde visual basic 6.0Base de datos desde visual basic 6.0
Base de datos desde visual basic 6.0daiacos
 
Guia de Laboratorios 3 - VB.NET 2005
Guia de Laboratorios 3 - VB.NET 2005Guia de Laboratorios 3 - VB.NET 2005
Guia de Laboratorios 3 - VB.NET 2005Jose Ponce
 
Manual para la_creacion_de_aplicaciones_web
Manual para la_creacion_de_aplicaciones_webManual para la_creacion_de_aplicaciones_web
Manual para la_creacion_de_aplicaciones_webAnnie Mrtx
 
Informe programacion leomar salas
Informe programacion leomar salasInforme programacion leomar salas
Informe programacion leomar salasLeomarSalas2
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidorCincoC
 
18666613 backup-and-restore-en-sql-server-2008-express-edition
18666613 backup-and-restore-en-sql-server-2008-express-edition18666613 backup-and-restore-en-sql-server-2008-express-edition
18666613 backup-and-restore-en-sql-server-2008-express-editionMariuxi Jimbo Salinas
 
Herramienta hacker - Manual Maltego
Herramienta hacker - Manual Maltego Herramienta hacker - Manual Maltego
Herramienta hacker - Manual Maltego Borja Badía
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 

Mais procurados (17)

Lenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-proLenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-pro
 
Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jsp
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Cubo
CuboCubo
Cubo
 
Taller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridadTaller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridad
 
Practica Seis Delphi
Practica Seis DelphiPractica Seis Delphi
Practica Seis Delphi
 
Base de datos desde visual basic 6.0
Base de datos desde visual basic 6.0Base de datos desde visual basic 6.0
Base de datos desde visual basic 6.0
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Guia de Laboratorios 3 - VB.NET 2005
Guia de Laboratorios 3 - VB.NET 2005Guia de Laboratorios 3 - VB.NET 2005
Guia de Laboratorios 3 - VB.NET 2005
 
Manual para la_creacion_de_aplicaciones_web
Manual para la_creacion_de_aplicaciones_webManual para la_creacion_de_aplicaciones_web
Manual para la_creacion_de_aplicaciones_web
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos moviles
Base de datos movilesBase de datos moviles
Base de datos moviles
 
Informe programacion leomar salas
Informe programacion leomar salasInforme programacion leomar salas
Informe programacion leomar salas
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
18666613 backup-and-restore-en-sql-server-2008-express-edition
18666613 backup-and-restore-en-sql-server-2008-express-edition18666613 backup-and-restore-en-sql-server-2008-express-edition
18666613 backup-and-restore-en-sql-server-2008-express-edition
 
Herramienta hacker - Manual Maltego
Herramienta hacker - Manual Maltego Herramienta hacker - Manual Maltego
Herramienta hacker - Manual Maltego
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 

Semelhante a Control Data tutorial

Vb II, Unidad III Base De Datos
Vb II, Unidad III Base De DatosVb II, Unidad III Base De Datos
Vb II, Unidad III Base De DatosUTP, TA
 
Vb net bd_2005_02
Vb net bd_2005_02Vb net bd_2005_02
Vb net bd_2005_02Paul Taco
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datosRafael Quintero
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basicsantiagomario8
 
ConexióN De Base De Datos
ConexióN De Base De DatosConexióN De Base De Datos
ConexióN De Base De DatosVerenice Corea
 
Informe conexion de base de datos visual basic 6.0
Informe conexion de base de datos visual basic 6.0Informe conexion de base de datos visual basic 6.0
Informe conexion de base de datos visual basic 6.0eymisaraiparedeslugo
 
Visual basic 2010 data por codigo
Visual basic 2010 data por codigoVisual basic 2010 data por codigo
Visual basic 2010 data por codigojuan fernandez
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0patrimoni
 
Como conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql serverComo conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql serverKarolaynCardozo1
 
Bases de datos_angelina_monetti
Bases de datos_angelina_monettiBases de datos_angelina_monetti
Bases de datos_angelina_monettiangelinamonetti1
 
Informe conecta base_datos_diego_rangel
Informe conecta base_datos_diego_rangelInforme conecta base_datos_diego_rangel
Informe conecta base_datos_diego_rangelDiegoRangel39
 
Bases de datos visual basic
Bases de datos visual basicBases de datos visual basic
Bases de datos visual basicAlejandro Ferrer
 
Conexión de visual basic a bases de datos. María Parra
Conexión de visual basic a bases de datos. María ParraConexión de visual basic a bases de datos. María Parra
Conexión de visual basic a bases de datos. María ParraMariaphlb
 

Semelhante a Control Data tutorial (20)

Vb II, Unidad III Base De Datos
Vb II, Unidad III Base De DatosVb II, Unidad III Base De Datos
Vb II, Unidad III Base De Datos
 
ADO NET.ppt
ADO NET.pptADO NET.ppt
ADO NET.ppt
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Vb net bd_2005_02
Vb net bd_2005_02Vb net bd_2005_02
Vb net bd_2005_02
 
Guia no1 ado.net
Guia no1 ado.netGuia no1 ado.net
Guia no1 ado.net
 
My Sql A C#
My Sql A C#My Sql A C#
My Sql A C#
 
My Sql A C#
My Sql A C#My Sql A C#
My Sql A C#
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
ConexióN De Base De Datos
ConexióN De Base De DatosConexióN De Base De Datos
ConexióN De Base De Datos
 
Informe conexion de base de datos visual basic 6.0
Informe conexion de base de datos visual basic 6.0Informe conexion de base de datos visual basic 6.0
Informe conexion de base de datos visual basic 6.0
 
Leo
LeoLeo
Leo
 
Visual basic 2010 data por codigo
Visual basic 2010 data por codigoVisual basic 2010 data por codigo
Visual basic 2010 data por codigo
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Como conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql serverComo conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql server
 
Bases de datos_angelina_monetti
Bases de datos_angelina_monettiBases de datos_angelina_monetti
Bases de datos_angelina_monetti
 
Informe conecta base_datos_diego_rangel
Informe conecta base_datos_diego_rangelInforme conecta base_datos_diego_rangel
Informe conecta base_datos_diego_rangel
 
Bases de datos visual basic
Bases de datos visual basicBases de datos visual basic
Bases de datos visual basic
 
Conexión de visual basic a bases de datos. María Parra
Conexión de visual basic a bases de datos. María ParraConexión de visual basic a bases de datos. María Parra
Conexión de visual basic a bases de datos. María Parra
 
Dprn3 u3 a1_casv
Dprn3 u3 a1_casvDprn3 u3 a1_casv
Dprn3 u3 a1_casv
 

Mais de nera24mx

Manual org cbta tipo a 2010
Manual org cbta tipo a 2010Manual org cbta tipo a 2010
Manual org cbta tipo a 2010nera24mx
 
V. liqviat 2009
V. liqviat 2009V. liqviat 2009
V. liqviat 2009nera24mx
 
Orden de min. viat.
Orden de min. viat.Orden de min. viat.
Orden de min. viat.nera24mx
 
Ord. serv. pasaj.
Ord. serv. pasaj.Ord. serv. pasaj.
Ord. serv. pasaj.nera24mx
 
Infocom 2009
Infocom 2009Infocom 2009
Infocom 2009nera24mx
 
Estado del ejer. 2009
Estado del ejer. 2009Estado del ejer. 2009
Estado del ejer. 2009nera24mx
 
Anexo 4 2010
Anexo 4 2010Anexo 4 2010
Anexo 4 2010nera24mx
 
Reunion rf 10-1
Reunion rf 10-1Reunion rf 10-1
Reunion rf 10-1nera24mx
 
Resena fot
Resena fotResena fot
Resena fotnera24mx
 
Saber si estamos o no conectados a internet
Saber si estamos o no conectados a internetSaber si estamos o no conectados a internet
Saber si estamos o no conectados a internetnera24mx
 
Formulario con transparencia
Formulario con transparenciaFormulario con transparencia
Formulario con transparencianera24mx
 

Mais de nera24mx (20)

Manual org cbta tipo a 2010
Manual org cbta tipo a 2010Manual org cbta tipo a 2010
Manual org cbta tipo a 2010
 
Editor
EditorEditor
Editor
 
4 a
4 a4 a
4 a
 
Cifras
CifrasCifras
Cifras
 
V. liqviat 2009
V. liqviat 2009V. liqviat 2009
V. liqviat 2009
 
Orden de min. viat.
Orden de min. viat.Orden de min. viat.
Orden de min. viat.
 
Ord. serv. pasaj.
Ord. serv. pasaj.Ord. serv. pasaj.
Ord. serv. pasaj.
 
Infocom 2009
Infocom 2009Infocom 2009
Infocom 2009
 
Estado del ejer. 2009
Estado del ejer. 2009Estado del ejer. 2009
Estado del ejer. 2009
 
Comperco
CompercoComperco
Comperco
 
Anexo 4 2010
Anexo 4 2010Anexo 4 2010
Anexo 4 2010
 
Reunion rf 10-1
Reunion rf 10-1Reunion rf 10-1
Reunion rf 10-1
 
Resena fot
Resena fotResena fot
Resena fot
 
Redondea
RedondeaRedondea
Redondea
 
Saber si estamos o no conectados a internet
Saber si estamos o no conectados a internetSaber si estamos o no conectados a internet
Saber si estamos o no conectados a internet
 
Formulario con transparencia
Formulario con transparenciaFormulario con transparencia
Formulario con transparencia
 
Archivo
ArchivoArchivo
Archivo
 
Archivos
ArchivosArchivos
Archivos
 
Cartel
CartelCartel
Cartel
 
Censo
CensoCenso
Censo
 

Control Data tutorial

  • 1. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm Inicio Ejemplos vb Ocx - Activex Api vb Tutoriales - Manuales Código fuente Ejemplos vb.net Sección de tutoriales y manuales vb Control Data - Página 1 Volver - 1 - 2 emLink Consultores expertos en desarrollo con .NET www.emlink.com.mx En esta sección se ven algunos ejemplos muy simples del uso del control Data de visual Basic Contenido : Breve descripción Ejemplo 1 : Crear una Agenda simple Ejemplo 2 - Propiedad Recordsource en tiempo de ejecución Enlazar un control Data con un DbGrid Acceder a una base de datos con Password Enlaces relacionados 1 - Breve descripción El control Data se utiliza con el motor de base de datos Microsoft Jet para acceder a base de datos de diferentes formatos como por ejemplo: Microsoft Access, Dbase, Excel, FoxPro, Lotus y Paradox, aunque en los ejemplos solo se utilizará Microsoft Access como base de datos. El control Data permite trabajar con controles enlazados, por ejemplo con controles Label, TextBox, ComboBox, controles Image etc.. para presentar los datos. Esto quiere decir que al colocar un control Data y enlazarlo a una base de datos y luego enlazar dichos controles con el control Data, los cambios que se realicen en los controles enlazados se reflejarán en la base de datos. 1 de 13 19/04/2010 12:31 p.m.
  • 2. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm Para enlazar la base de datos con un control Data ubicado en el formulario, se utiliza la propiedad DataBaseName y Connect. En la propiedad Connect se especifica el tipo de base de datos, por ejemplo: Access. Luego, ya se puede seleccionar la base de datos. Para indicar con que tabla se encontrará unida al control se utiliza la propiedad RecordSource. Nota: Antes de especificar la tabla en la propiedad RecordSource hay que indicar la propiedad DataBaseName y Connect, de lo contrario se producirá un error " Debe rellenar las propiedades DataBaseName y Connect para llevar a cabo la operación" Si bien estas propiedades se pueden establecer en tiempo de ejecución, en el ejemplo solo se realizará en tiempo de diseño 2 - Ejemplo 1 : Crear una Agenda simple El primer paso será crear una base de datos Access con los siguientes campos: Nombre, Direccion y Telefono. El tipo de dato de los campos establecerle como de Tipo Texto Luego guardar la tabla con el nombre Contactos Colocar la base de datos en una carpeta cualquiera, donde se ubicará también el proyecto de ejemplo. Iniciar un nuevo proyecto de tipo Exe y guardarlo en la carpeta anterior. En el formulario principal, lo primero será colocar un control Data llamado Data1. Ahora seleccionar el control Data1, y desde la ventana de propiedades serciorarse que la propiedad Connect esté con el valor Access y en la propiedad DataBaseName elegir la base de datos anteriormente creada. Manteniendo seleccionado siempre el control Data, ahora localizar la propiedad Recordsource para indicar la tabla a la cual estará enlazada, y seleccionamos la Tabla Contactos. Colocar los siguiente controles en el formulario como está en la siguiente imagen: Textbox: txtNombre, txtDireccion y txtTelefono TextBox: txtNomEdit, txtDirEdit y txtTelEdit 2 de 13 19/04/2010 12:31 p.m.
  • 3. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm El commandButton Agregar colocarle el nombre CmdAgregar El botón de Eliminar CmdEliminar Refrescar: CmdRefresh Actualizar : CmdActualizar Modificar: CmdModificar Ahora para enlzar los textBox llamados txtNombre, txtDireccion y txtTelefono, hay que indicarle en la propiedad DataField de cada uno de los TextBox, el campo por el cual se enlazará. Para el primero, seleccionar el campo Nombre en la propiedad DataField, el segundo Textbox el campo Direccion y el tercero el campo Telefono El código del formulario: 3 de 13 19/04/2010 12:31 p.m.
  • 4. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm 'Botón para Agregar un Nuevo Registro Private Sub CmdAgregar_Click() Data1.Refresh Data1.Recordset.AddNew txtNombre.SetFocus End Sub 'Botón para Eliminar el Registro Activo Private Sub CmdEliminar_Click() With Data1.Recordset 'Elimina If Data1.Recordset.RecordCount = 0 Then Exit Sub .Delete 'Posiciona en el siguiente .MovePrevious If Not .EOF Then .MoveLast End With End Sub 'Botón para Actualizar los cambios Private Sub CmdActualizar_Click() On Error GoTo errSub 'Actualiza el control data Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified Exit Sub errSub: If Err.Number = 524 Then MsgBox "Para actualizar un registro primero agregue uno nuevo o" & _ "modifique algun registro activo", vbInformation End If End Sub 'Botón para modificar el registro activo Private Sub CmdModificar_Click() Data1.Recordset.Edit If txtNomEdit <> "" Then Data1.Recordset("Nombre").Value = txtNomEdit If txtDirEdit <> "" Then Data1.Recordset("Direccion").Value = txtDirEdit If txtTelEdit <> "" Then Data1.Recordset("telefono").Value = Val(txtTelE Data1.Recordset.Update End Sub 'Refresca el control Private Sub CmdRefresh_Click() Data1.Refresh End Sub 'Evento que ocurre Cuando se produce un error en el control Data Private Sub Data1_Error(DataErr As Integer, Response As Integer) MsgBox "Error: " & Error$(DataErr) Response = 0 End Sub 'Muestra la posición del registro activo del control Data Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 'Mostramos el número de registro en el control Data en la propiedad capti Data1.Caption = "Registro n° : " & (Data1.Recordset.AbsolutePosition + 1 End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 4 de 13 19/04/2010 12:31 p.m.
  • 5. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm Agregar una opción para buscar un registro: Añadirle al ejemplo anterior los siguientes controles: 3 TextBox: txtSearchNom, txtSearchDir y txtSearchTel Un Option1 y en el Caption: " Por nombre " Un Option2 y en el Caption: " Por Diercción " Un Option3 y en el Caption: " Por Teléfono " Un CommandButton llamado CmdBuscar El código del procedimiento al pulsar el botón Buscar 5 de 13 19/04/2010 12:31 p.m.
  • 6. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm Private Sub CmdBuscar_Click() If Option1.Value = True Then Data1.Recordset.FindFirst ("Nombre = '" & txtSearchNom & "'") ElseIf Option2.Value = True Then Data1.Recordset.FindFirst ("Direccion = '" & txtSearchDir & "'") ElseIf Option3.Value = True Then Data1.Recordset.FindFirst ("telefono = '" & txtSearchTel & "'") End If If Data1.Recordset.NoMatch Then MsgBox " Registro no encontrado", vbInfo End Sub Descargar ejemplo 3 - Ejemplo 2 - Propiedad Recordsource en tiempo de ejecución El siguiente ejemplo muestra una forma de utilizar la propiedad Recordsource del control Data El mismo consiste en un control Combo que tiene cargado los nombres de Clientes de una Tabla, y al seleccionar uno de ellos, poder mostrar otros datos del Cliente en unos TextBox, como muestra esta imagen: Pasos para crear el ejemplo : Crear una base de datos llamada base.MDB. Dentro de esta una tabla llamada Clientes en la cual tendrá los siguientes campos: Nombre, Telefono, Pais y Correo. Todos los campos dejarlos como de tipo texto. Cargar algunos datos de ejemplo y Guardar la base de datos en una carpeta donde también se guardará el proyecto de Visual basic. Ahora crear un nuevo proyecto en Visual basic y agregar en el formulario los siguiientes controles: Un control Data llamado Data1. Un control ComboBox llamado ComboNombres, Un textBox llamado txtTelefono, otro txtPais y otro txtCorreo Ahora se enlazará en la propiedad DataField y DataSource de cada TextBox, el campo relacionado y el control Data1 como fuente de los registros. 6 de 13 19/04/2010 12:31 p.m.
  • 7. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm Por ejemplo, para el txtTelefono seleccionar la propiedad DataSource y seleccionar el control Data1 y en la propiedad DataField escribir el nombre del campo, en este caso Telefono. Todo esto desde la ventana de propeidades como muestra la imagen: Hacer lo mismo para los restantes Controles textBox El código fuente del Formulario sería el siguiente: 7 de 13 19/04/2010 12:31 p.m.
  • 8. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm Option Explicit 'Ejemplo 2 del control Data y la propiedad Recordsource en tiempo de ejecuci Private Sub ComboNombres_Click() ' Al hacer Click en el elemento del combo _ se selecciona mediante sql el registro _ y la cadena Sql se asigna al Recorsource del _ control data Data1.RecordSource = _ "SELECT * FROM Clientes WHERE Nombre='" & ComboNombres & "'" 'Refresca el control data Data1.Refresh End Sub Private Sub Form_Load() Dim Path_Base_Dato As String, db As Database Dim rst As Recordset Path_Base_Dato = App.Path Path_Base_Dato = Path_Base_Dato & "base.mdb" 'Abre la base de datos Set db = OpenDatabase(Path_Base_Dato) 'Abre el Recordset con la consulta: Selecciona los nombres ordenados Set rst = db.OpenRecordset( _ "SELECT Nombre FROM Clientes ORDER BY Nombre", _ dbOpenSnapshot) ' Se mueve al primer registro rst.MoveFirst Do While Not rst.EOF 'Agrega el Nombre al Combo ComboNombres.AddItem rst!Nombre 'siguiente registro rst.MoveNext Loop 'Cierra el recordset y la base rst.Close db.Close 'Se asigna la base de datos al Data1 Data1.DatabaseName = Path_Base_Dato 'Seleccionamos el primer elemento del combo ComboNombres.ListIndex = 0 Me.Caption = " Ejemplo de la propiedad recordsource del control Data " End Sub Este mismo ejemplo lo podés descargar desde este enlace: Descargar Ejemplo 2 - Control Data 8 de 13 19/04/2010 12:31 p.m.
  • 9. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm 4 - Enlazar un control Data con un DbGrid Para enlazar un control Data a un control DbGrid, es muy simple. Una ves que el control Data ya tiene especificado en la propiedad DataBaseName el nombre de la base de datos, y en la propiedad Recordsource la fuente de los registros ( consulta sql o tabla) , solo hay que especificar en la propiedad DataSource del control DbGrid, el control Data al cual estará enlazado. Como muestra la imagen: Para enlzar un control MsFlexGrid, se realiza de la misma forma, especificando en el control FlexGrid en la propiedad DataSource, el Data al cual enlazarlo. Enlazar un control Data con un DbGrid y especificar el RecordSource en tiempo de ejecución Este ejemplo es similar al anterior, es decir, se enlazará un control Data con un DbGrid, pero al cambiar la propiedad Recordsource del control Data en tiempo de ejecución, el DbGrid visualizará los nuevos datos. Colocar un DbGrid llamado DbGrid1, un control Data llamado Data1, un control TextBox llamado Text1 , un CommonDialog1, y dos botones, Command1 y Command2 El Command1 será para seleccionar la base de datos. El Command2 para ejecutar la consulta sql que se escribirá en el control Text1. Esta es una vista del ejemplo 9 de 13 19/04/2010 12:31 p.m.
  • 10. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm Importante: Al control DbGrid, especificarle en la propiedad DataSource el control Data1 El código fuente del formulario: 10 de 13 19/04/2010 12:31 p.m.
  • 11. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm Option Explicit Private Sub Command1_Click() On Error GoTo ErrSub With Data1 'Se asigna el Recordsource al data .RecordSource = Trim$(Text1.Text) .Refresh 'refresca el control End With Exit Sub ErrSub: MsgBox Err.Description, vbCritical, " Error " End Sub Private Sub Command2_Click() On Error GoTo ErrSub 'Abre el cuadro de diálogo para Seleccionar la base de datos With CommonDialog1 .DialogTitle = " Seleccionar base de datos para anlzar con el Data " .Filter = "Archivos de base de datos Access|*.mdb" .ShowOpen If .FileName = "" Then Exit Sub Else 'Le especifica el path de la Bd al control data1 Data1.DatabaseName = .FileName MsgBox " Ahora escriba una consulta en Text1 para " & _ "cargar el DbGrid ", vbInformation End If End With Exit Sub ErrSub: MsgBox Err.Description, vbCritical, " Error " End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) Response = 0 End Sub Private Sub Form_Load() Me.Caption = " Ejemplo DbGrid y el control Data " Command1.Caption = " Ejecutar consulta " Command2.Caption = " Seleccionar BD " ' Tipo de base de datos para el Data Data1.Connect = "Access" End Sub 11 de 13 19/04/2010 12:31 p.m.
  • 12. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm Descarga ejemplo 5 - Abrir una base de datos con Password Estos dos ejemplos muestran como abrir una base de datos Microsoft Access con password para asociarla luego a un control Data El primer ejemplo abre una Bd de tipo Access 2000, el segundo una Bd de tipo Access 97. Este ejemplo requiere incluir la referencia a Microsoft DAO desde el menú Proyecto - Referencias e incluir un control Data llamado Data1 Option Explicit Private Sub Form_Load() Dim Path As String Dim db As Database Dim rst As Recordset Path = App.Path & "Bd1.mdb" Set db = DBEngine.OpenDatabase(Path, False, False, "MS Access;PWD=EL_PAS ' Abre el recordset Set rst = db.OpenRecordset("El_Campo") ' Asocia el recordset al control Data Set Data1.Recordset = rst End Sub Abrir la base con Password en Access 97: 12 de 13 19/04/2010 12:31 p.m.
  • 13. Control Data http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-data.htm Private Sub Form_Load() Dim Password As String ' Passsword de la base de datos Password = ";PWD=" & "el_password" 'Path de la bd Data1.DatabaseName = App.Path & "bd1.mdb" Data1.Connect = Password Data1.Refresh End Sub 6 - Enlaces relacionados Página de ejemplos usando Microsoft Dao Volver - 1 - 2 Buscar en Recursos vb emLink Consultores expertos en desarrollo con .NET www.emlink.com.mx Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 - www.recursosvisualbasic.com.ar 13 de 13 19/04/2010 12:31 p.m.