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
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..??
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!¡.
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.
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!¡.
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
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!¡.