Visual Basic para Aplicaciones - DENME UNA MANO PORFAVOR

Life is soft - evento anual de software empresarial
   
Vista:

DENME UNA MANO PORFAVOR

Publicado por IGNACIO  (16 intervenciones) el 13/09/2008 16:54:41
Hola

Tengo un problema.....que no puedo solucionar
Les cuento

Tengo dos flexgrig que hacen una serie de cosas y una de ellas es colocar un combo en la posicion de la celda cliqueada

Entonces lo que hago es cuando clicqueo direcciono una llamada a un modulo para colocar el combo....

El problema es que quiero utilizar el mismo modulo, con las mismas instrucciones refiriendome a un FLEXGRIG o a OTRO de acuerdo al que estoy trabando pero usando el mismo codigo..

COPIO EL CODIGO
Deberia lograr el objeto CONSULTAS.FLEX, cambie de acuerdo al FLEXGRIG en el que estoy trabajando......Se entiende?????....No se como explicarlo mejo. Perdon.
El problema es mio que no se bien como trabajar con las variables de objeto....y ya probe un huevo...

With CONSULTAS.FLEX
CONSULTAS.CUADRO_Combo1.Height = (.CellHeight / 10) / 2 + 2
CONSULTAS.CUADRO_Combo1.Width = (.CellWidth / 10) / 2
CONSULTAS.CUADRO_Combo1.Left = (((.CellLeft / 10) / 2) + .Left) + 15
CONSULTAS.CUADRO_Combo1.Top = (((.CellTop / 10) / 2) + .Top) + 70

CONSULTAS.Combo1.Height = (.CellHeight / 10) / 2 + 1
CONSULTAS.Combo1.Width = (.CellWidth / 10) / 2
CONSULTAS.Combo1.Visible = True
End With

Muchas Gracias de Antemano
Ignacio
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
Imágen de perfil de JuanC

RE:DENME UNA MANO PORFAVOR

Publicado por JuanC (431 intervenciones) el 21/09/2008 20:38:41
estaría bueno ver el código completo, de todos modos entiendo lo que querés hacer
te diría que uses la propiedad Tag de los Grid y se lo pasás al procedimiento genérico que muestra el Combo, entonces, según el Tag asignará el Combo a un objeto u a otro

sub ubica_combo(byval tag as integer)
dim grid as object

if tag = 0 then
set grid = UserForm1.Grid1
else
set grid = UserForm1.Grid2
end if

with grid
....
end with

end sub

Saludos desde Baires, JuanC
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

RE:DENME UNA MANO PORFAVOR

Publicado por Caleb (1 intervención) el 08/10/2008 06:22:46
no entedi muy bien lo que quieres hacer pero supongo que debe ser esto lo que necesitas.

por ejemplo te doy una guia de como usar el objeto ComboBox

Private Sub Command1_Click()

MiControl Combo1, 0, 0, 60, 30
End Sub


Private Sub CboControl(cbo As ComboBox, x As Integer, y As Integer, Alto As Integer, Ancho As Integer)

cbo.Left = x
cbo.Top = y
cbo.Width = Ancho
cbo.Height = Alto

End Sub
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

GRACIAS Y ULTIMA Y NO JODO MAS

Publicado por IGNACIO BARCIA (16 intervenciones) el 14/10/2008 23:58:25
GRACIAS JUAN y CALEB, me sirvio...

Una pregunta sencilla,.....

Tengo en este caso 2 flexgrig, y necesito simplificar este codigo. En realidad esto me ayudaria para simplificar mucho mas codigo....
Voy aprendiendo a prueba y error y no tengo la base....necesesaria, se que esto es basico....pero no lo puedo solucionar.
Gracias.....

Public Sub FLEX_LINEAL_CellChanged(ByVal Row As Long, ByVal Col As Long)
On Error Resume Next
With FLEX_LINEAL
If .Col = 1 Then Call CAMBIO_COD: Call CALCULA_COSTO_VENTA
If .Col = 6 Then Call CALCULA_COSTO_VENTA
If .Col = 13 Then Call CAMBIOS_EN_VENTA
If .Col = 14 Then Exit Sub
End With

Call VERIFICA_NUMERACION
End Sub

Public Sub FLEX_ACC_CellChanged(ByVal Row As Long, ByVal Col As Long)
On Error Resume Next
With FLEX_ACC
If .Col = 1 Then Call CAMBIO_COD: Call CALCULA_COSTO_VENTA
If .Col = 6 Then Call CALCULA_COSTO_VENTA
If .Col = 13 Then Call CAMBIOS_EN_VENTA
If .Col = 14 Then Exit Sub
End With

Call VERIFICA_NUMERACION
End Sub
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