MsgBox en XP

30/06/2003 - 18:55 por Ede | Informe spam
Hola,

alguien conoce alguna manera para que el tamaño de carácteres de un msgbox
en XP (supungo que será igual en 2000) no esté limitado a unos 1024
caracteres. Este límite lo pone en la ayuda de access.

el tema es que he convertido la aplicación desde '97 y esta limitación no
existía, y he utilizado bastantes msgbox como "ayudas" al usuario que ahora
se quedan cortadas.

saludos y muchas gracias.

Ede
Marc -Tarragona-

Preguntas similare

Leer las respuestas

#1 Jose A. Gimenez [Py]
30/06/2003 - 19:26 | Informe spam
No consideraste crear un formulario de ayuda en lugar de un cuadro de
mensaje?
Saludos

JOSE
"Ede" escribió en el mensaje
news:
Hola,

alguien conoce alguna manera para que el tamaño de carácteres de un msgbox
en XP (supungo que será igual en 2000) no esté limitado a unos 1024
caracteres. Este límite lo pone en la ayuda de access.

el tema es que he convertido la aplicación desde '97 y esta limitación no
existía, y he utilizado bastantes msgbox como "ayudas" al usuario que


ahora
se quedan cortadas.

saludos y muchas gracias.

Ede
Marc -Tarragona-





Respuesta Responder a este mensaje
#2 Ede
30/06/2003 - 23:49 | Informe spam
Hola Juan,

el método sí que me sirve, aún así no se si lo usaré... por un par de
motivos:

1- no puedo / se controlar el mensaje de la ventana. lo que comentabas de
los argumentos del msgbox, que no sirven para el wScript.

2- hasta estos momentos desconocía esto del Windows Scripting Host, por lo
que me da un poco de respeto utilizarlo sin saber muy bien como funciona y
que puede suponer. En caso de errores no sabría como solucionarlo y no puedo
arriesgarme.

He buscado por la ayuda de access, pero no he encontrado demasiada
información sobre el tema (posiblemente no haya buscado bien.)

Bueno, gracias por la solución.


Saludos de Ede.
Marc (Tarragona)


"Juan M. Afan de Ribera" escribió en el mensaje
news:
Hola Ede,

no sabía yo de esa limitación (bueno, el caso es que no utilizo el msgbox
para tanto texto). Imagino que poco se puede hacer para cambiar el msgbox
que utiliza Access (salvo alguna cosa con el API de Windows, no se). Lo
único que se me ocurre es que pruebes esto - es el msgbox que utiliza el
Windows Scripting Host:

Dim wShell As Object 'New wshShell
Dim respuesta As Integer
Dim cad As String
Dim i As Integer, j As Integer

For i = 1 To 1024
If j > 8 Then j = -1
j = j + 1
cad = cad & j
Next

cad = cad & " A PARTIR DE AQUI PASAMOS EL LIMITE DE 1024"

Set wShell = CreateObject("WScript.Shell")

respuesta = wShell.PopUp(cad)

Set wShell = Nothing

no se si podría servirte, dependerá de como tengas hechos los msgbox. Si


los
tienes implementados de manera sencilla, por ejemplo: MsgBox "Texto de
ayuda", no habría problema, pero si no es así, hay que tener en cuenta que
los argumentos del msgbox de VB y el PopUp de WScript no son del todo
iguales.

A ver si hay suerte.

Saludos desde Barcelona
Juan M. Afan de Ribera
<MVP Ms Access>


"Ede" escribió en el mensaje
news:
> hola JOSE,
>
> sí lo consideré, pero no me es muy operativo. Tengo unos 150 formularios


y
> en cada formulario un boton en la parte superior que abre el msgbox de
ayuda
> de la pantalla. Si tengo que hacer un form de ayuda para cada uno .
ui,
> que heavy. y tener un form "ayuda" con 150 campos invisibles que se van
> haciendo visibles en función del form que lo llama, lo encuentro muy
liado,
> además el numero de form principales irá aumentando.
>
> Lo que tengo hecho es un modulo con todos los msgbox, un


subprocedimiento
> público para cada form y el botón de form llama al subprocedimento. Así
> también puedo ir actualizando la ayuda de manera más fácil (sólo


modifico
el
> módulo) y algunos form comparten el mismo msgbox de ayuda.
>
> bueno, no se si lo he explicado clarito, espero que sí. y quizá a


alguien
le
> pueda interesar el método.
>
> para mi problema, que es que algunos msgbox hechos en access '97 superan
el
> límite de caracteres admisible en XP, si no hay más respuestas optaré


