Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Mejor Control para Ingresar filas de datos

Estas en el tema de Mejor Control para Ingresar filas de datos en el foro de Visual Basic clásico en Foros del Web. Hola a Todos los amigos del foro Solo queria saber en visual basic 6.0, cual es el mejor control en donde se pueda ingresar un ...
  #1 (permalink)  
Antiguo 23/06/2008, 08:15
 
Fecha de Ingreso: marzo-2008
Ubicación: Posadas Misiones Argentina
Mensajes: 480
Antigüedad: 16 años, 1 mes
Puntos: 1
Mejor Control para Ingresar filas de datos

Hola a Todos los amigos del foro

Solo queria saber en visual basic 6.0, cual es el mejor control en donde se pueda ingresar un conjunto de datos en varias filas(Es como una matriz). Y cada fila se va a grabar en una tabla de una base de datos en Access .

Una fila corresponde a un registro de la tabla.

Yo se que está el data grid, pero no se si es el mejor control para este caso.

Me podrian Ayudar.

Gracias a Todos.
  #2 (permalink)  
Antiguo 23/06/2008, 09:34
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Mejor Control para Ingresar filas de datos

Hola, pabje

es cuestión de gustos, o mejor, de necesidades.
Con el control DataGrid no necesitas escribir nada de código si lo enlazas a un control ADO, pero a veces (depende de lo que necesites) es más vistoso y con mas posibilidades un control MSFlexGrid o MSHFlexGrid. Ya te digo, depende de cómo lo vayas a usar.

  #3 (permalink)  
Antiguo 25/06/2008, 08:15
 
Fecha de Ingreso: marzo-2008
Ubicación: Posadas Misiones Argentina
Mensajes: 480
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Mejor Control para Ingresar filas de datos

Hola amigo del foro Avellaneda

Los datos que quiero ingresar , tiene campos fecha y un combo con opciones, ademas de otros campos.

Sin uso una data grid para ingresar los datos , y quiero cargarlos en celdas del data grid con el data grid conectado a la base de datos(dato source= nombre del control ADO) ,
y las propiedades allowupdate, allowdelelete y la que permite la adicon de registros , todos en verdadero, puedo tener problemas :

Cita:
1-Los campos fecha : no se como hacer para que los usuarios no ingresen letras en estos campos, cuando se lo carga en un celda del data grid.

2_Los campos combos: como hacer que aparezcan en una celda del data grid para que el usuario puede seleccionar una opción.

3_Campos en blanco: Si el usuario al ingresar , deja en blanco una campo importante por ejemplo una campo clabe , o un campo obligatorio , va generar una error desde Access.
¿Entonces es conveniente tener conectada el data grid a las base de batos y tener habilitadas(en true) las propiedades de grabado , eliminacion y adición de registros del data grid.?

Pido de su ayuda nuevamente.

Gracias.
  #4 (permalink)  
Antiguo 25/06/2008, 08:36
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Mejor Control para Ingresar filas de datos

Hola,

contestando a la primera y tercera: Los datos introducidos los puedes controlar en el evento BeforeColUpdate del Datagrid. ej (uponemos que el DataGrid está enlazado a un control Data (Adodc1):

Código:
Private Sub DataGrid1_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
Select Case ColIndex = 3
    Case 0 ' suponemos que la 1ª columna es la de fecha
        If Not IsDate(DataGrid1.Text) Then
            MsgBox "Introduzca una fecha válida"
            Adodc1.Recordset.CancelUpdate
        End If
    Case 1, 2, 3 ' las columnas 2, 3 y 4 son obligatorias
        If IsNull(DataGrid1.Text) Then
            MsgBox "El campo no puede estar vacío"
            Adodc1.Recordset.CancelUpdate
        End If
        
    Case 4
        '''''
End Select
End Sub
En cuanto a la segunda, podrías cargar el combo en invisible y cuando el usuario pase a la celda correspondiente, hacerlo visible y en el evento Click del Combo pasarle el valor seleccionado al recordset y volverlo a hacer invisible.

  #5 (permalink)  
Antiguo 27/06/2008, 07:53
 
Fecha de Ingreso: marzo-2008
Ubicación: Posadas Misiones Argentina
Mensajes: 480
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Mejor Control para Ingresar filas de datos

Hola amigo del foro Avellaneda

Solo queria que me aclare la respuesta de la pregunta 2, porque no le entendi bien.


Cita:
2_Los campos combos: ¿como hacer que aparezcan en una celda del data grid para que el usuario puede seleccionar una opción.?

En cuanto a la segunda, podrías cargar el combo en invisible y cuando el usuario pase a la celda correspondiente, hacerlo visible y en el evento Click del Combo pasarle el valor seleccionado al recordset y volverlo a hacer invisible.
Gracias Nuevamente.
  #6 (permalink)  
Antiguo 27/06/2008, 13:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Mejor Control para Ingresar filas de datos

Según lo que yo entendí de lo que te mencionó el compañero Avellaneda, es que coloques un ComboBox encima de la grilla y que se ponga visible cuando necesites seleccionar un Dato y que luego que haya sido seleccionado vuelvas a ocultarlo.

Saludos
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 27/06/2008, 14:17
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Mejor Control para Ingresar filas de datos

Exactamente eso, David tu sí lo entendiste, pero tiene que colocarlo en las coordenadas de la celda (la columna siempre es la misma, pero la fila puede variar)

  #8 (permalink)  
Antiguo 27/06/2008, 15:39
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Respuesta: Mejor Control para Ingresar filas de datos

Cita:
Iniciado por David el Grande Ver Mensaje
Según lo que yo entendí de lo que te mencionó el compañero Avellaneda, es que coloques un ComboBox encima de la grilla y que se ponga visible cuando necesites seleccionar un Dato y que luego que haya sido seleccionado vuelvas a ocultarlo.

Saludos
Cita:
Iniciado por Avellaneda Ver Mensaje
Exactamente eso, David tu sí lo entendiste, pero tiene que colocarlo en las coordenadas de la celda (la columna siempre es la misma, pero la fila puede variar)

en el tema de GridEditable en las FAQ, es exactamente lo que se hace.

nos vemos.
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #9 (permalink)  
Antiguo 29/06/2008, 12:15
 
Fecha de Ingreso: marzo-2008
Ubicación: Posadas Misiones Argentina
Mensajes: 480
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Mejor Control para Ingresar filas de datos

Hola amigos del foro

Gracias David el grande , por aclarar la pregunta , y gracias Avellaneda por aclararlo mas y agregar otras cosas.
Probare de esta manera.

Gracias por Todo.
  #10 (permalink)  
Antiguo 03/07/2008, 07:14
 
Fecha de Ingreso: marzo-2008
Ubicación: Posadas Misiones Argentina
Mensajes: 480
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Mejor Control para Ingresar filas de datos

Hola amigos del foro Avellaneda

He probado lo que mas dicho con el evento Beforecolupdate para los pregunatas que te habia hecho pero he tenido problemas.

Preguntas
Cita:
1-Los campos fecha : no se como hacer para que los usuarios no ingresen letras en estos campos, cuando se lo carga en un celda del data grid.

2_Los campos combos: como hacer que aparezcan en una celda del data grid para que el usuario puede seleccionar una opción
Repuesta
Cita:
Private Sub DataGrid1_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
Select Case ColIndex = 3
Case 0 ' suponemos que la 1ª columna es la de fecha
If Not IsDate(DataGrid1.Text) Then
MsgBox "Introduzca una fecha válida"
Adodc1.Recordset.CancelUpdate
End If
Case 1, 2, 3 ' las columnas 2, 3 y 4 son obligatorias
If IsNull(DataGrid1.Text) Then
MsgBox "El campo no puede estar vacío"
Adodc1.Recordset.CancelUpdate
End If

Case 4
'''''
End Select
End Sub

Cuando quiero modificar una campo (o agregar un nuevo contenido ) no me toma este procedimiento lo que escribo en la celda , sino lo que estaba anteriormente en la base de datos de Access, entonces nunca puede encontrar este procedimiento una campo en blanco o una campo fecha mal ingresada (ingreso letras en el campo fecha).

¿Que podrias ser?

Gracias Nuevamente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:38.