Profesor Juan , desde Venezuela le escribo para desearle una feliz navidad y un próspero año nuevo . Y paderli a Dios , que le de mucha salud , para usted y su familia , y darle muchas gracias por todo este tiempo que usted dedica para dictar estos cursos por internet que son de gran ayuda , y tambien por la pronta repuesta que usted ha dado cada vez que tengo una duda . Mil gracias profesor.
Muchísimas gracias. Cuando comencé estos cursos contigo nunca pensé que iba a aprender mucho más programación que en mi universidad. Lo que haces no solamente sirve para Access sino para cualquier curso de programación. ¡Que Dios te guarde amigazo!
Hola Juan A pesar de que por algún motivo conozcamos algo sobre el funcionamiento de estos controles, tus explicaciones siguen siendo espectaculares, aclaran y reafirman el conocimiento. Nuevamente y por siempre gracias Humberto
por acá avanzando por este lado mientras compro mi ordenador nuevo para comenzar los cursos de actualización de EXCEL y ACCESS 2019... Ojala fuera solamente cuestión de apretar control pause para salir de algunos bucles infinitos que se presentan en la vida misma (Chile país de poetas) jajajajaaa... Otra muy entretenida clase... Saludos desde Sudamérica MAESTRO...
Por acá siguiendo una ruta de aprendizaje para perfeccionar mi base de datos construida Gracias a tus cursos de acceso básico y avanzado... restituyendo saberes de informática por momentos lento pero seguro como alguna vez me dijiste... Saludos Nuevamente desde Sudamérica.. MAESTRO....
Señor de las pildorasinformaticas, le digo así porque no se como se llama estoy siguiendo su videos de cursos VBA para Access y estoy aprendiendo bastante mi nombre es Bernardo de aqui de Hermosillo, Son, de mi país México y le estoy muy agradecido por compartir su conocimiento, con nosotros, a mi me gusta mucho la programación voy a seguir viendo todos sus videós y que Dios lo Bendiga Maestro y Muchas Gracias Bernardo....
Hola Juan. Estoy siguiendo tu espectacular curso paso a paso y me esta ayudando a dar mis primeros pasos en la programación. En este capitulo has hablado del resume 0 para hacer que vuelva al inputbox en caso que entremos un texto, esto funciona bien pero en caso que el numero que es demasiado grande no vuelve al inputbox. Entiendo que esto es así. Gracias por tu inestimable ayuda.
Gracias por el video, como podria establecer un bucle para un listbox como para un modulo de ventas es decir que haga busqueda en base de datos que retraiga y luego que en otra tabla se guarde el registro
Le felicito por su canal. He aprendido mucho de sus cursos. Ahora mismo tengo un problema con un bucle que he creado para pasar unos valores contenidos en una tabla a una plantilla Word. Resulta que cuando un campo está vacío, se interrumpe inesperadamente el bucle. Lo he probado con el WHILE y con el FOR, y no hay manera. ¿Hay alguna posibilidad de que cuando haya un campo vacío salte al siguiente? Gracias
Perdona pero siguiendo tu curso comentaste en el video anterior (video 7) que en este video ibas a explicar el uso de un control de errores mas sofisticado, que ha ocurrido lo pospones o ¿que? Gracias por tus estupendos videos
CDEI KNOTICA Hola !! Pues la verdad no recuerdo. hace tiempo que grabé estos vídeos. Lo que si se es que a lo largo del curso utilizo un control de errores completo, así que es probable que lo haya pospuesto. Un control de errores completo implica el uso de etiqueta, uso de instrucción GOTO, uso de instrucción EXIT SUB, instrucción Resume 0, y sobre todo uso de propiedad Number del objeto Err y uso de la propiedad Description del objeto Err. Imagino que se hablará de ello más adelante. Si terminas el curso y no hablo de ello me lo dices y te remito al enlace del curso VBA Excel donde si estoy seguro que hablo de ello y sería igual que en VBA Access. Un saludo
Hola Juan, Uno que en plena cuarentena 2020 está con estos videos. Lo primero felicitarte por este canal. Yo he hecho los cursos de Excel, Access básico, Access Avanzado y ahora estoy con este. Es una maravilla lo bien que explicas. Dicho esto, una pregunta. A mí no me funciona el GoTo. Lo escribo todo exactamente igual que tú pero no me salen los mensajes de MsgBox sino que me salta el mensaje de error habitual. Estoy con Access 2013, no sé si eso tendrá que ver. Un saludo y gracias!
Gracias por el comentario Miguel. No, la versión no tiene nada que ver. Debe haber algo en tu código que no estás viendo. Poco te puedo ayudar con esto son ver el código. Un saludo!
Profe que programa usa para estar colocando esos comentarios encima del video? Me parece muy bueno sus cursos realmente los disfruto estos de vba me han ayudado a refresacar cosas que ya habia aprendido.
Buenas me gustaria saber si esta de mal inicializar en una misma linea de esta manera Dim numero, contador, resultado As Integer note que no me funcionaba el Resume 0, al tener las variables inicializadas asi, cuando las puse de esta manera Dim numero As Integer, contador As Integer, resultado As Integer ya si funcionaba el Resume 0
Estimado Juan, En el Minuto 22.54 "Resume 0" , muy bien entendido lo tengo pero me da la curiosidad de saber Resume next ha visto en algunos codigos pero no le he podido interpretar. Gracias
Hola !! resume next mueve el flujo de ejecución del programa a la siguiente línea next. Por ejemplo cuando te encuentras dentro de un bucle; en el momento de leer "Resume Next" automáticamente sales fuera del bucle a la siguiente línea next que se encuentre en el código. Un saludo!!
ESTOY REVISANDO ESTE CODIGO Y VEO QUE AL FINAL DEL CODIGO, EXISTE "RESUME NEXT" ESO ES LO QUE QUIERO ENTENDER . SI TODO EL CODIGO ESTA CONTROLADO ENTONCES QUE FUNCION CUMPLE AL FINAL? Ejemplo. "Resume 0" va ala linea donde se produce el error. On Error GoTo ErrorHandler ' Habilitar la rutina de tratamiento de errores. Dim x As Integer Dim y As Integer x = 32 y = 0 Dim z As Integer z = x / y ' Crea un error de división por cero On Error GoTo 0 ' Desactivar la captura de errores. On Error Resume Next ' la interceptación de errores Defer. z = x / y ' Crea un error de división por cero de nuevo If Err.Number = 6 Then ' Informará al usuario de lo que sucedió. A continuación, desactive el objeto Err. Dim Msg As String Msg = "Se ha producido un error al intentar dividir por cero!" MsgBox Msg, , "ss", "Error de división por cero" Err.Clear 'campos de objeto Err claras. End If Exit Sub 'Salida para evitar manejador. ErrorHandler: ' De gestión de errores rutina. Select Case Err.Number ' Evaluate error number. Case 6 ' Divide by zero error MsgBox ("You attempted to divide by zero!") ' Insert code to handle this error Case Else ' Insert code to handle other situations here... End Select Resume Next ' Reanudar en la ejecución misma línea 'que provocó el error.
Hola Muchas gracias por los video. Tengo un problema he seguido al pie de la letra el código pero me sigue saliendo el erro 6 de desbordamiento. Lo he revisado y es exactamente igual. Qué crees que pueda ser? Gracias y saludos
Hola. A ver si consigo explicar bien lo que quiero decir, :) porque hay un fallo en tiempo de ejecución que no se contempla ni en el vídeo anterior ni en este. En el InputBox, a diferencia del MsgBox, en el que puedes elegir los botones que quieres que salgan y en el que puedes recoger el valor del botón pulsado para luego tratarlo de una manera u otra, salen por defecto dos botones: Aceptar y Cancelar. El fallo que encuentro es que cuando pulsas el botón Aceptar sin poner ningún dato en el cuadro de texto o si pulsas el botón Cancelar habiendo introducido o no algún valor en dicho cuadro, salta a la etiqueta de control de errores err.number = 13 (no coinciden los tipos), cuyo mensaje es "Has introducido texto", cuando en realidad no es así, y si pulso intro, con el Resume 0 que hay después de este mensaje vuelve a pedirme que introduzca un número, y la única forma que hay de interrumpir el procedimiento es o con Ctrl+Pause o poniendo un número cualquiera. Mi pregunta es, ¿hay alguna manera de recoger el valor del botón que se pulsa en el InputBox para tratarlo de forma independiente a los errores nº 6 y 13? Es decir, que si pulso Cancelar pues que se detenga la ejecución del procedimiento (para eso se supone que es ese botón) o que si le doy a Aceptar con el cuadro de texto del InputBox en blanco no me vaya al código que tenga en el err.number = 13. Gracias de antemano.
Siguiendo este curso todo me funciona sin embargo cuando coloco el resume 0 me arroja un error y queda en un bucle jamas vuelve al lugar donde se produjo el error utilizo access 2016
Sub uso_wile() On Error GoTo mietiqueta Dim numero As Integer Dim contador As Integer Dim resultado As Integer numero = InputBox("Introdusca el numero por favor") contador = numero - 1 resultado = numero While contador > 1 resultado = resultado * contador contador = contador - 1
Wend MsgBox "El factorial de" & numero & "es de " & resultado Exit Sub mietiqueta: If Err.Number = 6 Then MsgBox "El numero es demasiado grande" ElseIf Err.Number = 13 Then MsgBox "Escribiste un texto " Resume 0 End If End Sub
Usted es un genio no solo por lo que enseña si no por la manera tan clara como la hace,Dios lo bendiga.
Muchísimas gracias por el comentario. un saludo
Lo que batallé en entender en clase de programación, con sus videos lo estoy comprendiendo claramente
Muchas gracias por compartir este curso :)
Profesor Juan , desde Venezuela le escribo para desearle una feliz navidad y un próspero año nuevo . Y paderli a Dios , que le de mucha salud , para usted y su familia , y darle muchas gracias por todo este tiempo que usted dedica para dictar estos cursos por internet que son de gran ayuda , y tambien por la pronta repuesta que usted ha dado cada vez que tengo una duda . Mil gracias profesor.
Muchísimas gracias!!! Te deseo también felices fiestas y un afectuoso saludo
Muchísimas gracias. Cuando comencé estos cursos contigo nunca pensé que iba a aprender mucho más programación que en mi universidad. Lo que haces no solamente sirve para Access sino para cualquier curso de programación. ¡Que Dios te guarde amigazo!
Hola Juan
A pesar de que por algún motivo conozcamos algo sobre el funcionamiento de estos controles, tus explicaciones siguen siendo espectaculares, aclaran y reafirman el conocimiento.
Nuevamente y por siempre gracias
Humberto
Humberto Chinchilla Mora Gracias como siempre Humberto. Un saludo
por acá avanzando por este lado mientras compro mi ordenador nuevo para comenzar los cursos de actualización de EXCEL y ACCESS 2019... Ojala fuera solamente cuestión de apretar control pause para salir de algunos bucles infinitos que se presentan en la vida misma (Chile país de poetas) jajajajaaa... Otra muy entretenida clase... Saludos desde Sudamérica MAESTRO...
Por acá siguiendo una ruta de aprendizaje para perfeccionar mi base de datos construida Gracias a tus cursos de acceso básico y avanzado... restituyendo saberes de informática por momentos lento pero seguro como alguna vez me dijiste... Saludos Nuevamente desde Sudamérica.. MAESTRO....
Gracias Alfredo por seguir mis vídeos. Aquí tenemos un refrán que dice: "vísteme despacio que tengo prisa". Pues eso, lentos pero seguros. Un saludo!
Me encanto esta explicación... profe muchas gracias
Muy buen educador, sigo aprendiendo. gracias
+Carlos Antonio Cifuentes Gracias !! Un saludo
Señor de las pildorasinformaticas, le digo así porque no se como se llama estoy siguiendo su videos de cursos VBA para Access y estoy aprendiendo bastante mi nombre es Bernardo de aqui de Hermosillo, Son, de mi país México y le estoy muy agradecido por compartir su conocimiento, con nosotros, a mi me gusta mucho la programación voy a seguir viendo todos sus videós y que Dios lo Bendiga Maestro y Muchas Gracias Bernardo....
Hola Bernardo. Me llamo Juan. Me alegro de que te gusten los cursos y que te estén sirviendo para aprender. Un cordial saludo!!
Hola Juan.
Estoy siguiendo tu espectacular curso paso a paso y me esta ayudando a dar mis primeros pasos en la programación.
En este capitulo has hablado del resume 0 para hacer que vuelva al inputbox en caso que entremos un texto, esto funciona bien pero en caso que el numero que es demasiado grande no vuelve al inputbox. Entiendo que esto es así.
Gracias por tu inestimable ayuda.
Buen vídeo.
Gracias por el video, como podria establecer un bucle para un listbox como para un modulo de ventas es decir que haga busqueda en base de datos que retraiga y luego que en otra tabla se guarde el registro
Excelente....
+John Sobrevia Gracias !!
Le felicito por su canal. He aprendido mucho de sus cursos. Ahora mismo tengo un problema con un bucle que he creado para pasar unos valores contenidos en una tabla a una plantilla Word. Resulta que cuando un campo está vacío, se interrumpe inesperadamente el bucle. Lo he probado con el WHILE y con el FOR, y no hay manera. ¿Hay alguna posibilidad de que cuando haya un campo vacío salte al siguiente? Gracias
¿has probado con evaluar si el campo está vacío con un condicional dentro del bucle? Saludos
Hola Juan. Si la variable numero la declare tipo integer, ¿Porque cuando introduzco un decimal en el inputbox, el while se ejecuta sin problema?
Perdona pero siguiendo tu curso comentaste en el video anterior (video 7) que en este video ibas a explicar el uso de un control de errores mas sofisticado, que ha ocurrido lo pospones o ¿que? Gracias por tus estupendos videos
CDEI KNOTICA Hola !! Pues la verdad no recuerdo. hace tiempo que grabé estos vídeos. Lo que si se es que a lo largo del curso utilizo un control de errores completo, así que es probable que lo haya pospuesto.
Un control de errores completo implica el uso de etiqueta, uso de instrucción GOTO, uso de instrucción EXIT SUB, instrucción Resume 0, y sobre todo uso de propiedad Number del objeto Err y uso de la propiedad Description del objeto Err.
Imagino que se hablará de ello más adelante. Si terminas el curso y no hablo de ello me lo dices y te remito al enlace del curso VBA Excel donde si estoy seguro que hablo de ello y sería igual que en VBA Access.
Un saludo
Lo explica en el minuto 14.control de errores explica el goto-etiqueta
Hola Juan,
Uno que en plena cuarentena 2020 está con estos videos. Lo primero felicitarte por este canal. Yo he hecho los cursos de Excel, Access básico, Access Avanzado y ahora estoy con este. Es una maravilla lo bien que explicas.
Dicho esto, una pregunta. A mí no me funciona el GoTo. Lo escribo todo exactamente igual que tú pero no me salen los mensajes de MsgBox sino que me salta el mensaje de error habitual.
Estoy con Access 2013, no sé si eso tendrá que ver.
Un saludo y gracias!
Gracias por el comentario Miguel. No, la versión no tiene nada que ver. Debe haber algo en tu código que no estás viendo. Poco te puedo ayudar con esto son ver el código. Un saludo!
Profe que programa usa para estar colocando esos comentarios encima del video? Me parece muy bueno sus cursos realmente los disfruto estos de vba me han ayudado a refresacar cosas que ya habia aprendido.
El programa se llama zoomit. Me alegro de que te gusten los vídeos. Un saludo!!
Buenas me gustaria saber si esta de mal inicializar en una misma linea de esta manera
Dim numero, contador, resultado As Integer
note que no me funcionaba el Resume 0, al tener las variables inicializadas asi, cuando las puse de esta manera
Dim numero As Integer, contador As Integer, resultado As Integer
ya si funcionaba el Resume 0
Estimado Juan, En el Minuto 22.54 "Resume 0" , muy bien entendido lo tengo pero me da la curiosidad de saber Resume next ha visto en algunos codigos pero no le he podido interpretar. Gracias
Hola !! resume next mueve el flujo de ejecución del programa a la siguiente línea next. Por ejemplo cuando te encuentras dentro de un bucle; en el momento de leer "Resume Next" automáticamente sales fuera del bucle a la siguiente línea next que se encuentre en el código. Un saludo!!
Muchas Gracias!
Saludos desde Peru-Cajamarca
Pero he visto esta linea de codigo "Resume next" no en un blucle . Mi pregunta es : ¿Solo se puede usar dentro de un blucle ?
No, puedes usarla donde quieras. Lo más habitual es dentro de un bucle.
ESTOY REVISANDO ESTE CODIGO Y VEO QUE AL FINAL DEL CODIGO, EXISTE "RESUME NEXT" ESO ES LO QUE QUIERO ENTENDER . SI TODO EL CODIGO ESTA CONTROLADO ENTONCES QUE FUNCION CUMPLE AL FINAL? Ejemplo. "Resume 0" va ala linea donde se produce el error.
On Error GoTo ErrorHandler ' Habilitar la rutina de tratamiento de errores.
Dim x As Integer
Dim y As Integer
x = 32
y = 0
Dim z As Integer
z = x / y ' Crea un error de división por cero
On Error GoTo 0 ' Desactivar la captura de errores.
On Error Resume Next ' la interceptación de errores Defer.
z = x / y ' Crea un error de división por cero de nuevo
If Err.Number = 6 Then
' Informará al usuario de lo que sucedió. A continuación, desactive el objeto Err.
Dim Msg As String
Msg = "Se ha producido un error al intentar dividir por cero!"
MsgBox Msg, , "ss", "Error de división por cero"
Err.Clear 'campos de objeto Err claras.
End If
Exit Sub 'Salida para evitar manejador.
ErrorHandler: ' De gestión de errores rutina.
Select Case Err.Number ' Evaluate error number.
Case 6 ' Divide by zero error
MsgBox ("You attempted to divide by zero!")
' Insert code to handle this error
Case Else
' Insert code to handle other situations here...
End Select
Resume Next ' Reanudar en la ejecución misma línea
'que provocó el error.
Hola
Muchas gracias por los video. Tengo un problema he seguido al pie de la letra el código pero me sigue saliendo el erro 6 de desbordamiento. Lo he revisado y es exactamente igual. Qué crees que pueda ser?
Gracias y saludos
Ya lo he solucionado. Gracias
Hola. A ver si consigo explicar bien lo que quiero decir, :) porque hay un fallo en tiempo de ejecución que no se contempla ni en el vídeo anterior ni en este. En el InputBox, a diferencia del MsgBox, en el que puedes elegir los botones que quieres que salgan y en el que puedes recoger el valor del botón pulsado para luego tratarlo de una manera u otra, salen por defecto dos botones: Aceptar y Cancelar. El fallo que encuentro es que cuando pulsas el botón Aceptar sin poner ningún dato en el cuadro de texto o si pulsas el botón Cancelar habiendo introducido o no algún valor en dicho cuadro, salta a la etiqueta de control de errores err.number = 13 (no coinciden los tipos), cuyo mensaje es "Has introducido texto", cuando en realidad no es así, y si pulso intro, con el Resume 0 que hay después de este mensaje vuelve a pedirme que introduzca un número, y la única forma que hay de interrumpir el procedimiento es o con Ctrl+Pause o poniendo un número cualquiera. Mi pregunta es, ¿hay alguna manera de recoger el valor del botón que se pulsa en el InputBox para tratarlo de forma independiente a los errores nº 6 y 13? Es decir, que si pulso Cancelar pues que se detenga la ejecución del procedimiento (para eso se supone que es ese botón) o que si le doy a Aceptar con el cuadro de texto del InputBox en blanco no me vaya al código que tenga en el err.number = 13. Gracias de antemano.
Ejercicio del Factorial de un número xdddddd
Siguiendo este curso todo me funciona sin embargo cuando coloco el resume 0 me arroja un error y queda en un bucle jamas vuelve al lugar donde se produjo el error utilizo access 2016
me sucede igual access 2016 :/
Sub uso_wile()
On Error GoTo mietiqueta
Dim numero As Integer
Dim contador As Integer
Dim resultado As Integer
numero = InputBox("Introdusca el numero por favor")
contador = numero - 1
resultado = numero
While contador > 1
resultado = resultado * contador
contador = contador - 1
Wend
MsgBox "El factorial de" & numero & "es de " & resultado
Exit Sub
mietiqueta:
If Err.Number = 6 Then
MsgBox "El numero es demasiado grande"
ElseIf Err.Number = 13 Then
MsgBox "Escribiste un texto "
Resume 0
End If
End Sub
Excelente.