• Domingo 11 de Mayo de 2025, 22:08

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 - J.M.Movilla

Páginas: 1 ... 3 4 [5] 6 7 ... 17
101
Visual Basic 6.0 e inferiores / Re: Dbgrid a colores
« en: Viernes 11 de Julio de 2003, 14:27 »
He intentado encontrar el modo de hacerlo, pero creo que es imposible, porque no existe el método DBGrid1.Row.BadColor... ni ninguno otro que permita "colorear" una fila...

Saludos y ojalá alguien te dé la solución

102
Visual Basic 6.0 e inferiores / Para jpardo84
« en: Viernes 11 de Julio de 2003, 13:01 »
No sé si por ahorrar respuestas en tus mensajes no habré cometido el error de modificarlas y no pensar en que ya habías leído las anteriores respuestas QUE NO ERAN CORRECTAS !!!

Pasa, por favor, a leer las soluciones actuales, que sí son garantes y comprobadas.  Perdona si con las primeras respuestas te originé mayor confusión.

Saludos

103
Visual Basic 6.0 e inferiores / Re: Este reporte no me funciona, ayuda...
« en: Viernes 11 de Julio de 2003, 00:50 »
Te digo lo mismo que en La SQL del comando asociado no me funciona

Sustituye la instrucción  "Valor_articulo between " & pr1 & " and " & pr2 por

"Valor_articulo >= " & pr1 & " and Valor_articulo  <=" & pr2

104
Visual Basic 6.0 e inferiores / La SQL del comando asociado no me funciona
« en: Viernes 11 de Julio de 2003, 00:41 »
He comprobado que la instrucción BETWEEN no funciona en un DataEnvironment:

No te queda más remedio que sustituir
"SELECT * FROM Articulos WHERE id_articulo BETWEEN " & a & " AND " & b

por

"SELECT * FROM Articulos WHERE id_articulo >= " & a & " AND id_articulo <= " & b

Suerte  y un saludo

105
Efectivamente, he denominado como variable un dato que no hay duda de que es un campo... Ya perdonarás... Pero es que no existe explicación para que te dé error la función Year() si se refiere a un dato (sea variable o campo) de tipo Date...

Yo tomo registros de Oracle para el control de las vacunaciones... Como unas veces me interesan los nacidos en el año actual, otras veces los que van a cumplir los 6 años (siempre referido al año en curso...) utilizo la siguiente función, que indudablemente tú conoces:
"DateDiff('yyyy', FecNac, Date)"; me funciona sin problemas...

Y digo yo:  Sabiendo que esto te va a funcionar, ¿no te interesaría generar una variable FechadelAnio con "01/01/" & txtAnio y seleccionar los registros en que DateDiff('yyyy', Fecha_Solicitud, FechadelAnio) sea igual a cero?  Al menos habremos descartado el posible error de Year()...

"No me llames iluso..."

Suerte y un afectuoso saludo

106
Visual Basic 6.0 e inferiores / Re: DB con "brujas"...
« en: Miércoles 9 de Julio de 2003, 11:58 »
¿Sabéis de lo que me ha enterado...? Pues que el fallo del compactar es propio de la versión Access 2000... Convierto la db a '97 Y FUNCIONA PERFECTAMENTE...

Así que ya sabes, Brroz... Yo eso lo había hecho mil veces, y me extrañaba tu respuesta de que era imposible... Se recuperan totalmente todos los registros borrados, siempre que estén al final del fichero, claro está, no se recuperan los intermedios...

Pero la versión 2000 FALLA !!!

107
Visual Basic 6.0 e inferiores / Re: DB con "brujas"...
« en: Miércoles 9 de Julio de 2003, 10:56 »
Muchas gracias por vuestra ayuda, tanto a Brroz como a Angeles... Efectivamente estaba ofuscado con aplicarle el formato de moneda, y eso era lo que desaguisaba la presentación.