por
> dividirlos en dos msgbox, pero no me gusta mucho porque obligo a aceptar


2
> veces un cuadro de mensaje. bueno, si quieren tanta información, que
se
> va hacer. Sino reduzco la ayuda y listo, pero tb es lástima.
>
> Bueno, gracias por la idea, JOSE.
>
> Saludos, Ede.
> "Jose A. Gimenez [Py]" <gimenezj(arroba)hotmail(punto)com> escribió en


el
> mensaje news:
> > No consideraste crear un formulario de ayuda en lugar de un cuadro de
> > mensaje?
> > Saludos
> >
> > JOSE
> > "Ede" escribió en el mensaje
> > news:
> > > Hola,
> > >
> > > alguien conoce alguna manera para que el tamaño de carácteres de un
> msgbox
> > > en XP (supungo que será igual en 2000) no esté limitado a unos 1024
> > > caracteres. Este límite lo pone en la ayuda de access.
> > >
> > > el tema es que he convertido la aplicación desde '97 y esta


limitación
> no
> > > existía, y he utilizado bastantes msgbox como "ayudas" al usuario


que
> > ahora
> > > se quedan cortadas.
> > >
> > > saludos y muchas gracias.
> > >
> > > Ede
> > > Marc -Tarragona-
> > >
> > >
> > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#3 Chea
30/06/2003 - 23:50 | Informe spam
Si en el msgbox lo que vas a mostrar es un texto de ayuda que se corresponde
con un formulario, la solución es muchísimo más sencilla. Creas una tabla
con dos campos, NombreForm y txtAyuda y un formulario basado en esa tabla,
luego, en el botón de la ayuda, pones algo así:

Docmd.Openform "FormulariodeAyuda",,," [Nombreform] = '" & me.name & "'"


Saludos.

José Bengoechea [MS-MVP Access]
http://usuarios.lycos.es/jbchea/
"Ede" escribió en el mensaje
news:
hola JOSE,

sí lo consideré, pero no me es muy operativo. Tengo unos 150 formularios y
en cada formulario un boton en la parte superior que abre el msgbox de


ayuda
de la pantalla. Si tengo que hacer un form de ayuda para cada uno .


ui,
que heavy. y tener un form "ayuda" con 150 campos invisibles que se van
haciendo visibles en función del form que lo llama, lo encuentro muy


liado,
además el numero de form principales irá aumentando.

Lo que tengo hecho es un modulo con todos los msgbox, un subprocedimiento
público para cada form y el botón de form llama al subprocedimento. Así
también puedo ir actualizando la ayuda de manera más fácil (sólo modifico


el
módulo) y algunos form comparten el mismo msgbox de ayuda.

bueno, no se si lo he explicado clarito, espero que sí. y quizá a alguien


le
pueda interesar el método.

para mi problema, que es que algunos msgbox hechos en access '97 superan


el
límite de caracteres admisible en XP, si no hay más respuestas optaré por
dividirlos en dos msgbox, pero no me gusta mucho porque obligo a aceptar 2
veces un cuadro de mensaje. bueno, si quieren tanta información, que


se
va hacer. Sino reduzco la ayuda y listo, pero tb es lástima.

Bueno, gracias por la idea, JOSE.

Saludos, Ede.
"Jose A. Gimenez [Py]" <gimenezj(arroba)hotmail(punto)com> escribió en el
mensaje news:
> No consideraste crear un formulario de ayuda en lugar de un cuadro de
> mensaje?
> Saludos
>
> JOSE
> "Ede" escribió en el mensaje
> news:
> > Hola,
> >
> > alguien conoce alguna manera para que el tamaño de carácteres de un
msgbox
> > en XP (supungo que será igual en 2000) no esté limitado a unos 1024
> > caracteres. Este límite lo pone en la ayuda de access.
> >
> > el tema es que he convertido la aplicación desde '97 y esta limitación
no
> > existía, y he utilizado bastantes msgbox como "ayudas" al usuario que
> ahora
> > se quedan cortadas.
> >
> > saludos y muchas gracias.
> >
> > Ede
> > Marc -Tarragona-
> >
> >
> >
> >
> >
>
>


Respuesta Responder a este mensaje
#4 José A. Giménez [Py]
30/06/2003 - 23:55 | Informe spam
Entiendo.
Sin embargo, viendo las complicaciones, no consideraste crear un archivo de
ayuda para tu base?
Espero que la opcion de Juan M. te sirva
Saludos

JOSE

