Visual Basic - Asesoria Controles

Life is soft - evento anual de software empresarial
 
Vista:

Asesoria Controles

Publicado por Humberto (25 intervenciones) el 28/07/2007 04:27:48
Hola a todos, llevo algunos dias con un proyecto que maneja una base de datos en Access, pero hoy me tome con un pequeño problema (uno de tantos hasta ahorita debido a mi minima experiencia en vb), resulta que en una parte del programa necesito guardar informacion de acuerdo a grupos de personas, digamos:

Dia:1 Fecha:XXX, Personas:XXX.....
Dia:2......

El problema es que el numero de dias no siempre es el mismo, de modo que no puedo poner, por ejemplo, 5 o 10 campos para llenar, si no se cuantos se van a requerir.
Se me ocurrio que al momento de definir el numero de dias (previamente especificado en otro campo del registro) se creen, en tiempo de ejecucion, los campos de registro de acuerdo al numero de dias, asi solo se tendrian los necesarios y ademas guardar en la base de datos, la informacion escrita en los campos recien creados en el tiempo de ejecucion (cosa que tampoco se me ocurre como hacerla).
Se podria hacer esto?? hay alguna forma mas facil??, con ADO o con DAO??

Muchisimas gracias de antemano

Humberto
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Asesoria Controles

Publicado por Sara (2 intervenciones) el 28/07/2007 11:48:19
Para crear un control, primero tienes que crear un arreglo del control ,
ejp. Text1(0) y sobre este puedes crear mas controles, de esta manera:

load control(indice)
control(indice).visible = true
control(indice).move letf

Te paso un ejemplo, pon un combo llamado cb_dias, 1 Command1, 3 textbox en array, dia(0), Persona(o) y Fecha(0).
-----------------------------------
Option Explicit
Dim cont As Integer ' para controlar el indice del control
Dim i As Integer 'para los for

Private Sub Command1_Click()
crea_control Dia ' le pasamos a la rutina el control a crear
crea_control Persona
crea_control Fecha
cont = i ' actualizamos el contador
End Sub

Sub crea_control(UnTExt As Object)
For i = cont To Val(cb_dias) - 2
Load UnTExt(i + 1)
UnTExt(i + 1).Visible = True
UnTExt(i + 1).Move UnTExt(i).Left, UnTExt(i).Top + UnTExt(i).Height + 50
UnTExt(i + 1).Text = UnTExt(i + 1).Name & ":" & i + 1
Next i
End Sub

Private Sub Form_Load()
cb_dias.Clear ' lleno el combo con algunos dias
For i = 1 To 20
cb_dias.AddItem i
Next i
End Sub

--------------
suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar