• Viernes 9 de Mayo de 2025, 16:23

Mostrar Mensajes

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


Mensajes - Jose Arriagada

Páginas: 1 [2] 3 4 ... 15
26
Visual Basic 6.0 e inferiores / Re: Archivos .ini
« en: Viernes 30 de Junio de 2006, 15:42 »
'Para aplicar esta funcion tienes que crear el archivo en ascii, y lo unico que contiene es el valor del volumen.

Debes declarar como global la siguiente variable
DIM Volumen as Double

Function ValorVolumen() as double
ArchivoIni=App.path & "\ARCHIVO.INI"
open ArchivoIni for input as #1
input #1, ValorVolumen
close(1)
End Function

'Al iniciar tu aplicacion
Private Sub Form_Load()
  Volumen=ValorVolumen()
.....
.....
EndSub



Private Sub RandTema()
Dim rec1 As ADODB.Recordset
Dim Ntemas As Integer
Dim nroTem As Integer
Dim rn
Label8(0).Caption = ""
Label8(1).Caption = ""
Pasa_Pago = False
Set rec1 = New ADODB.Recordset
rec1.Open "select * from temas", Constri, adOpenStatic, adLockReadOnly
Ntemas = rec1.RecordCount
Randomize
rn = Int((Ntemas * Rnd))   ' Genera valores aleatorios entre 1 y 6.
'rn = Int(Ntemas / 60 * Second(Time))
rec1.MoveFirst
rec1.Move rn
nroTem = rec1(0)
rec1.Close
Set rec1 = Nothing
'Mp1.Stop
Mp3.Controls.Stop
TMRTema.Enabled = True

'AQUI COLOCAS EL VALOR DEL VOLUMEN LEIDO AL INICIO DE TU APLICACION
'Mp1.Volume = Volumen

'Mp1.Volume = -2700 ------------------------> ¿Como Hacer un .ini para manejar este valor externamente?
'Mp1.Open "c:\mp3\" & nroTem & ".mp3"
Mp3.settings.volume = 4
Mp3.URL = "c:\mp3\" & nroTem & ".mp3"

27
Visual Basic 6.0 e inferiores / Re: Toolbar, Tooltiptext Y Cambios De Resolución
« en: Viernes 30 de Junio de 2006, 15:36 »
Hice la prueba...

Genere un formulario simple con dos controles...
- Uno con el control Microsoft Windows Common Control 5.0 (SP2) --> Control1
- Uno con el control Microsoft Windows Common Control 6.0 (SP6) --> Control2

Y cada uno con "n" botones y cada uno de ellos con un tooltiptext

Al ejecutar, funcionan bien.
Pero si me cambio, de aplicacion y posteriormente vuelvo, solo continua funcionando el tooltiptext del Control2. El control1, no aparece nada.


Verifica que control estas usando. Y prueba el control2.

Yo tengo instalado el SP5 de VB60 y ningun problema.

El SP6, no lo he instalado, justamente por lo mismo, he leido muchos comentarios negativos referentes a este SP.

28
Visual Basic 6.0 e inferiores / Re: Problemas Con Un Programa
« en: Jueves 29 de Junio de 2006, 15:51 »
Las cosas no suceden por generacion espontanea... a menos que hayas cambiado algo...

A mi me sucedio exactamente lo mismo, y se me produjo cuando cambie la version del ejecutable, suponiendo que todo iria sin problemas... pero el cuento no fue asi... ocurrio lo mismo que indicas, cada vez que se ejecuta la aplicacion, aparece el Instalador... e instala una version anterior...

Solucion: Desintalar todo... lo relacionado con tu aplicacion.
Generar un instalador nuevo, e instalar nuevamente tu aplicacion...

29
Que resolucion tiene originalmente y a que resolucion cambias cuando ocurre lo que indicas?, para ver si se puede replicar en mi PC, y ver si te puedo ayudar...

