Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - TheGhost(Z)

#41
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..??
#42
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
#43
Programación Visual Basic / Re: Funciones
9 Julio 2010, 13:36 PM
Lo que deseo es que la información a devolver se genere en la Función no localmente..y me sale declarando la la Funcion a de volver como VARIANT. se dice que ocupa mucho más recursos pero es lo que hay, no?

Ejemplo:

Enum eDatos
  IDdocumento
  Nombre
  Apellidos
End Enum


Function Cliente (eDatos) As Variant
    Select Case eDatos
    Case IDdocumento
        Cliente = 1
    Case Nombre
        Cliente = "Pedro"
    Case Apellidos
        Cliente = "Sánchez"
    End Select
End Function



Msgbox Cliente(IDdocumento) ' = 1 = Long
Msgbox Cliente(Nombres) ' = Pedro = String
Msgbox Cliente(Apellidos) ' = Sánchez = Strig


#44
Programación Visual Basic / Funciones
8 Julio 2010, 15:27 PM
Hola Queria saber como puedo hacer que una funcion devuelva un variable de Type

Enum eDatos
  IDdocumento
  Nombre
  Apellidos
End Enum

Type Tdatos
  IDdocumento As Long
  Nombre As String
  Apellidos As String
End Type

Function Cliente (eDatos) As Tdatos
    Select Case eDatos
    Case IDdocumento
        Cliente = 1
    Case Nombre
        Cliente = "Pedro"
    Case Apellidos
        Cliente = "Sánchez"
    End Select
End Function



Lo que deseo con la funcion es que pasando algun opcion del eDatos me devuelva la informacion con su respectiva variable Type. Osea si elijo IDdocumento me devuela un long y si selecciono Nombre o Apellidos me devuelva un String.

Como de vincularle a que devulvea un Long o un String??
#45
Sí. Y sabía que tenía que poner en cero para cada bucle. mi pregunta más bien se refería al funcionamiento de un bucle con variables de tipo contadores. Me refiero si como ética siempre a de inicializar una variable cada ves que inicie un nuevo proceso..
#46
Se corrige por:

Para sumar los valores desde 0 hasta i ( i esta vairando de 0 a 3)

Es procedimiento para solo entender el problema.
#47
Si te refieres que permita el ingreso de sólo números de dos cifras puedes hacer así, también:

Establecer la Propiedad MaxLength del TextBox a 2 en tiempo de diseño o en tiempo de ejecución:

Private Sub Form_Load()
    With Text1
        .MaxLength = 2
    End With
End Sub


Luego en el Evento KeyPress del TextBox

Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
Case 8, 46, 48 To 57
Case Else
     KeyAscii = 0
     Beep
End Select
End Sub


8 = borrado atráz. indispensable
46 = para que acepte el punto (.) para números decimales. sino, lo quitas
48 to 57 = dígitos del 0 hasta el 9
#48
¿como lo has hecho a mano?. no puedes implementarlo desde vb siguiendo ese mismo procedimiento?
#49
hola verán quería que me ayudaran como declarar correctamente una variable que se usara en un bucle For, en este caso la variable mensaje.
la variable mensaje lo he declarado siempre y cuando exista un 5 en el bucle para ahorrar memoria; ya que, tambien pude declararlo antes de inicar el bucle, pero en este último ya estaría metiendo a la memoria, la variable mensaje, sin saber si existe o no.

resulta que en este código funciona perfectamente tanto si la variable mensaje lo declaro antes de iniciar el bucle o como también en el momento en que se cumpla la condición.

Dim i As Long
Dim MostrarMensaje As Boolean

For i = 0 To 10
    If i = 5 Then
        Dim Mensaje As String
        Mensaje = "Sí, existe 5"
        MostrarMensaje = True
    Else
        MostrarMensaje = False
    End If
Next i

If MostrarMensaje = True Then
    MsgBox Mensaje, vbInformation
End If



PERO en este otro no funciona debido a que la variable es un contador. no se supone que cada ves que se declara una variable enpienza en null y el valor que se le asige será la variable inicial?

Dim i As Long

For i = 0 To 3
    If i > 0 Then
        Dim j As Long
        Dim suma As Long
        For j = 0 To i
            suma = suma + j
        Next j
    End If
    MsgBox "La suma desde (0) hasta (" & i & ") es: " & suma
Next i


lo correcto que mostraría el mensaje en cada (For i) sería:

(caso i=0) la suma desde (0) hasta (0) = 0
(caso i=1) la suma desde (0) hasta (1) = 1
(caso i=2) la suma desde (0) hasta (2) = 3 y NO ( 4)
(caso i=3) la suma desde (0) hasta (3) = 6 y NO (10)


el problema esta en que al cunplir la condicion y declarar la variable suma. ésta no incia con cero ya que suma lo que se obtuvo en el (For i) anterior.

Pues de aqui mi confusión. no se supone que se permite úncamente una variable en un procedimiento..? mi lógica es que cada ves que i > 0 destruye a la declaración y declara la misa variable.. o es que vasandose en que debe haher solo una variable con el mismo nombre en un procedimiento. una ves cunplida la condición al leer la linea de código "Dim suma As Long" verifica si se declaro en el For anterior, y si es así pasa por alto esa linea de código?

es esto cierto o que, ayuda?? :?
#50
Exelente... muchas gracias..