Pero sigue en pie el que la db no se compacta... y ESTO ME PASA EN OTROS CASOS, lo cual es más serio...

Gracias de nuevo y hasta otra

108
Visual Basic 6.0 e inferiores / Re: Autollenado en Excel
« en: Martes 8 de Julio de 2003, 23:16 »
A ver si te va esto...

Private Sub Command1_Click()
    Dim ApExcel As Variant
    Dim Fila As Integer
   
    Set ApExcel = CreateObject("Excel.application")
    With ApExcel
        .workbooks.Add
        Fila = 1              ' Pon aquí la primera fila que contenga datos
        Do
        If IsNull(cells(Fila,1)) then exit Do
        .cells(Fila, 3).formula =  .cells(Fila, 1) *  .cells(Fila, 2)

        Fila = Fila + 1
        Loop
        .Visible = True
    End With
    Set ApExcel = Nothing
End Sub

Probablemente tengas que hacer alguna corrección, porque lo estoy escribiendo en vivo... directamente en esta ventana del foro...

Saludos y suerte

109
Visual Basic 6.0 e inferiores / Re: DB con "brujas"...
« en: Martes 8 de Julio de 2003, 22:58 »
Hola, Angeles:
Siento tener que pedirte que compruebes empíricamente que sigue haciéndolo mal incluso después de cambiar la configuración regional de los signos matemáticos... Esto me ocurre sólo con este programita... y no encuentro explicación (salvo que en vuestro equipo os funcione bien y tenga que investigar respecto a mi sistema Xp...)

Gracias y un afectuoso saludo,  Josemaría

110
Visual Basic 6.0 e inferiores / Re: DB con "brujas"...
« en: Martes 8 de Julio de 2003, 10:52 »
¿Qué habré hecho yo para que no consiga compactar esta base de datos, de forma que al añadir nuevo registro "olvide todos los autonuméricos deleteados" y continúe con el número 3... ?

Y ¿qué estaré haciendo mal para que no consiga que el campo de Euros se me presente con sólo 2 decimales, y no con 5 como lo hace ahora?

Gracias por dedicarme vuestro tiempo, y por tantas otras cosas...

111
Visual Basic 6.0 e inferiores / DataReport con parámetros
« en: Martes 8 de Julio de 2003, 10:23 »
Puedes filtrar el recordset mediante

PrMinimo = 100
PrMaximo = 500
DataEnvironment1.rsArticulo.Filter = "Precio Between " & PrMinimo & " And " & PrMaximo


o bien cerrar el recordset de artñiculos y abrir uno nuevo definiendo la SQL con Where Precio Between " & PrMinimo & " And " & PrMaximo

No olvides en ambos casos REFRESCAR el DataReport

Saludos y suerte

Perdón... Mientras te he preparado la respuesta veo que te la ha dado ya Angelescj, como siempre de forma acertada. Y compruebo que ella te da la fórmula para cerrar y abrir nuevamente el recordset y para refrescar el datareport, y yo te presento cómo escribir la SQL, además de darte la posibilidad de utilizar el FILTRO; por eso no anulo esta respuesta, porque ambas se complementan...

112
Indudablemente el problema estriba en que la variable Fecha_Solicitud no te la reconoce como de tipo Date...  Cambia su formato.

Saludos y suerte

113
Visual Basic 6.0 e inferiores / Trabajar visual basic con excel
« en: Domingo 6 de Julio de 2003, 21:19 »
Este código es muy elemental, pero creo que adecuado para que "desbroces" el paso hacia el manejo de una hoja de Excel con vb:


Private Sub CambioExcel()

    Dim ApExcel As Variant
   
    Set ApExcel = CreateObject("Excel.application")
    With ApExcel
        .workbooks.Add
        .Range("A1: D1").Merge (True)
        .cells(1, 1).formula = "Título de la Aplicación"
        .cells(1, 1).Font.Size = 18
        .cells(2, 2).formula = "Debe"
        .cells(2, 3).formula = "Haber"
        .cells(2, 4).formula = "Saldo"
        .cells(3, 2).formula = 200
        .cells(3, 3).formula = 100
        .cells(3, 4).formula = "=B3-C3"
        .Range("B3: D3").Borders.Color = RGB(255, 0, 0)
        .Visible = True
    End With
    Set ApExcel = Nothing

End Sub


A partir de aquí podrás cambiar las celdas que quieras, sabiendo que se definen con Cells(fila, columna)

Saludos y suerte

114
Visual Basic 6.0 e inferiores / Re: DAO en Cliente/Servidor
« en: Domingo 6 de Julio de 2003, 21:05 »
Y sobre todo... no desesperes... A todos nos ha pasado eso de "renegar de ADO" cuando pasamos desde DAO; no son muchas las diferencias, pero claro que las hay... sobre todo en búsquedas y filtros (SQL). Vete haciendo cambios por partes, porque no hay conversores automáticos que te lo hagan de golpe... Y ya que estás en plan de cambios... yo te aconsejaría que te olvides también de Adodc y te pases directamente a DataEnvironment, que es la forma más rentable y cómoda de trabajar con ADO.

Y perdóname por meterte en estos berenjenales... porque sé que con ello empezarás "odiándome" y terminarás agradeciéndomelo.

Saludos y suerte

115
Visual Basic 6.0 e inferiores / Re: Amigo Movilla
« en: Domingo 6 de Julio de 2003, 20:51 »
Para obtener el valor de la función tienes que pasarle los parámetros adecuadamente:
prueba con  

nResp = MessageBox(hWnd, "Mensaje para la caja", "Título para el mensaje", MB_YESNO)

verás como obtienes 6 (vbYes) ó 7 (vbNo) dependiendo del botón seleccionado... Pero si no le pasas el parámetro MB_YESNO, no obtendrás el valor correctamente...  Y claro está, en el módulo tendrás que haber definido Public Const MB_YESNO = &H4&

(Porque, a todo esto... supongo que estas preguntas se refieran al API MessageBox...)
 
Creo que ahora ya te vaya de pm...  Saludos

116
Visual Basic 6.0 e inferiores / Dichosos Timers....Ayuda!
« en: Domingo 6 de Julio de 2003, 19:52 »
Cuando cargas objetos, éstos pasan a memoria, y cuando los cierras simplemente haces eso, cerrarlos, pero NO LIBERAS MEMORIA. Es conveniente DESPUÉS de cerrar un objeto poner la instrucción Set Obj = Nothing, con lo cual lo quitas también de la memoria.

117
Sospecho que si pides ayuda para realizar modificaciones en un recordset es porque no consigues editarlo.  Si es ése tu problema, revisa cómo tienes la propiedad .LockType: si está definida como 1 - adLockReadOnly no te permitirá hacer cambios en los campos... Ponla a 2 - adLockPessimistic o a 3 - adLockOptimistic, dependiendo de como quieras asegurar los bloqueos cuando trabajes en red.

Y efectivamente, como te dice Chiaravel, no necesitas poner la instrucción .Edit (entre otras cosas, porque en ADO no existe ese método).

Saludos

118
Visual Basic 6.0 e inferiores / Re: Renombrar ficheros
« en: Viernes 4 de Julio de 2003, 11:42 »
Amigo Roberto:

Hace tiempo que me vengo haciendo la misma pregunta sin encontrar respuesta por parte alguna. Y tengo que solucionarlo como creo que lo hagas tú:

FileCopy FichOrigen NuevoNombre
Do
If Dir("NuevoNombre") <> "" then
If FileLen(NuevoNombre) = FileLen(FichOrigen) then
Kill FichOrigen
Exit Do
End If
End If
Loop

A ver si alguien nos responde con algo que es obligado que exista (FileRename, por ejemplo...)