30
Visual Basic 6.0 e inferiores / Re: Sistema: Cheques En Cartera
« en: Martes 27 de Junio de 2006, 17:39 »
Sorry, por los detalles, pero lo hice mentalmente, sin probar...

Ahi te va el codigo con ejemplos y probado...


Private Sub command1_Click()
'Se obtiene la fecha de hoy
HoyDia = Date
'Se obtiene el numero serial de la fecha de hoy
SerialHoyDia = DateSerial(Year(HoyDia), Month(HoyDia), Day(HoyDia))

For i = 1 To MSFlexGrid1.Rows - 1
    'Se obtiene el importe
    MSFlexGrid1.Col = 5
    MSFlexGrid1.Row = i
    xImporte = CDbl(MSFlexGrid1.Text)
   
    'Se obtiene el contenido de la celda Destino
    MSFlexGrid1.Col = 7
    MSFlexGrid1.Row = i
    sDestino = Trim(MSFlexGrid1.Text)
   
    If Len(sDestino) = 0 Then
        Suma = Suma + xImporte
    End If
   
    'Se obtiene la fecha de cheque
    MSFlexGrid1.Col = 4
    MSFlexGrid1.Row = i
    sFecha = MSFlexGrid1.Text
   
    'Se obtiene el numero serial de la fecha del cheque
    SerialCheque = DateSerial(Year(sFecha), Month(sFecha), Day(sFecha))
   
    If SerialCheque = SerialHoyDia Then
        For j = 1 To MSFlexGrid1.Cols - 1
            MSFlexGrid1.Col = j
            MSFlexGrid1.CellBackColor = vbRed
        Next j
    End If
Next i

MsgBox "Total Cheques:" & Suma

End Sub

Private Sub Form_Load()
MSFlexGrid1.Cols = 8
MSFlexGrid1.Rows = 1
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 1: MSFlexGrid1.Text = "Cliente"
MSFlexGrid1.Col = 2: MSFlexGrid1.Text = "N° Cheque"
MSFlexGrid1.Col = 3: MSFlexGrid1.Text = "Banco"
MSFlexGrid1.Col = 4: MSFlexGrid1.Text = "Fecha"
MSFlexGrid1.Col = 5: MSFlexGrid1.Text = "Importe"
MSFlexGrid1.Col = 6: MSFlexGrid1.Text = "Observac"
MSFlexGrid1.Col = 7: MSFlexGrid1.Text = "Destino"

For i = 1 To 30
    MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
    MSFlexGrid1.Row = MSFlexGrid1.Rows - 1
    MSFlexGrid1.Col = 1: MSFlexGrid1.Text = Format(i & "-06-2006", "dddd")
    MSFlexGrid1.Col = 2: MSFlexGrid1.Text = Format(CInt(Rnd() * 10) + i * 13 + i)
    MSFlexGrid1.Col = 3: MSFlexGrid1.Text = Format(i & "-06-2006", "mmm")
    If i = 5 Or i = 14 Or i = 23 Then
        MSFlexGrid1.Col = 4: MSFlexGrid1.Text = Format(Date, "dd-mm-yyyy")
    Else
        serial = DateSerial(Year(Date), Month(Date), Day(Date)) + i * 6 + 1
        MSFlexGrid1.Col = 4: MSFlexGrid1.Text = Format(serial, "dd-mm-yyyy")
    End If
    MSFlexGrid1.Col = 5: MSFlexGrid1.Text = Format(CInt(Rnd() * 10000), "#,##0")
    MSFlexGrid1.Col = 6: MSFlexGrid1.Text = Format(i & "-06-2006", "dddd")
    If i = 7 Or i = 13 Or i = 21 Or i = 29 Then
        MSFlexGrid1.Col = 7: MSFlexGrid1.Text = Format(i & "-06-2006", "dddd")
    End If
'Cliente, Cheque Numero, Banco, Fecha Cobro, Importe ($), Observaciones y Destino
Next i