Ede escribió en el mensaje de noticias

hola JOSE,

sí lo consideré, pero no me es muy operativo. Tengo unos 150 formularios y
en cada formulario un boton en la parte superior que abre el msgbox de


ayuda
de la pantalla. Si tengo que hacer un form de ayuda para cada uno .


ui,
que heavy. y tener un form "ayuda" con 150 campos invisibles que se van
haciendo visibles en función del form que lo llama, lo encuentro muy


liado,
además el numero de form principales irá aumentando.

Lo que tengo hecho es un modulo con todos los msgbox, un subprocedimiento
público para cada form y el botón de form llama al subprocedimento. Así
también puedo ir actualizando la ayuda de manera más fácil (sólo modifico


el
módulo) y algunos form comparten el mismo msgbox de ayuda.

bueno, no se si lo he explicado clarito, espero que sí. y quizá a alguien


le
pueda interesar el método.

para mi problema, que es que algunos msgbox hechos en access '97 superan


el
límite de caracteres admisible en XP, si no hay más respuestas optaré por
dividirlos en dos msgbox, pero no me gusta mucho porque obligo a aceptar 2
veces un cuadro de mensaje. bueno, si quieren tanta información, que


se
va hacer. Sino reduzco la ayuda y listo, pero tb es lástima.

Bueno, gracias por la idea, JOSE.

Saludos, Ede.
"Jose A. Gimenez [Py]" <gimenezj(arroba)hotmail(punto)com> escribió en el
mensaje news:
> No consideraste crear un formulario de ayuda en lugar de un cuadro de
> mensaje?
> Saludos
>
> JOSE
> "Ede" escribió en el mensaje
> news:
> > Hola,
> >
> > alguien conoce alguna manera para que el tamaño de carácteres de un
msgbox
> > en XP (supungo que será igual en 2000) no esté limitado a unos 1024
> > caracteres. Este límite lo pone en la ayuda de access.
> >
> > el tema es que he convertido la aplicación desde '97 y esta limitación
no
> > existía, y he utilizado bastantes msgbox como "ayudas" al usuario que
> ahora
> > se quedan cortadas.
> >
> > saludos y muchas gracias.
> >
> > Ede
> > Marc -Tarragona-
> >
> >
> >
> >
> >
>
>


Respuesta Responder a este mensaje
#5 Juan M. Afan de Ribera
01/07/2003 - 00:14 | Informe spam
Hola,

antes de nada, he de decirte que para otra vez utiliza otro metodo que no
sea un msgbox para esto de la ayuda ;-)

Mira a ver la respuesta de Chea (que siempre da en el clavo). Si aún así
quisieras intentarlo con el Windows Scripting Host, te diré que no lo
encontrarás en la ayuda, pues no pertenece a Access, ni siquiera al Office,
sino más bien a Windows. Así que no le tengas miedo. A partir de Windows 98
ya viene instalado y es parte del sistema operativo.

He arreglado una función para que la pruebes en tu aplicación y que
transformará los argumentos del MsgBox que utiliza Access, convirtiéndolos
para el método PopUp de WSH. En realidad tienen 3 argumentos iguales, pero 2
cambian de orden. Los argumentos del MsgBox normal referentes a un archivo
de ayuda (los dos últimos) no existen en el PopUp de WSH. En cambio, este
gana un argumento opcional respecto al MsgBox, que hace que el mensaje sea
temporal. Es decir, que le puedes decir cuanto tiempo en segundos quieres
que permanezca en pantalla, para después desaparecer él solito. Bueno, para
probar puedes poner esta función en un módulo estandar, sin tener que
retocar nada de tus 150 MsgBox (a no ser que hayas utilizado los argumentos
del archivo de ayuda, que creo que no tendría sentido, dada la conversación
que estamos teniendo)

Public Function MsgBox(Prompt, _
Optional Buttons, _
Optional Title = "nombre aplicacion") _
As Integer

Dim wShell As Object 'New WshShell

Set wShell = CreateObject("WScript.Shell")

MsgBox = wShell.PopUp(Prompt, , Title, Buttons)

Set wShell = Nothing

End Function

pruébalo, a ver si te sirve y suerte.

Saludos desde Barcelona
Juan M. Afan de Ribera
<MVP Ms Access>


"Ede" escribió en el mensaje
news:#A#
Hola Juan,

el método sí que me sirve, aún así no se si lo usaré... por un par de
motivos:

1- no puedo / se controlar el mensaje de la ventana. lo que comentabas de
los argumentos del msgbox, que no sirven para el wScript.

