|
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
« 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
« 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
« 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
« 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
« en: Miércoles 9 de Julio de 2003, 18:34 »
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
« 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
« 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
« 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
« 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
« 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
« 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
« en: Martes 8 de Julio de 2003, 10:00 »
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
« 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
« 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
« 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
« 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
« en: Domingo 6 de Julio de 2003, 19:40 »
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
« 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
« 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
« 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
« 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
« 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
« en: Jueves 3 de Julio de 2003, 02:39 »
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
« 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
« 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
|
|
|