End Sub

31
Visual Basic 6.0 e inferiores / Re: Archivos .ini
« en: Viernes 23 de Junio de 2006, 22:48 »
Si es solo este valor, entonces lo mas facil es...

'Para crear el ini
ArchivoIni=App.path & "\ARCHIVO.INI"
open ArchivoIni for output as #1
print #1, Valor
close(1)


'Para leer el ini
ArchivoIni=App.path & "\ARCHIVO.INI"
open ArchivoIni for input as #1
input #1, Valor
close(1)

32
Visual Basic 6.0 e inferiores / Re: Sistema: Cheques En Cartera
« en: Viernes 23 de Junio de 2006, 22:41 »
'Se obtiene la fecha de hoy
HoyDia=Date
'Se obtiene el numero serial de la fecha de hoy
SerialHoyDia=Dateserial(year(HoyDia),month(HoyDia),day(HoyDia))


For i=1 to MSFLEXGRID.MAXROWS-1
     'Se obtiene el importe
      msflexgrid1.col=5
      msflexgrid1.row=i
      xImporte=msflexgrid1.text

     'Se obtiene el contenido de la celda Destino
      msflexgrid1.col=7
      msflexgrid1.row=i
      sDestino=trim(msflexgrid1.text)

      if Len(sDestino)=0 then
         suma=suma + xImporte
      endif

     'Se obtiene la fecha de cheque
      msflexgrid1.col=4
      msflexgrid1.row=i
      sFecha=msflexgrid1.text  

     'Se obtiene el numero serial de la fecha del cheque
     SerialCheque=Dateserial(year(sFecha),month(sFecha),day(sFecha))
 
     if SerialCheque = SerialHoyDia then
          MSFlexGrid1.CellBackColor = vbRed
     endif
next i

msgbox "Total Cheques:" & Suma

33
Visual Basic 6.0 e inferiores / Re: Maguito De Visual Basic
« en: Viernes 9 de Junio de 2006, 16:16 »
Una ayudita...

MSAgent

34
Visual Basic 6.0 e inferiores / Re: Administracion De Usuarios
« en: Jueves 8 de Junio de 2006, 17:44 »
Independiente de que seas nuevo en el foro, por la pregunta, me imagino que ademas eres nuevo en todo lo que tiene que ver con programacion...

Para resolver tu problema, supondre lo siguiente:
a). Tienes conocimientos de la herramienta VB
B). Tienes conocimientos de bases de datos, y por tanto de tablas y SQL
c). Tienes nociones basicas de seguridad de la informacion, y como opera un sistema de administracion de usuarios.

Por tanto, comencemos...

1). Deberas crear las siguientes tablas

Usuarios   
Campo          Tipo
Username      T(10)
Password       T(50)

Esta tabla contiene todos los usuarios y sus contraseñas


Funciones
Campo                          Tipo
ID_Funcion                     T(20)
Descripcion_Funcion        T(20)

Esta tabla contiene todas las funciones u opciones de menu de tu sistema

Permisos
Campo                   Tipo
Username                 T(10)
ID_Funcion               T(20)
Tipo_Permiso            T(1)

Esta tabla contiene las relaciones de los usuarios y sus permisos a acceder a los diferentes menus u opciones del sistema
El campo Tipo_Permiso, es de tipo caracter de largo 1, y sus posibles valores son...
  S : Tiene permiso
  N : No tiene permiso de accceso


Entonces, teniendo estas tablas definidas, deberas realizar los formularios correspondientes que te permitan administrar cada una de las tablas... supongo que podras con ello, ya que no es parte del problema que tienes.

Ahora, suponiendo que tenemos los datos en las tablas, vamos a ver como ver el tema de los permisos...

Supongamos que tu formulario principal, contiene los siguientes menus y submenus. Se indica el caption y nombre de las opciones.