2- hasta estos momentos desconocía esto del Windows Scripting Host, por lo
que me da un poco de respeto utilizarlo sin saber muy bien como funciona y
que puede suponer. En caso de errores no sabría como solucionarlo y no


puedo
arriesgarme.

He buscado por la ayuda de access, pero no he encontrado demasiada
información sobre el tema (posiblemente no haya buscado bien.)

Bueno, gracias por la solución.


Saludos de Ede.
Marc (Tarragona)


"Juan M. Afan de Ribera" escribió en el mensaje
news:
> Hola Ede,
>
> no sabía yo de esa limitación (bueno, el caso es que no utilizo el


msgbox
> para tanto texto). Imagino que poco se puede hacer para cambiar el


msgbox
> que utiliza Access (salvo alguna cosa con el API de Windows, no se). Lo
> único que se me ocurre es que pruebes esto - es el msgbox que utiliza el
> Windows Scripting Host:
>
> Dim wShell As Object 'New wshShell
> Dim respuesta As Integer
> Dim cad As String
> Dim i As Integer, j As Integer
>
> For i = 1 To 1024
> If j > 8 Then j = -1
> j = j + 1
> cad = cad & j
> Next
>
> cad = cad & " A PARTIR DE AQUI PASAMOS EL LIMITE DE 1024"
>
> Set wShell = CreateObject("WScript.Shell")
>
> respuesta = wShell.PopUp(cad)
>
> Set wShell = Nothing
>
> no se si podría servirte, dependerá de como tengas hechos los msgbox. Si
los
> tienes implementados de manera sencilla, por ejemplo: MsgBox "Texto de
> ayuda", no habría problema, pero si no es así, hay que tener en cuenta


que
> los argumentos del msgbox de VB y el PopUp de WScript no son del todo
> iguales.
>
> A ver si hay suerte.
>
> Saludos desde Barcelona
> Juan M. Afan de Ribera
> <MVP Ms Access>
>
>
> "Ede" escribió en el mensaje
> news:
> > hola JOSE,
> >
> > sí lo consideré, pero no me es muy operativo. Tengo unos 150


formularios
y
> > en cada formulario un boton en la parte superior que abre el msgbox de
> ayuda
> > de la pantalla. Si tengo que hacer un form de ayuda para cada uno


.
> ui,
> > que heavy. y tener un form "ayuda" con 150 campos invisibles que se


van
> > haciendo visibles en función del form que lo llama, lo encuentro muy
> liado,
> > además el numero de form principales irá aumentando.
> >
> > Lo que tengo hecho es un modulo con todos los msgbox, un
subprocedimiento
> > público para cada form y el botón de form llama al subprocedimento.


Así
> > también puedo ir actualizando la ayuda de manera más fácil (sólo
modifico
> el
> > módulo) y algunos form comparten el mismo msgbox de ayuda.
> >
> > bueno, no se si lo he explicado clarito, espero que sí. y quizá a
alguien
> le
> > pueda interesar el método.
> >
> > para mi problema, que es que algunos msgbox hechos en access '97


superan
> el
> > límite de caracteres admisible en XP, si no hay más respuestas optaré
por
> > dividirlos en dos msgbox, pero no me gusta mucho porque obligo a


aceptar
2
> > veces un cuadro de mensaje. bueno, si quieren tanta información,


que
> se
> > va hacer. Sino reduzco la ayuda y listo, pero tb es lástima.
> >
> > Bueno, gracias por la idea, JOSE.
> >
> > Saludos, Ede.
> > "Jose A. Gimenez [Py]" <gimenezj(arroba)hotmail(punto)com> escribió en
el
> > mensaje news:
> > > No consideraste crear un formulario de ayuda en lugar de un cuadro


de
> > > mensaje?
> > > Saludos
> > >
> > > JOSE
> > > "Ede" escribió en el mensaje
> > > news:
> > > > Hola,
> > > >
> > > > alguien conoce alguna manera para que el tamaño de carácteres de


un
> > msgbox
> > > > en XP (supungo que será igual en 2000) no esté limitado a unos


1024
> > > > caracteres. Este límite lo pone en la ayuda de access.
> > > >
> > > > el tema es que he convertido la aplicación desde '97 y esta
limitación
> > no
> > > > existía, y he utilizado bastantes msgbox como "ayudas" al usuario
que
> > > ahora
> > > > se quedan cortadas.
> > > >
> > > > saludos y muchas gracias.
> > > >
> > > > Ede
> > > > Marc -Tarragona-
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida