Está en la página 1de 7

Ejemplo Prctico Usando el Data Control

Nota: gran parte de la informacin de estos ejemplos provienen de el sitio web de Jorge Andrs Sanchez www.jsanchez@yupimail.com. Lamentablemente perd la direccin de su pgina en Geocities por lo que no puedo dar los credtos completos tal como quisiera

Usando Access o el Administrador Visual de datos creamos la siguiente base de datos:


NOMBRE DE LA BASE DE DATOS: Telfonos.mdb NOMBRE DE LA TABLA: Telfonos NOMBRE DEL CAMPO Nombre Direccin Telfono Notas TIPO DE DATOS Texto Texto Texto Texto TAMAO 50 50 50 240 INDEXADO Si (Con duplicados) No No No

Luego en una form creamos los botones Borrar, Buscar, Cancelar, Command1, Command2, Command3, Command4, Command5, Command6, Editar, Grabar, Nuevo y Refrescar Los cdigos respectivos son:

Private Sub Borrar_Click() Dim R As Integer On Error GoTo fin R = MsgBox("Desea borrar el registro?", 4 + 64, "Atencin") If R <> 6 Then Exit Sub Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End If fin: If Err.Number <> 0 Then MsgBox Error, , "Se ha producido un error:" Data1.UpdateControls End If End Sub

Private Sub Buscar_Click() Dim Buscado As String Dim Criterio As String

Buscado = InputBox("Que nombre desea buscar?") Criterio = "nombre like '*" & Buscado & "*'" Data1.Recordset.FindFirst Criterio If Data1.Recordset.NoMatch Then cadena = "El registro " & UCase(Buscado) & " no existe" MsgBox cadena, 64, "Resultado de la busqueda" Data1.Recordset.MoveLast End If End Sub

Private Sub Cancelar_Click() Data1.UpdateControls HabilitarBotones Grabar.Enabled = False InhabilitarCajas End Sub

Private Sub Command1_Click() Data1.Recordset.MoveFirst End Sub

Private Sub Command2_Click() Data1.Recordset.MovePrevious If Data1.Recordset.BOF Then Data1.Recordset.MoveFirst End If End Sub

Private Sub Command3_Click() Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End If End Sub

Private Sub Command4_Click() Data1.Recordset.MoveLast End Sub

Private Sub Command5_Click() LN = Chr$(13) + Chr$(10) carreta = "DIRECTORIO TELEFONICO" + LN carreta = carreta + LN carreta = carreta & "Desarrollado por Jorge Andrs Snchez" + LN carreta = carreta & "Distribucin libre" + LN carreta = carreta & "Email: www.jsanchez@yupimail.com" MsgBox carreta, 64, "Acerca de..." End Sub

Private Sub Command6_Click() End End Sub

Private Sub editar_Click() HabilitarCajas InhabilitarBotones Grabar.Enabled = True Cancelar.Enabled = True Data1.Recordset.Edit Text1.SetFocus End Sub

Private Sub Form_Load() Grabar.Enabled = False InhabilitarCajas ChDir App.Path End Sub

Public Sub InhabilitarCajas() Dim N As Integer For N = 0 To Controls.Count - 1 If TypeOf Controls(N) Is TextBox Then Controls(N).Enabled = False End If Next N End Sub

Public Sub HabilitarCajas() Dim N As Integer For N = 0 To Controls.Count - 1 If TypeOf Controls(N) Is TextBox Then Controls(N).Enabled = True End If

Next N End Sub

Public Sub InhabilitarBotones() Dim N As Integer For N = 0 To Controls.Count - 1 If TypeOf Controls(N) Is CommandButton Then Controls(N).Enabled = False End If Next N End Sub

Public Sub HabilitarBotones() Dim N As Integer For N = 0 To Controls.Count - 1 If TypeOf Controls(N) Is CommandButton Then Controls(N).Enabled = True End If Next N End Sub

Private Sub Grabar_Click() Data1.Recordset.Update HabilitarBotones Grabar.Enabled = False InhabilitarCajas End Sub

Private Sub Nuevo_Click() HabilitarCajas InhabilitarBotones Grabar.Enabled = True Cancelar.Enabled = True Data1.Recordset.AddNew Text1.SetFocus End Sub

Private Sub Refrescar_Click() Data1.Refresh HabilitarBotones Grabar.Enabled = False End Sub