Sistema                               mnuSistema
    Cambio Password             mnuCambioPassword
    Cambio Usuario                mnuCambioUsername
    Salir                                mnuSalir
Mantencion                           mnuMantencion
    Usuarios                          mnuMantUsuarios
    Funciones                        mnuMantFunciones
    Permisos                         mnuMantPermisos
Procesos                              mnuProcesos
    Proceso 1                        mnuProceso1
    Proceso 2                        mnuProceso2
    Proceso 3                        mnuProceso3

Al cargar la aplicacion, deberas incorporar un formulario que permita ingresar el username y contraseña de usuario.

El usuario al ingresar estos datos, y presionar "ACEPTAR", "OK", "INGRESAR" o cualquier tipo de leyenda que coloques en el caption del boton, deberas incorporar la siguiente funcionalidad.


xUsername=Ucase(Trim(txtUsername))
xPassword=Ucase(Trim(txtPassword))

SentenciaSQL="Select p.ID_Funcion, p.Tipo_Permiso
From Permisos p, Usuarios U
Where
   P.Username = U.Username and
   U.Username = '" & xUsername & "' and "
   U.Password = '" & xPassword & "'"
Buscar registros usando SentenciaSQL
Si No Existen_Registros entonces
   Mostrar Mensaje Indicando "Usuario No Reconocido"
Si NO
   Mientras no sea fin de los registros
        Selecciones en caso de Registro.ID_Funcion
             caso "mnuSistema":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuSistema.Enabled=TRUE
                  si no
                        mnuSistema.Enabled=FALSE
                  Fin Si    
             caso "mnuCambioPassword":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuCambioPassword.Enabled=TRUE
                  si no
                        mnuCambioPassword.Enabled=FALSE
                  Fin Si    
             caso "mnuCambioUsername":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuCambioUsername.Enabled=TRUE
                  si no
                        mnuCambioUsername.Enabled=FALSE
                  Fin Si    
             caso "mnuSalir":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuSalir.Enabled=TRUE
                  si no
                        mnuSalir.Enabled=FALSE
                  Fin Si    
             caso "mnuMantencion":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuMantencion.Enabled=TRUE
                  si no
                        mnuMantencion.Enabled=FALSE
                  Fin Si    
             caso "mnuMantUsuarios":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuMantUsuarios.Enabled=TRUE
                  si no
                        mnuMantUsuarios.Enabled=FALSE
                  Fin Si    
             caso "mnuMantFunciones":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuMantFunciones.Enabled=TRUE
                  si no
                        mnuMantFunciones.Enabled=FALSE
                  Fin Si    
             caso "mnuMantPermisos":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuMantPermisos.Enabled=TRUE
                  si no
                        mnuMantPermisos.Enabled=FALSE
                  Fin Si    
             caso "mnuProcesos":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuProcesos.Enabled=TRUE
                  si no
                        mnuProcesos.Enabled=FALSE
                  Fin Si    
             caso "mnuProceso1":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuProceso1.Enabled=TRUE
                  si no
                        mnuProceso1.Enabled=FALSE
                  Fin Si    
             caso "mnuProceso2":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuProceso2.Enabled=TRUE
                  si no
                        mnuProceso2.Enabled=FALSE
                  Fin Si    
             caso "mnuProceso3":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuProceso3.Enabled=TRUE
                  si no
                        mnuProceso3.Enabled=FALSE
                  Fin Si    
        Fin Caso
       Avanzar al siguiente registro
   Fin Mientras
Fin Si

Esto es lo mas basico en terminos de administracion de permisos.... lo puedes complicar, aumentando el nivel de permisos, como por ejemplo, acceso, solo lectura, permiso para eliminar, etc.

35
Debiera funcionar....

Si no, usa una variable de paso...


Set cnn = New Connection
cnn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data source = " & App.Path & "\RentaCar.mdb;"
cnn.Open

