Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Los moderadores, MVP y administradores podrán seguir editando, respondiendo o creando nuevos mensajes

Con idea de que puedan ayudar a responder e ir cerrando mensajes ;-)

  Foro: VB6.General Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 57378 - crear datagrid con filas y columnas
IDAsuntoFechaNick 
57378 crear datagrid con filas y columnas21/11/13 12:24oktubre1989   
Hola,que tal.Necesito ayuda.Quisiera saber si hay alguna forma de crear un Datagrid con filas y
columnas y que interactue con una tabla en una BD.Se necesita para llenar planillas de turnos
diarios de canchas de futbol.
Quizas haya otro control que me permita realizarlo mejor,por ej un msflex grid.
Debe tener fecha,hora,3 canchas y cada una con su importe.Cada turno se compone de 2 equipos y cada uno paga, y al sumarlo me da el importe total de cada cancha
IDAsuntoFechaNick 
57410 Re: crear datagrid con filas y columnas (Resp: 57378)26/12/13 10:02artemi   
Hola, según lo que cuentas en tu enunciado, debes de diferenciar tres aspectos diferentes en tu proyecto.

1º - Diseñar la Base de Datos con las Tabla necesarias que pudas necesitar.

2º - Diseñar las Pantallas necesarias para poder guardar los datos para despues poder opera con ellos, eso incluye las pantallas de visualización de los datos y las pantallas de entrada de Datos

Yo, lo haria con un MsFlexGrid, dado que la forma de poder presentar los Datos es muy Versatil y puedes configurar la presentación de 10.000 maneras diferentes.

Si deseas que te ayude, ponte en contacto con migo al correo y te explicaré como hacerlo.

Felices Navidades y un mejor Año 2014.

Artemi.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
57411 Re: crear datagrid con filas y columnas (Resp: 57378)26/12/13 10:07artemi   
Disculpame, he olvidado la 3ª parte :

3ª - Ordenar desde la Presentación del programa hasta su cierre, todas las pantallas (Interfaces) con sus procedimientos de una forma ordenada y coherente (facil de comprender para el usuario).

Saludos.

Artemi.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
57418 Re: crear datagrid con filas y columnas (Resp: 57411)02/01/14 13:21oktubre1989   
Hola Artemi!! Muchas gracias por responder y disculpa lo que yo tardé en hacerlo.El proyecto que estoy haciendo administra un club de deportes.La parte que me causa problemas es la del registro de turnos diarios.Tengo que emular con una grilla lo que en ese club se hace con un excel.Efectivamente usé un MsFlexGrid.Yo lo divido en dos partes:
1.-Traer datos desde la tabla hasta la grilla,filtrados por fecha.(Al elegir una fecha, en la grilla se cargan todos los turnos reservados para ese dia.O sea que en la grilla pueden quedar celdas en blanco)
2.-Agregar o modificar datos desde la grilla y guardarlos en la tabla.
La parte 1 ya la tengo hecha,quizas se pueda mejorar un poco.
La parte 2 es la que me falta.
Te adjunto el codigo de la parte 1, y de nuevo muchas gracias por tu tiempo!!
Aclaracion:La base de datos tiene los siguientes campos:cod_tur (autonumerico),fecha (numero),eq_1 (texto), eq_2 (texto), imp_1 (numero), imp_2 (numero), cancha (numero), saldo_1 y saldo_2 (a estos ultimos todavia no les di funcionalidad)

En un modulo va esto:
Global base As New ADODB.Connection
Global rsturnos As New ADODB.Recordset

Codigo de parte 1:


Private Sub Command1_Click()
Dim var_fecha As Date

MSHFlexGrid1.Clear
MSHFlexGrid1.TextArray(0) = "Cancha 1"
MSHFlexGrid1.TextArray(1) = "Imp"
MSHFlexGrid1.TextArray(2) = "Cancha 2"
MSHFlexGrid1.TextArray(3) = "Imp"
MSHFlexGrid1.TextArray(4) = "Cancha 3"
MSHFlexGrid1.TextArray(5) = "Imp"
var_fecha = DTPicker1.Value

