Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: TheGhost(Z) en 13 Julio 2010, 12:50 pm



Título: MiFormCliente As FormCliente
Publicado por: TheGhost(Z) en 13 Julio 2010, 12:50 pm
Hola. Tengo un formulario "FormCliente" que tiene una variable Publica ID
Ejecuto al Cliente:
Código:
Dim IDcliente As Long
IDcliente = CLng(Val(lsv.SelectedItem.Text))
Dim MiCliente As New FormCliente
With MiCliente
    .ID = IDcliente
    .Show
End With


Título: Re: MiFormCliente As FormCliente
Publicado por: TheGhost(Z) en 13 Julio 2010, 13:02 pm
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

Código:
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:

Código:
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..??


Título: Re: MiFormCliente As FormCliente
Publicado por: BlackZeroX en 13 Julio 2010, 20:12 pm
Código
  1.  
  2. Dim f As Form
  3. For Each f In Forms
  4.    If f.ID = ID Then MsgBox "Cliente abierto"
  5. Next
  6.  
  7.  

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
  1.  
  2. Dim f As Form
  3. For Each f In Forms
  4.    if f is FormCliente then
  5.        If f.ID = ID Then MsgBox "Cliente abierto"
  6.    end if
  7. Next
  8.  
  9.  

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

Código
  1.  
  2. option explicit
  3.  
  4. Public ID as string
  5.  
  6.  


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

Dulces Lunas!¡.


Título: Re: MiFormCliente As FormCliente
Publicado por: TheGhost(Z) en 13 Julio 2010, 20:40 pm
Exelente. Muchas gracias. Con el código que me pasaste no arroja error, pero no detecta la instruncción:

Código:
If f Is FormCliente then

Pero cambie por:

Código:
If f.Name  = "FormCliente" then
y funciona... Gracias BlackZeroX ;D


Título: Re: MiFormCliente As FormCliente
Publicado por: BlackZeroX en 13 Julio 2010, 20:54 pm

Código:
If f Is FormCliente then

Código:
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!¡.