SentenciaSQL="SELECT * FROM tblVehiculoExtras WHERE Extras='" & txtNombre.Text & "'"
   
Set rst = cnn.Execute(SentenciaSQL)

El efecto es el mismo....

36
Cuando traspases los datos a la planilla, traspasalos con una comilla simple antes del valor.... en estos casos

'3-1
'1-1
'2-1
'2-2

Para que al guardarlos en la celda, excel, los considere como caracteres y no como fecha.

37
Visual Basic 6.0 e inferiores / Re: Regqueryvalueex
« en: Martes 30 de Mayo de 2006, 23:03 »
Para guardar datos en el REGEDIT  

Call SaveSetting(Appname as String,Section as String,Key as String,Setting as String)


Para Leer datos desde el REGEDIT
datos = GetSetting(AppName as String,Section as String,Key as String)

38
Visual Basic 6.0 e inferiores / Re: Threads Y Multitarea
« en: Viernes 26 de Mayo de 2006, 15:52 »
Lamento tener que responderte, pero hace tiempo, pretendi hacer lo mismo, y despues de mucho buscar, me encontre que la estructura de ejecucion de VB6 no permite manejo de hilos, por lo que, no permite hacer multitareas.

Fue superdesilusionante, pero no habia nada que hacer... simplemente tuve que abocarme a VB .NET

39
Visual Basic 6.0 e inferiores / Re: Image Combo
« en: Viernes 26 de Mayo de 2006, 00:21 »

40
Visual Basic 6.0 e inferiores / Re: Cambiar De Tabla Por Medio De Un Combox
« en: Miércoles 24 de Mayo de 2006, 15:54 »
Si, es posible.

41
Visual Basic 6.0 e inferiores / Re: Como Poner Mensaje De Advertencia
« en: Lunes 22 de Mayo de 2006, 15:57 »
Existe una funcion de VB que te permite saber si existe un archivo o directorio...

If Dir(archivo, vbArchive) = "" Then
  msgbox "Archivo No Existe"
else
  msgbox "Archivo Existe
endif

if Dir(Ruta, vbDirectory) = "" Then
   msgbox "Carpeta Existe"
else
  msgbox "Carpeta No Existe"
endif



Y no tienes que definir nada adicional, solo usarla...

42
Visual Basic 6.0 e inferiores / Re: Conexion A Unix Desde Vb
« en: Lunes 8 de Mayo de 2006, 16:59 »
Copia todas las sentencias FTP en un archivo .BAT y lo ejecutas desde VB...


   v_tipo = "ascii"

   'Crea archivo de comandos ftp según la acción que corresponda
   v_Archivo_ftp = m_dir_local & "\" & "ArchFtp.dat"
   'Archivo Semaforo
   v_Archivo_tmp = m_dir_local & "\" & "EstaOcup.tmp"
   v_Archi = FreeFile
   Open v_Archivo_ftp For Output As #v_Archi
   Print #v_Archi, "open " & m_Servidor
   Print #v_Archi, m_usuario
   Print #v_Archi, m_Password

   Select Case m_accion
      Case "E": 'Enviar archivos al directorio remoto
               Print #v_Archi, "cd " & m_dir_remoto
               Print #v_Archi, v_tipo
               Print #v_Archi, "put " & LCase(m_dir_local & "\" & m_archivo)
               '---Valida existencia de archivo-------------------
               Print #v_Archi, "mls"
               Print #v_Archi, m_archivo
               Print #v_Archi, m_dir_local & "\retftp.txt"
               Print #v_Archi, "y"
               '---Valida existencia de archivo-------------------      
      Case "T": 'Traer archivos del directorio remoto
               Print #v_Archi, "cd " & m_dir_remoto
               Print #v_Archi, v_tipo
               Print #v_Archi, "get"
               Print #v_Archi, LCase(m_archivo)
               Print #v_Archi, LCase(m_dir_local & "\" & m_archivo)
   End Select  
   Print #v_Archi, "!del " & v_Archivo_tmp
   Print #v_Archi, "close"
   Print #v_Archi, "bye"  
   Close #v_Archi

   'Crea archivo semaforo
   v_Archi = FreeFile
   Open v_Archivo_tmp For Output As #v_Archi
   Print #v_Archi, "Esta Ocupado"
   Close #v_Archi
   
   'Ejecuta archivo de comandos ftp
   Comando_Ejecuto = "ftp -s:" & v_Archivo_ftp
   Ejec = Shell(Comando_Ejecuto, vbHide)
   
   Archivo_tmp = "EstaOcup.tmp"
   'Mientras exista archivo semaforo quedese en el loop
   While Archivo_tmp = "EstaOcup.tmp"
      Archivo_tmp = dir(v_Archivo_tmp)
   Wend
   
   'Borra archivo de comandos ftp
   Archivo_tmp = dir(v_Archivo_ftp, vbArchive)
   While Archivo_tmp <> ""
      Kill v_Archivo_ftp
      Archivo_tmp = dir(v_Archivo_ftp, vbArchive)
      DoEvents
   Wend