Hola de nuevo, agradezco de antemano su ayuda, tengo una base de datos con varias tablas, una llamada nombres y una llamada reportes, en el formulario de reportes tengo un combobox llamado nombres, quiero que en el combobox me aparezcan los datos que tengo en la ta bla nombres, esta tabla solo tiene un dato(nombre) y que este dato se guarde con la actualizacin del formulario. Gracias Anuncios Google O3 Business Intelligence Tecnologa lder en Amrica Descargue versin free www.ideasoft.biz Experto Hola, si lo que quieres es cargar los datos que tienescen una tabla en un combo haz lo siguiente: Crea: un control data y un combo, luego coloca este cdigo en el load del formulario: Data1.DatabaseName = App.Path & "\bd.mdb" Data1.RecordSource = "tabla" Data1.Refresh With Combo1 .Clear Data1.Refresh While Not Data1.Recordset.EOF .AddItem Data1.Recordset!nombre Data1.Recordset.MoveNext Wend End With

Con esto llenas el combo con los nombres que tienes almacenados en la tabla.. Ahora bien cuando dices que quieres guardar los datos del formulario reporte, eso depender de que datos quieres guardar... Saludos, y espero te sirva la ayuda.. Usuario Ya tengo un control data, este hace referencia a la tabla reportes, cree otro formulario con un control data para aplicar tu cdigo me da run time error en la tercer linea Data1.Refresh. El formulario original es para llenar la tabla reportes, quiero seleccionar los nombres a ingresar en un combobox que me muestre los nombres de una tabla llamada nombres y que lo almacene en la tabla llamada reportes junto con el resto de la captura. Gracias por tu apoyo Experto

Me parece raro que te de ese error porque lo prob y funciona bien, a menos que: a)No tengas bien instalado el visual b) sea otra version (este ejemplo es con vb 6.0) De todas formas intenta nuevamente con:

Private Sub Form_Load() Data1.DatabaseName = App.Path & "\bd2.mdb" ' nombre de la base de datos Data1.RecordSource = "nombres" ' nombre de la tabla donde tienes los datos requeridos Data1.Refresh' actualiza los datos del control data para poder utulizarlos With Combo1 .Clear Data1.Refresh While Not Data1.Recordset.EOF .AddItem Data1. Recordset! Nombre ' nombre del campo de la tabla que tiene en la base de datos Data1.Recordset.MoveNext Wend End With End Sub

Ahora bien no entiendo bien cuando dices que: quiero seleccionar los nombres a ingresar en un combobox; entonces: 1) El ejemplo sirve para llenar el combo con todos los nombres que tienes guardados en la tabla nombres y luego almacenarlos en la tabla reportes puedes crear un botn y haces larutina de guardado en en botn 2) Lo que necesitas es seleccionar unos determinados nombres (basados en unos criterios)de la tabla nombres para luego guardarlos en la tabla reporte. Si quieres especifcame bien tus necesidades y que deseas hacer para tratar de ayudarte mejor.. Estoy a la orden Usuario Gracias por el apoyo, pero sigo teniendo problemas, tengo el VB6 y no se por que me sigue dando el error, una molestia ms, me puedes enviar la compilacin aplicada, este es mi correo albgarcia1000@yahoo.com.mx Gracias por anticipado Experto Ok, te acabo de enviar por correo la aplicacin..

Hola como estas mi problema radica en que yo tengo una base de datos creada en access enlazada con ado yo relacione tres tablas llamadas contacto ejecutivo y empresas entonces ya yo cree el primer formulario llamado tabla ahora lo que yo quiero es que en

el formulario de contacto y un campo empresa entonce lo que yo quiero es que con ese combobox los registros que yo puse en el campo empresas de el formulario empresas me muestre todas las empresas que yo inserte en el formulario empresas que se muestre en el formulario de contactos en el campo empresas

Experto Anuncios Google Simplifica Software Proveedor lder en desarrollo de soluciones innovadoras con GeneXus. www.simplifica.com.uy Hola Crea: un control data y un combo, luego coloca este cdigo en el load del formulario: Data1.DatabaseName = App.Path & "\bd.mdb" Data1.RecordSource = "tabla" Data1.Refresh With Combo1 .Clear Data1.Refresh While Not Data1.Recordset.EOF .AddItem Data1.Recordset!nombre Data1.Recordset.MoveNext Wend End With Con esto llenas el combo con los nombres que tienes almacenados en la tabla.. Saludos