'ABRE LA BASE DE DATOS
With base
If .State = 1 Then .Close
.CursorLocation = adUseClient
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\base.mdb;Persist Security Info=False"
End With

'CONECTARME A LA TABLA
With rsturnos
If .State = 1 Then .Close
.Open "Select * from turnos where Format(Fecha,'yyyymmdd')=Format('" & DTPicker1.Value & "','yyyymmdd') order by hora,cancha", base, adOpenStatic, adLockOptimistic
End With
Dim var_hora, i, vi As Integer
Dim vector(11) As Integer

var_hora = 8

With rsturnos
'If .BOF Or .EOF Then Exit Sub
.Requery
.Find "hora='" & var_hora & "'"


While var_hora <= 15
If .BOF Or .EOF Then Exit Sub
If !hora = var_hora Then
'CARGA DE VECTOR
Select Case var_hora
Case 8:
vi = 5
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1

Wend

Case 9:
vi = 17
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
Case 10:
vi = 29
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
Case 11:
vi = 41
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
Case 12:
vi = 53
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
Case 13:
If vi <> vector(11) Then
vi = 65
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
End If
Case 14:
vi = 77
i = 0


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
57419 Re: crear datagrid con filas y columnas (Resp: 57418)02/01/14 13:23oktubre1989   
Codigo de parte 1 (completo):

Private Sub Command1_Click()
Dim var_fecha As Date

MSHFlexGrid1.Clear
MSHFlexGrid1.TextArray(0) = "Cancha 1"
MSHFlexGrid1.TextArray(1) = "Imp"
MSHFlexGrid1.TextArray(2) = "Cancha 2"
MSHFlexGrid1.TextArray(3) = "Imp"
MSHFlexGrid1.TextArray(4) = "Cancha 3"
MSHFlexGrid1.TextArray(5) = "Imp"
var_fecha = DTPicker1.Value

'ABRE LA BASE DE DATOS
With base
If .State = 1 Then .Close
.CursorLocation = adUseClient
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\base.mdb;Persist Security Info=False"
End With

'CONECTARME A LA TABLA
With rsturnos
If .State = 1 Then .Close
.Open "Select * from turnos where Format(Fecha,'yyyymmdd')=Format('" & DTPicker1.Value & "','yyyymmdd') order by hora,cancha", base, adOpenStatic, adLockOptimistic
End With
Dim var_hora, i, vi As Integer
Dim vector(11) As Integer

var_hora = 8

With rsturnos
'If .BOF Or .EOF Then Exit Sub
.Requery
.Find "hora='" & var_hora & "'"


While var_hora <= 15
If .BOF Or .EOF Then Exit Sub
If !hora = var_hora Then
'CARGA DE VECTOR
Select Case var_hora
Case 8:
vi = 5
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1

Wend

Case 9:
vi = 17
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
Case 10:
vi = 29
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
Case 11:
vi = 41
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
Case 12:
vi = 53
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
Case 13:
If vi <> vector(11) Then
vi = 65
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
End If
Case 14:
vi = 77
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
Case 15:
vi = 89
i = 0
While i < 12
vector(i) = vi + 1
i = i + 1
vi = vi + 1
Wend
End Select

Select Case !cancha