43
Visual Basic 6.0 e inferiores / Re: Randonmize
« en: Viernes 5 de Mayo de 2006, 16:09 »
No funciona...

Por que, cada vez que se ejecuta desde el inicio, internamente el generador de numeros vuelve a cero, y comienza de la misma forma....

Prueba la siguiente sentencia...

Var = Int(Rnd) + CInt(Format(Time, "ss"))


A la generacion del numero, le agregas los segundos extraidos de la hora de ejecucion, y por tanto, NUNCA tendras la misma secuencia de numeros...

44
Visual Basic 6.0 e inferiores / Re: Ayuda
« en: Miércoles 3 de Mayo de 2006, 21:59 »
Voy a asumir que eres un "principiante" en programacion... independiente del tipo de lenguaje... ya que lo que acabas de exponer, es un simple ejercicio de clases de programacion...

v1=A^2
v2=B^2
v3=C^2
v4=4*A
v5=v1+v2+v3-v4
v6=SQR(v5)

las otras asignaciones de variables, para obtener tu respuesta de las dejo a ti, ya que poco se entiende la formula completa...

45
Visual Basic 6.0 e inferiores / Re: Dos Formularios Activos
« en: Miércoles 3 de Mayo de 2006, 21:54 »
Sera que no entiendo, pero NUNCA he visto dos (tres, cuatro...) formularios con el foco al mismo tiempo... creo que tienes un problema de conceptos y de definicion de uso de formularios.

Podrias ser mas claro de que es lo que deseas hacer... y explicate con un ejemplo, si es posibles, ya que segun tu... si es posible que dos formularios se encuentren activos y tengan el foco... ¡¡¡ plop !!!

46
Visual Basic 6.0 e inferiores / Re: Capturar Ip
« en: Miércoles 3 de Mayo de 2006, 21:49 »
Inserta un control WINSOCK a tu formulario

e inserta el siguiente codigo en el evento LOAD del formulario

msgbox "IP:" & Winsock1.LocalIP

47
Visual Basic 6.0 e inferiores / Re: Hola Rato De No Postear
« en: Viernes 21 de Abril de 2006, 21:11 »
Lamentablemente, no tienes como resolver este problema, dado que la sintaxis de una instruccion SQL, contempla el caracter ' (comilla simple) como caracter de inicio y termino de una cadena de caracteres, por lo que, si tu dato, contiene este caracter en alguna posicion, el analizador SQL encuentra un error, que es lo que te esta ocurriendo.

La solucion, pasa justamente como lo resolviste. Tu alternativa, es cambiar el caracter ' (comilla simple) por " (doble comilla), al momento de grabarla, si no tienes que reversar al momento de recuperar. Es solo una sugerencia a lo que tienes.

