|
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 ... 5 6 [7] 8 9 ... 17
151
« en: Domingo 8 de Junio de 2003, 19:25 »
Para que te lo curres un poco (pero que muy poco...) Te adjunto justamente lo que tú quieres, y mucho más..., sólo que aplicado a un FlexGrid; no te será difícil adaptarlo a tus necesidades.
152
« en: Domingo 8 de Junio de 2003, 19:13 »
Supongo que el código que te adjunto venga a darte solución a tu problema, aunque lógicamente tengas que adaptarlo a tus gustos personales...
Puede que hasta te sea suficiente llenar el ListBox con la Propiedad Sorted=True, que es realidad el meollo de la cuestión. Y si pones la propiedad de List2.Visible = False, puede que se acerque más a lo que tú quieres...
Saludos y suerte
153
« en: Sábado 7 de Junio de 2003, 10:10 »
Hola, Sun_Ice:
Te adjunto un código muy didáctico para que puedas usar en el DataReport campos de diferentes tablas, según las tengas definidas en los DbCommand del DataEnvironnment. Espero te sea suficiente.
Para que te funcione en tu equipo tendrás que definirle adecuadamente la variable "RutaBiblio" en Form1, dependiendo de dónde tengas ubicado el fichero "Biblio.mdb".
Saludos y suerte
154
« en: Sábado 7 de Junio de 2003, 09:39 »
Hola, rlarrea:
Por aquí se dice "si fuera perro te habría mordido..." Mira el mensaje primero o segundo de este mismo foro (¡Noticia! Ya está disponible el MessengerSoloCodigo!) y no tendrás que dudar que en Gerard vas a encontrar al "fiera del Messenger", además del "Rey del Xp". Saludos
155
« en: Miércoles 4 de Junio de 2003, 09:45 »
No comprendo el título de tu mensaje: reviso tu historial en el foro y veo que sólo constan consultas sobre DOS temas: el primero parece que te lo resolvió HurryCrack de forma satisfactoria; el segundo (son dos mensajes sobre el mismo tema) se refiere al error "El controlador de evento del cliente llamo un metodo no reentrante en el proveedor" que te aparece, y que posiblemente al resto de miembros del foro les ocurra lo mismo que a mí... que no tenemos NPI porque no lo hemos visto en la vida y no hemos encontrado relación con su origen. Yo te aseguro que me interesé en investigarlo, sin resultados satisfactorios...
El 50 % de preguntas solucionadas no es, pues, motivo para sentir frustracción, pienso yo. Y a partir de ahora, con esta ayuda que te ofrece angelescj alcanzas un 66 % de resultados satisfactorios que para sí lo quisieran los más optimistas... porque sería ilusorio esperar que se te resolviera el 100 % de los problemas. Date una vuelta por otros foros y compara...; si encuentras algo mejor te devolvemos la diferencia...
Saludos y fuera negruras!!!
156
« en: Martes 3 de Junio de 2003, 21:51 »
Ahí te va el código que permite hacer lo que deseas... Saludos
157
« en: Martes 3 de Junio de 2003, 08:36 »
Si declaras esta API
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long
no tendrás nada más que ejecutar lo siguiente:
Dim sLink As String sLink = "direccioncorreo@hotmail.com" ShellExecute 0, vbNullString, "mailto:" & sLink, vbNullString, vbNullString, vbNormalFocus
Saludos
158
« en: Martes 3 de Junio de 2003, 00:53 »
Lamento chafarte la ilusión, pero Windows Xp no permite deshabilitar esa combinación de teclas. El resultado es muy diferente en Xp que en sus antecesores... y contiene funciones indispensables... Para que amplíes los conocimientos, pásate por http://guille.costasol.net/API/deshabilitarAltTab.aspSaludos
159
« en: Domingo 1 de Junio de 2003, 00:12 »
Yo creo que sólo hay 3 formas de seleccionar una opción de un menú: primera: el click; segunda: cuando el menú está desplegado puede usarse la tecla alternativa si está definida o el carácter inicial del nombre de la opción, y como tercera posibilidad, subir o bajar a través del menú mediante las flechas de cursor y pulsar [Intro] sobre la opción que se desea seleccionar.
EN TODOS LOS CASOS GENERA EL MISMO EVENTO; es decir, que no es clara la necesidad de conocer qué opción se ha seleccionado... (digo yo...)
161
« en: Sábado 31 de Mayo de 2003, 01:26 »
Efectivamente, yo también tengo problemas con el correo, incluso me cuesta conectarme con Messenger. Yo tengo la conexión ADSL de Telefónica, a quien voy a presentar el problema...
Intento adjuntar un fichero de 6 Kb
Aleluya... Esta vez ya salió...!!!
162
« en: Viernes 30 de Mayo de 2003, 17:05 »
Llevo 24 horas sin poder adjuntar ficheros. A ver si ahora tenemos suerte y te llega éste, que es exactamente el que tú pides. Si no ves ningún fichero adjunto, indica tu dirección y te lo enviaré. Saludos
Hoy (31/05/03) ya me funciona el envío de ficheros adjuntos. Te lo subo:
163
« en: Viernes 30 de Mayo de 2003, 16:40 »
Significa que no existe el fichero con el que pretendes alimentar el report. Probablemente no tengas bien definida la ruta de acceso...
Saludos y suerte
164
« en: Viernes 30 de Mayo de 2003, 16:22 »
Estimados amigos:
¿Qué puede ocurrirme para que en las últimas 24 horas sea incapaz de adjuntar ni siquiera un fichero tan ligero como de 6 Kb?
Me salta el consabido "No se ha encontrado la página". He reinstalado M.I.Explorer sin resultados.
Os agradezco la solución si está en vuestra mano. Saludos
165
« en: Viernes 30 de Mayo de 2003, 16:12 »
No sé si he comprendido bien tu problema. Por si acaso te adjunto este código que he preparado específicamente para tu caso.
Saludos
166
« en: Viernes 30 de Mayo de 2003, 00:16 »
A ver si el código que te adjunto es lo suficientemente significativo y útil para tu proyecto.
Saludos y suerte
167
« en: Jueves 29 de Mayo de 2003, 23:48 »
Voy a darte un consejo práctico: Abre Excel (directamente, o mediante las órdenes oportunas en VB). Ejecuta >Herramientas >Macro > Grabar nueva macro Haz todos los pasos que pretendas programar en VB Cierra la macro pinchando en Detener la grabación.
Nuevamente ejecuta >Herramientas >Macro >Macros Marca el nombre de la macro que acabas de crear (Macro1 si tomaste la que te ofrece por defecto) y pulsa Modificar
Ahora selecciona todo el texto que te interese, y lo incorporas en el código de tu programa... Sólo tendrás que hacer alguna pequeña modificación.
Saludos y suerte
168
« en: Miércoles 28 de Mayo de 2003, 17:56 »
Da gusto comprobar que lo que mejor funciona no es el programa informático sino la comunicación interpersonal!!! Estoy contigo.
169
« en: Martes 27 de Mayo de 2003, 22:57 »
Con esto queda demostrado lo bueno que es participar... porque a los que nos gusta dar, también nos gusta recibir... Y hoy Majuhemo me ha dado una solución que ni siquiera se me había ocurrido investigar, porque ya tenía yo mi solución que "yo creía que era buena hasta que vi la tuya..."
Gracias y saludos
170
« en: Martes 27 de Mayo de 2003, 18:19 »
La verdad es que no sé qué podré decirte además de que me parece incomprensible... supongo que se trate de un ejercicio práctico de examente para matrícula de honor...
Vamos a ver, de todas formas, si no me enrollo y no te enredo a ti más...
Como es de suponer que el campo que yo he llamado "FIN" de la última palabra contenga la situación "detrás de esa última palabra"... podemos, tras leer la Tabla1 en un rsPrueba hace rsPrueba.MoveLast y tomar
LongituddelTexto = rsPrueba!Fin
Bueno, pues ahora te compones un texto en blanco con esa longitud: Buf = String(LongituddelTexto, " ")
Vas al principio de la Tabla1 y sustituyes en ese texto en blanco cada trozo (desde Inicio hasta Fin) por el contenido del campo Palabra
rsPrueba.MoveFirst Do While not rsPrueba.Eof Buf = Left( Buf, rsPrueba!Inicio) & rsPrueba!Palabra & Mid( Buf, rsPrueba!Fin) rsPrueba.MoveNext Loop
Añadimos un retorno de carro: Buf = Buf & chr(10) & chr(13)
y Santas Pascuas...
Seguro que necesitarás hacer modificaciones, sobre todo en el tratamiento de los campos, dependiendo de cómo abras la BD; pero la idea creo que sería esa, y... OJALA TE FUNCIONE...
171
« en: Martes 27 de Mayo de 2003, 17:48 »
Hola Angeles y Jessuss (aunque mi respuesta parece que no le va mucho a éste...)
Yo puede decirse que tengo precisamente la especialidad de hacer informes con Word desde VB, porque la mayoría de mis aplicaciones van dirigidas a la confección de informes personalizados (Alta Hospitalaria, por ejemplo)
Te adjunto una plantilla, que el usuario actualiza y modifica con Word siempre que quiera. Luego toma la plantilla que le convenga y se rellena automáticamente el informe haciendo sustitución de eso que llamo pseudomacros, y que consisten en 6 caracteres precedidos y seguidos de @. Por ejemplo @PACNOM@ para Nombre del paciente, @PACDOM@ para el Domicilio del paciente....
El usuario tiene una lista de todas las pseudomacros que puede incluir en cada plantilla, y en todo caso al hacer la conversión se preve que pueda haber incluido algún grupo NO RECONOCIBLE...
La conversión la hago así:
lFallo = False MousePointer = vbHourglass strText = "" nHandle% = FreeFile Open wFich For Input As #nHandle% Do While Not EOF(nHandle%) Line Input #nHandle%, strBuffer strText = strText & strBuffer & vbCrLf Loop Close #nHandle% If recPac!idsexo = 1 Then cSex = "o" Else cSex = "a" End If Do While True n = InStr(strText, "@") If n = 0 Then Exit Do cTit = " " If Mid(strText, n, 1) = "@" Then cMacro = UCase(Mid(strText, n, 8)) If cMacro = "@ANTFAM@" Then If Trim(frmPaci.txtAf(0).Text) <> "" Then cTit = frmPaci.txtAf(0).Text End If If Trim(frmPaci.txtAf(1).Text) <> "" Then cTit = cTit & "; " & frmPaci.txtAf(1).Text End If ElseIf cMacro = "@ANTPER@" Then If Trim(frmPaci.txtAp(0).Text) <> "" Then cTit = frmPaci.txtAp(0).Text End If If Trim(frmPaci.txtAp(1).Text) <> "" Then cTit = cTit & "; " & frmPaci.txtAp(1).Text End If If Trim(frmPaci.txtAp(2).Text) <> "" Then cTit = cTit & "; " & frmPaci.txtAp(2).Text End If
ELSEIF cMacro......... Reviso a ver si se encuentra cada una de las macros que tengo diseñadas y defino por qué texto ha de ser sustituida... If cTit = "" Then x = MsgBox("El documento de 'Infor-Altas' estaba en blanco.", vbInformation) cTit = " " End If
recInf.Recordset.Delete recInf.Recordset.Update recInf.Recordset.Bookmark = recInf.Recordset.LastModified Else x = MsgBox("Revise la Plantilla " & SelFile.FileName & " :" & Chr(10) & _ "Ha introducido como ""macro"" la palabra " & cMacro & Chr(10) & _ "y no ha diseñado la SQL de conversión para tal ""macro"".", vbCritical) lFallo = True Exit Do End If End If
' AQUÍ SE SUSTITUYE LA PSEUDOMACRO POR LO QUE CADA UNA SIGNIFICA... strPost = Mid(strText, n + 8) strPrem = Left(strText, n - 1) strText = strPrem & cTit & strPost
Loop If lFallo Then DeleteAFile (wFich) wFich = "" MousePointer = vbDefault Exit Function ElseIf Dir(tFich) <> "" Then DeleteAFile (tFich) End If nHandle% = FreeFile Open wFich For Output As #nHandle% Print #nHandle%, strText Close #nHandle% MousePointer = vbDefault
Espero que puedas adaptar estos datos a tu programa y que la idea te sirva...
Y en todo caso sabes que estoy a tu disposición, con mi afectuoso saludo
172
« en: Martes 27 de Mayo de 2003, 01:21 »
Si mal no comprendo, ¿quieres decir que tienes una DB con algo parecido a esto?
Fila -- Inicio -- Palabra -- Fin ---1 ------ 1 --- Hola ---------- 4 ---1 ------ 5 --- amigo -------- 9 ---1 ----- 10 --- Juan ---------13 ---2 ----- 16 --- Adiós ------- 20
Y quieres componer esto:
Hola amigo Juan Adiós
Si te he de ser sincero, eso es lo que yo interpreto de tu mensaje, pero con mayor sinceridad aun... pienso que se trata de una locura... Claro que de loco a genio hay un pasito muy corto.
A la espera de tus noticias, saludos afectuosos
173
« en: Lunes 26 de Mayo de 2003, 23:23 »
Lo hago frecuentemente. Y uso esta rutina:
1.- Establezco la condición de consulta 2.- Con la SQL adecuada leo de la DB los registros que cumplan esa condición, abriendo un Adodc con el que lleno y presento un DataGrid 3.- Modifico, borro o añado registros en el DataGrid (aunque con una rutina externa al DataGrid). 4.- Cuando activo el boton de [Actualizar] o [Grabar] hago lo siquiente: 4a.- Ejecuto una SQL con DELETE para todos los registros que cumplan la condición de la consulta. 4b.- Paso a la DB todos los registros que tengo en el recordset del Adodc del DataGrid 4c.- "Updateo" la DB
Si activo el botón de [Cancelar], simplemente quito el DataGrid y cierro el Adodc. Todo queda como estaba.
Lo peor que puede pasar es que, estando en red, intenten actualizar los mismos datos dos clientes al mismo tiempo... ¡¡¡Siempre ocurrirá lo que ocurre siempre!!!: que prevalecerán los datos del último que actualizó, que por otra parte es lo lógico.
Saludos y suerte
174
« en: Domingo 25 de Mayo de 2003, 01:58 »
Hola, Miguel:
El código que te adjunto demuestra que Angeles tiene razón. Verás cómo los items se van incrementando y se ordenan automáticamente.
Este código tiene el atractivo de que permite presentar el combo desplegado en una ventana de gran tamaño... En algún momento puede ser interesante una de estas características, o las dos...
Saludos y suerte
175
« en: Sábado 24 de Mayo de 2003, 20:19 »
Prueba este código en el BeforeColUpdate
If InStr(1, DbGrid.Columna(n).Value, ".") Then DbGrid.Columna(n).Value = Val(DbGrid.Columna(n).Value)
De esta forma tú puedes introducir punto y se convertirá automáticamente en coma, como le gusta a Bill Gates y discípulos..., que ya son ganas de "jorobar la marrana" teniendo el teclado numérico con punto y sin coma...
Saludos y suerte
Páginas: 1 ... 5 6 [7] 8 9 ... 17
|
|
|