Saludos

119
Visual Basic 6.0 e inferiores / Re: Amigo Movilla
« en: Viernes 4 de Julio de 2003, 00:33 »
Pues qué quieres que te diga... que en principio me sorprende que al cambiar una constante que se refiere al ICONO que aparece en la caja, te modifique los BOTONES que forman parte del TIPO de caja.  Pero supongo que esto se debe a que todas estas constantes se suman sin tener en cuenta a qué grupo pertenecen, y al final el número resultante hace que el mensaje aparezca con Icono de Exclamación + Botones de Yes y No + Segundo botón por defecto...

Al incrementar en uno el valor asignado a una constante es exactamente igual que asignarle la variable siguiente incrementada en x, y te altera todo el esquema...

Si quieres controlar la asignación de botones, ahí te adjunto la lista de todas las constantes que se pueden manejar con el "Mensaje-Box"

Saludos

120
Visual Basic 6.0 e inferiores / Re: Movimiento de forms
« en: Jueves 3 de Julio de 2003, 23:56 »
Amigo HurryCrack:

Seguro que va a gustarte el ejemplito que te adjunto.  Si era lo que esperabas, que lo disfrutes... Y si no, ya sabes...: paciencia que otro saldrá que mejore la plana.

Saludos y suerte

121
Visual Basic 6.0 e inferiores / Re: Interface para Escaner en Windows Xp
« en: Jueves 3 de Julio de 2003, 23:33 »
Gracias, Brroz, por tu atención al contestarme, aunque me hayas "chafado" el hilo de esperanza que me quedaba... ¿O sigue todavía un pequeñito hilo esperando que alguien encuentre la solución?  Aunque sea por aquello de "IBM lo puede casi todo"... del famoso juego de Harry...

Saludos

122
Visual Basic 6.0 e inferiores / Conexion ODBC a una BD en un Servidor Oracle.
« en: Jueves 3 de Julio de 2003, 02:43 »
Ah, vale... Te he respondido en la otra consulta en que preguntabas esto mismo...
Como verás es prácticamente igual, sólo que aquí es SOLO .Find... por lo que previamente tienes que hacer un .MoveFirst
Saludos

123
Simplemente defines un variable que sea del estilo de la fórmula WHERE de SQL y haces un ADOobj.Find(VariabledeBusqueda)

Por ejemplo:
ValorBuscar = "LUCAS DE LA MORA EMILIA"
cBuscar = "NombreCliente like '" & ValorBuscar & "*'"
ADOobj.Recordset.MoveFirst  ' Cosa que no era necesaria con DAO porque hacía un .FindFIRST
ADOobj.Recosrset.Find (cBuscar)
If ADOobj.Recordset.NoMatch Then
msgbox("No se encuentra este dato.")
else
' realizar el proceso con el registro encontrado
endif

124
Visual Basic 6.0 e inferiores / Re: Dichosos Timers....Ayuda!
« en: Miércoles 2 de Julio de 2003, 22:00 »
A mí me parece que el problema no está en la subrutina TimersPrensa, sino en cómo haces el unload de frmPrensa.  Si pones como última instrucción un "Set frmPrensa = Nothing" creo que solucionarás tu problema.
Saludos y suerte

125
Visual Basic 6.0 e inferiores / Re: Ventana de espera...
« en: Miércoles 2 de Julio de 2003, 19:44 »
Hola Ruben:
Espero no decirte una perogrullada... Pero ¿por qué en lugar de presentar el "frmProceso" no tienes preparado en medio de tu formulario (o donde más te guste) un botón, o un label u una frame... con el texto "Procesando..." parpadeando, con fondo rojo, etc...y con la propiedad Visible = False?  Cuando empiece el bucle le pones Visible = True y cuando termine el bucle le vuelves a ocultar...
Saludos

Páginas: 1 ... 3 4 [5] 6 7 ... 17