En todo caso, debes tener cuidado, que dependiendo del motor de datos, la sintaxis puede ser ' o ". Por ejemplo, SQL Server, puedes usar ', ya que el caracter separador de cadenas es la doble comilla. En Oracle, el separador es '. Y asi.

Espero te sirva...

48
Incorpora a tu proyecto, el componente "Microsoft Windows Common Control 6.0 (SP6)".

En un formulario, agrega:
- 1 control Treeview (a este control, en la propiedad CHECKBOX asignale TRUE)
- 1 control CommandButton

E incorpora el siguiente codigo a tu formulario...

Private Sub Command1_Click()
msg = Empty
For i = 1 To TreeView1.Nodes.Count
    If TreeView1.Nodes(i).Checked = True Then
        msg = msg & TreeView1.Nodes(i).Text & vbLf
    End If
Next i
If Len(msg) > 0 Then
    msg = "Se han seleccionado los siguientes nodos..." & vbLf & msg
    MsgBox msg
Else
    MsgBox "No se ha seleccionado ningun nodo"
End If
End Sub

Private Sub Form_Load()
For i = 1 To 7
    Set Nodo = TreeView1.Nodes.Add(, , "R" & i, Format(Date + i, "dddd"))
Next i
Command1.Caption = "Mostrar Seleccionados"
End Sub


SUERTE...

49
Visual Basic 6.0 e inferiores / Re: Busqueda Y Eliminacion De Lotes
« en: Miércoles 19 de Abril de 2006, 15:54 »
Claramente este es un problema logistico, que se resuelve utilizando un marcador de fechas, el cual puede ser, un campo de identificacion o la fecha.

Suponiendo que tu tabla de lotes es de la siguiente forma...
Nro_Lote   Producto   Cantidad
678   20354   100
679   30531   115
680   45796   132
681   68694   247
682   30531   147
683   68694   249
684   20354   286
685   30531   328
686   45796   614
687   68694   365
688   30531   620
689   68694   713
690   30531   819


Entonces tu codigo para rebajar productos es de la siguiente estructura...

vCodigo <- Almacena el codigo del producto a rebajar
vRebaja <- Almacena la cantidad a rebajar del lote
Buscar registros del producto, ordenados por lote
vSigue = 1
Mientras Existan Registros y vSigue=1 entonces
  vCantidad <- Valor del campo "Cantidad" recuperado de la consulta
  Si vRebaja > Cantidad entonces
      vLote <- Valor del campo "Lote" recuperado de la consulta
      Eliminar el registro lotes, donde Nro_Lote=vLote
      vRebaja = vRebaja - vCantidad
  Si No
      Sigue = 0
  Fin Si
  Recorrer siguiente registro
Fin Si

50
Visual Basic 6.0 e inferiores / Re: Procedimiento Oncomm Comun Para Varios Form
« en: Martes 18 de Abril de 2006, 16:01 »
Aun lo logro entender tu problema del todo... pero lo poco que entiendo, se refiere a colocar en un form2, datos generados a partir del form1, pero que cambian a "cada instante"... (por que no poner el codigo entonces en el form2?...)

Prueba lo siguiente...

En el formulario 1, colocas:
- 2 commandbutton
- 1 control timer

y el siguiente codigo
Private Sub Command1_Click()
'Se activa el reloj, para trabajar cada 1 segundo
Form2.Show
Timer1.Interval = 1000
End Sub

Private Sub Command2_Click()
'Se detiene el reloj
Timer1.Interval = 0
'Se descarga el formulario 2
Unload Form2
End Sub

Private Sub Form_Load()

End Sub

Private Sub Timer1_Timer()
'Cada 1 segundo se actualiza el label del formulario 2
Form2.Label1 = Format(Time, "hh:mm:ss")
End Sub


En el formulario 2, colocas un label

y prueba...

Páginas: 1 [2] 3 4 ... 15