MiFormCliente As FormCliente

Iniciado por TheGhost(Z), 13 Julio 2010, 12:50 PM

0 Miembros y 1 Visitante están viendo este tema.

TheGhost(Z)

Hola. Tengo un formulario "FormCliente" que tiene una variable Publica ID
Ejecuto al Cliente:
Dim IDcliente As Long
IDcliente = CLng(Val(lsv.SelectedItem.Text))
Dim MiCliente As New FormCliente
With MiCliente
    .ID = IDcliente
    .Show
End With

TheGhost(Z)

Le he dado a publica en ves de previsulaizar...  ;D

Pues como habran notado tengo un Listado con clientes. pues al dar doble click las cargo con el codigo de arriba.

Pero que pasa si ya tengo cargado al cliente. seria genal que reciba un mensaje "El cliente ya esta abierto".

Pues esa parte es lo que no me sale...

he intentado con el codigo que se mostrará abajo.. pero me da a entender que f.ID no existe

Dim f As Form
For Each f In Forms
    If f.ID = ID Then MsgBox "El cliente ya esta abierto"
Next



Notanto que la f.ID no existe intento con esto:

Dim f As ForCliente
For Each f In Forms
    If f.ID = ID Then MsgBox "Cliente abierto"
Next



Y mesale con que los tipos no cinciden... algien me puede decir donde esta el aerror..??

BlackZeroX

#2
Código (vb) [Seleccionar]


Dim f As Form
For Each f In Forms
   If f.ID = ID Then MsgBox "Cliente abierto"
Next



OJO el For Each recorrerá TODOS los Forms cargados y si alguno de estos no tiene la variable/Propiedad invocada te causara error así qué hay qué hacer esto!¡.

Código (vb) [Seleccionar]


Dim f As Form
For Each f In Forms
   if f is FormCliente then
       If f.ID = ID Then MsgBox "Cliente abierto"
   end if
Next



Ahora en el formulario "FormCliente" pega esto en el cabezal.

Código (vb) [Seleccionar]


option explicit

Public ID as string




P.D.: Puedes usar de igual forma la propiedad .Tag en lugar de una variable ID creada por ti!¡.

Dulces Lunas!¡.
The Dark Shadow is my passion.

TheGhost(Z)

Exelente. Muchas gracias. Con el código que me pasaste no arroja error, pero no detecta la instruncción:

If f Is FormCliente then

Pero cambie por:

If f.Name  = "FormCliente" then y funciona... Gracias BlackZeroX ;D

BlackZeroX

Cita de: TheGhost(Z) en 13 Julio 2010, 20:40 PM

If f Is FormCliente then

If f.Name  = "FormCliente" then y funciona... Gracias BlackZeroX ;D


Es mejor con   if Objeto is objeto then en lugar de if Objeto.Nombre = "Objeto" then pero si te sirvio asi estara bien xP

Dulces Lunas!¡.
The Dark Shadow is my passion.