Case 1:
MSHFlexGrid1.TextArray(vector(0)) = !eq_1
MSHFlexGrid1.TextArray(vector(1)) = !imp_1
MSHFlexGrid1.TextArray(vector(6)) = !eq_2
MSHFlexGrid1.TextArray(vector(7)) = !imp_2
rsturnos.AbsolutePosition = rsturnos.AbsolutePosition + 1
GoTo nota
Exit Sub
Case 2:
MSHFlexGrid1.TextArray(vector(2)) = !eq_1
MSHFlexGrid1.TextArray(vector(3)) = !imp_1
MSHFlexGrid1.TextArray(vector(rie_gafas) = !eq_2
MSHFlexGrid1.TextArray(vector(9)) = !imp_2
rsturnos.AbsolutePosition = rsturnos.Absolu


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
57420 Re: crear datagrid con filas y columnas (Resp: 57419)02/01/14 13:25oktubre1989   
Codigo de parte 1 (completo):
Select Case !cancha

                Case 1:
                MSHFlexGrid1.TextArray(vector(0)) = !eq_1
                MSHFlexGrid1.TextArray(vector(1)) = !imp_1
                MSHFlexGrid1.TextArray(vector(6)) = !eq_2
                MSHFlexGrid1.TextArray(vector(7)) = !imp_2
                rsturnos.AbsolutePosition = rsturnos.AbsolutePosition + 1
                GoTo nota
                Exit Sub
                Case 2:
                MSHFlexGrid1.TextArray(vector(2)) = !eq_1
                MSHFlexGrid1.TextArray(vector(3)) = !imp_1
                MSHFlexGrid1.TextArray(vector(<img src='imagenes/smiles/rie_gafas.png' border='0' alt='rie_gafas' />) =
                     !eq_2
                MSHFlexGrid1.TextArray(vector(9)) = !imp_2
                rsturnos.AbsolutePosition = rsturnos.AbsolutePosition + 1
                GoTo nota
                Exit Sub
                Case 3:
                MSHFlexGrid1.TextArray(vector(4)) = !eq_1
                MSHFlexGrid1.TextArray(vector(5)) = !imp_1
                MSHFlexGrid1.TextArray(vector(10)) = !eq_2
                MSHFlexGrid1.TextArray(vector(11)) = !imp_2
                rsturnos.AbsolutePosition = rsturnos.AbsolutePosition + 1
                GoTo nota
                Exit Sub
            End Select
         Else
         var_hora = var_hora + 1
         End If
           
nota:
    Wend
End With




End Sub



Private Sub Form_Load()

'CONFIGURACION POR DEFECTO DE LA GRILLA 
MSHFlexGrid2.RowHeight(0) = 350
MSHFlexGrid1.RowHeight(0) = 350
MSHFlexGrid2.RowHeight(1) = 475
MSHFlexGrid2.RowHeight(2) = 475
MSHFlexGrid2.RowHeight(3) = 475
MSHFlexGrid2.RowHeight(4) = 475
MSHFlexGrid2.RowHeight(5) = 475
MSHFlexGrid2.RowHeight(6) = 475
MSHFlexGrid2.RowHeight(7) = 475
MSHFlexGrid2.RowHeight(<img src='imagenes/smiles/rie
    _gafas.png' border='0' alt='rie_gafas' /> = 475

MSHFlexGrid2.TextArray(0) = "Hora"


MSHFlexGrid1.TextArray(0) = "Cancha 1"
MSHFlexGrid1.TextArray(1) = "Imp"
MSHFlexGrid1.TextArray(2) = "Cancha 2"
MSHFlexGrid1.TextArray(3) = "Imp"
MSHFlexGrid1.TextArray(4) = "Cancha 3"
MSHFlexGrid1.TextArray(5) = "Imp"

MSHFlexGrid2.ColWidth(1) = 2500

MSHFlexGrid2.TextArray(1) = "8"
MSHFlexGrid2.TextArray(2) = "9"
MSHFlexGrid2.TextArray(3) = "10"
MSHFlexGrid2.TextArray(4) = "11"
MSHFlexGrid2.TextArray(5) = "12"
MSHFlexGrid2.TextArray(6) = "13"
MSHFlexGrid2.TextArray(7) = "14"
MSHFlexGrid2.TextArray(<img src='imagenes/smiles/rie
    _gafas.png' border='0' alt='rie_gafas' /> = "15"

End Sub


Private Sub MSHFlexGrid1_KeyPress(KeyAscii As Integer)

  If KeyAscii >= 32 And KeyAscii <= 127 Then
        MSHFlexGrid1.Text = MSHFlexGrid1.Text & Chr(KeyAscii)
        
    End If
      
End Sub

Private Sub MSHFlexGrid1
    _KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
        Case vbKeyDelete
            MSHFlexGrid1.Text = ""
        Case vbKeyBack
            If Len(MSHFlexGrid1.Text) > 0 Then
                MSHFlexGrid1.Text = Left(MSHFlexGrid1.Text, Len(MSHFlexGrid1.Text) - 1)
            End If
    End Select
End Sub


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2024  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 21/11/2024 10:09:18 GMT