Hola Juan Se debe entender que se puede capturar el valor de una variable tanto con MsgBox como con InputBox ? Excelente, como siempre. Gracias Humberto
Humberto Chinchilla Mora Hola !! La función MsgBox puede mostrar el valor almacenado en una variable. La función InputBox no muestra, sino que almacena valores en variables. MsgBox es una función de salida de datos porque información que está almacenada en variables sale al exterior (para que el usuario pueda ver los valores). InputBox es una función de entrada de datos porque almacena información exterior (valores) en variables. En definitiva, con InputBox no capturas valores de variables, sino que los almacenas. Es MsgBox el que captura esos valores. Con un poco más de práctica seguro que lo irás viendo. Un saludo
Muchas gracias por el curso, quería una variable que cambien precios de venta menorista 6 sin necesidad que el operador haga automáticamente que varié el precios de venta según la cantidad
Quería comentar una cosa sobre las llamadas a procedimientos con parámetros tanto por valor como por referencia y es en cuanto a enviar parámetros Opcionales (Optional), que juraría que no se ha comentado aquí (lo digo porque no he visto todo este curso, por otra parte tan interesante) y que resulta interesante sobre todo para mí que vengo del VBA de Excel en el que solemos usarlo mucho. Saludos a todos
CDEI KNOTICA Hola !! Es cierto, es un detalle importante que no se comenta en el curso. Lo revisaré en algún anexo que incluya. En VBA los parámetros pasan por defecto por referencia. Si queremos que pasen por valor la sintaxis sería: Public Sub nombre_procedimiento (ByVal nombre_parametro as Integer) (por ejemplo....) un saludo
Buen día, gracias por darse le tiempo y mostrar estos video que son muy interesantes, yo tengo una pregunta sobre el filtro de este video, desarrolle el formulario de acuerdo al video, sin embargo cuando corro la aplicación y selecciono por ejemplo ferretería, de inmediato me aparece una venta que su titulo es "introduzca el valor del parámetro, me aparece el campo a llenar llamado sección, lo lleno con ferretería también y me manda a la pantalla donde no se ha generado filtro alguno, es normal que aparezca esa venta?, la versión de Access es la 2013. te pego el código para que veas que es el mismo que aparece durante el curso. Private Sub filtra_secciones_Click() Dim sentencia As String If FILTRA_SECCIONES.Value = "CERÁMICA" Then sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='CERÁMICA'" ElseIf FILTRA_SECCIONES.Value = "CONFECCIÓN" Then sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='CONFECCIÓN'" ElseIf FILTRA_SECCIONES.Value = "DEPORTES" Then sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='DEPORTES'" ElseIf FILTRA_SECCIONES.Value = "FERRETERÍA" Then sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='FERRETERÍA'" ElseIf FILTRA_SECCIONES.Value = "JUGUETERÍA" Then sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='JUGUETERÍA'" ElseIf FILTRA_SECCIONES.Value = "OFICINA" Then sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='OFICINA'" End If DoCmd.ApplyFilter sentencia End Sub Gracias por su atención y seguimos en contacto.
Guillermo Hernández Sánchez El campo sección está sin acentuar en todos los condicionales del código. En la BBDD el campo está acentuado. Revisa esto y mira si funciona después. Un saludo
Juan muy buenos tus videos, una consulta, cuando abro el formulario y el primer registro tiene un precio mayor, me sale el msgbox antes de mostrar el registro, no encuentro donde cometí el error
Te refieres a un registro o a un conjunto de registros? En principio desde VBA puedes ejecutar SQL y esto sería una consulta de actualización que podrías llamar desde cualquier evento de un determinado objeto.
Como se podría crear un procedimiento donde en referencia a los datos de la tabla DATOS_CREDITO genere registro a otra tabla de amortización usando bucles, ejemplo, un crédito a seis meses deberá crear seis registro detallando el número de cuota y el valor de cada cuota ?
Gracias por el tuto aprendí mucho. Pero tengo una consulta, en el momento que el inputbox me pide el valor de descuento, si el usuario no ingresa ningún valor en el inputBox y presiona aceptar sale un error como valido eso para que me de un mensaje y que me diga que ese campo del inputBox no puede estar vació.
Con control de errores. Se ve más adelante en el curso. Al salir el mensaje de error verás que sale una descripción y un número de error. Con esa información podemos controlar qué debe hacer el programa en caso de que surja ese error en concreto. pero como digo se ve más adelante. Un saludo!!
Hola hola, antes de nada quiero felicitarte por el curso, me parece fantastico. No veo como descargar las tablas que vas a utilizar para los ejemplos a partir de este tema del curso. Has puesto alg'un enlace en algun video... Muchas gracias por adelantado.
+victor lmll Hola !! La BBDD Gestión de Pedidos puedes descargarla aquí: www.pildorasinformaticas.es/archivos/accessbas/gestion_ejercicios.zip Y también en este otro enlace: www.pildorasinformaticas.es/archivos/accessav/gestion_formacion.zip Un saludo
quisiera solicitar un código para traspasar los datos introducidos en un formulario de una tabla (Maquinas) a otra (Maq_Est).En el formulario Detalles de maquina, dependiente de la Tabla Maquina tenemos varios campos, entre ellos:Cod_Maq=Texto 5 caracteresCompra=Fecha de compra.Quisiera que al perder el foco al introducir la fecha de compra, me creara un nuevo registro en la tabla Maq_Estab en los siguientes campos de esta taba:Fecha_Ini_maqui=Fecha de compra Cod_Maq=Cod_Maq (ambos están en las dos tablas) Cod_Est=00000 solo está en la tabla Maq_Estab pero siempre es el mismo (corresponde a ALMACEN).Lo que pretendo es que al dar de alta una nueva máquina me la instale en el almacén.Gracias
Debes crear varias sentencias insert into que inserte los datos en dos o más tablas. Estas instrucciones las puedes poner bajo el mismo evento por ejemplo al pulsar un botón. Explicar esto por aquí puede ser muy largo, pero en el curso se explica lo necesario para poderlo hacer. Un saludo!!
Tengo Algo así un Producto que quiero vende por 2300 seria precio menorista hasta 6 del mismo producto, pero pasando seis seria precios mayorista de 2000 entonce que me imprima en el campo total automáticamente según la cantidad de venta algo producto < 6 = cantidad * menorista producto > 6 = cantidad * mayorista entonce la repuesta en el mismo campo llamada total seria como un variable
Hola. Crea en tu formulario un cuadro de texto o un menú desplegable donde aparezca la cantidad. Una vez hecho esto lo demás es fácil: con un if evaluar la cantidad que hay en el cuadro o el desplegable y en función de si es 6 realizar el cálculo correspondiente que a su vez aparecerá en el cuadro de texto total. En los diferentes vídeos del curso hay ejemplos muy similares. Un saludo
Private Sub Form_Current() Dim respuesta As Integer If PRECIO.Value > 300 Then AVISO.Visible = True respuesta = MsgBox("Quieres rebajar el precio?", vbYesNo) If respuesta = vbYes Then PRECIO.Value = PRECIO.Value - InputBox("Introdusca el valor a rebajar")
Else MsgBox "El precio no sera rebajado" End If Else AVISO.Visible = False End If End Sub
me encantan tus videos! ahora soy todo un profesional gracias a ti!
Gracias ! no tengo palabras para agradecer y felicitarte por tu trabajo. Deseando ver el siguiente.
En breve. Un saludo
Impresionante juan. No me canso de decirtelo en todos los videos
Estupendo como todos!!!! y deseando ver el siguiente
Gracias por estos fabulosos videos !!!
5:20 Evento de formulario: "al activar registro"
6:31 Evento de formulario: "al activar registro" còdigo
12:10 Parametros de MsgBox
20:48 etiqueta de aviso programada
me has sacado de un problema. Gracias
+Carlos Antonio Cifuentes Me alegro !! Un saludo
Hola Juan
Se debe entender que se puede capturar el valor de una variable tanto con MsgBox como con InputBox ?
Excelente, como siempre. Gracias
Humberto
Humberto Chinchilla Mora Hola !! La función MsgBox puede mostrar el valor almacenado en una variable. La función InputBox no muestra, sino que almacena valores en variables. MsgBox es una función de salida de datos porque información que está almacenada en variables sale al exterior (para que el usuario pueda ver los valores). InputBox es una función de entrada de datos porque almacena información exterior (valores) en variables.
En definitiva, con InputBox no capturas valores de variables, sino que los almacenas. Es MsgBox el que captura esos valores.
Con un poco más de práctica seguro que lo irás viendo. Un saludo
pildorasinformaticas Juan mil gracias. Queda Claro
Humberto
Muchas gracias por el curso, quería una variable que cambien precios de venta menorista 6 sin necesidad que el operador haga automáticamente que varié el precios de venta según la cantidad
No entiendo del todo bien la pregunta. pero creo que lo que necesitas es una consulta de actualización. Un saludo
Quería comentar una cosa sobre las llamadas a procedimientos con parámetros tanto por valor como por referencia y es en cuanto a enviar parámetros Opcionales (Optional), que juraría que no se ha comentado aquí (lo digo porque no he visto todo este curso, por otra parte tan interesante) y que resulta interesante sobre todo para mí que vengo del VBA de Excel en el que solemos usarlo mucho. Saludos a todos
CDEI KNOTICA Hola !! Es cierto, es un detalle importante que no se comenta en el curso. Lo revisaré en algún anexo que incluya.
En VBA los parámetros pasan por defecto por referencia. Si queremos que pasen por valor la sintaxis sería:
Public Sub nombre_procedimiento (ByVal nombre_parametro as Integer) (por ejemplo....)
un saludo
Buen día, gracias por darse le tiempo y mostrar estos video que son muy interesantes, yo tengo una pregunta sobre el filtro de este video, desarrolle el formulario de acuerdo al video, sin embargo cuando corro la aplicación y selecciono por ejemplo ferretería, de inmediato me aparece una venta que su titulo es "introduzca el valor del parámetro, me aparece el campo a llenar llamado sección, lo lleno con ferretería también y me manda a la pantalla donde no se ha generado filtro alguno, es normal que aparezca esa venta?, la versión de Access es la 2013.
te pego el código para que veas que es el mismo que aparece durante el curso.
Private Sub filtra_secciones_Click()
Dim sentencia As String
If FILTRA_SECCIONES.Value = "CERÁMICA" Then
sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='CERÁMICA'"
ElseIf FILTRA_SECCIONES.Value = "CONFECCIÓN" Then
sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='CONFECCIÓN'"
ElseIf FILTRA_SECCIONES.Value = "DEPORTES" Then
sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='DEPORTES'"
ElseIf FILTRA_SECCIONES.Value = "FERRETERÍA" Then
sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='FERRETERÍA'"
ElseIf FILTRA_SECCIONES.Value = "JUGUETERÍA" Then
sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='JUGUETERÍA'"
ElseIf FILTRA_SECCIONES.Value = "OFICINA" Then
sentencia = "SELECT * FROM PRODUCTOS WHERE SECCION='OFICINA'"
End If
DoCmd.ApplyFilter sentencia
End Sub
Gracias por su atención y seguimos en contacto.
Guillermo Hernández Sánchez El campo sección está sin acentuar en todos los condicionales del código. En la BBDD el campo está acentuado. Revisa esto y mira si funciona después. Un saludo
Juan muy buenos tus videos, una consulta, cuando abro el formulario y el primer registro tiene un precio mayor, me sale el msgbox antes de mostrar el registro, no encuentro donde cometí el error
Buenos ejemplos, saludos.Hay alguna manera de actualizar la tabla en vba? para no tener que cambiar de registro para que se actualice.
Te refieres a un registro o a un conjunto de registros?
En principio desde VBA puedes ejecutar SQL y esto sería una consulta de actualización que podrías llamar desde cualquier evento de un determinado objeto.
Como se podría crear un procedimiento donde en referencia a los datos de la tabla DATOS_CREDITO genere registro a otra tabla de amortización usando bucles, ejemplo, un crédito a seis meses deberá crear seis registro detallando el número de cuota y el valor de cada cuota ?
Gracias por el tuto aprendí mucho. Pero tengo una consulta, en el momento que el inputbox me pide el valor de descuento, si el usuario no ingresa ningún valor en el inputBox y presiona aceptar sale un error como valido eso para que me de un mensaje y que me diga que ese campo del inputBox no puede estar vació.
Con control de errores. Se ve más adelante en el curso. Al salir el mensaje de error verás que sale una descripción y un número de error. Con esa información podemos controlar qué debe hacer el programa en caso de que surja ese error en concreto. pero como digo se ve más adelante. Un saludo!!
Ok. Gracias se gire viendo los videos
Hola hola, antes de nada quiero felicitarte por el curso, me parece fantastico. No veo como descargar las tablas que vas a utilizar para los ejemplos a partir de este tema del curso. Has puesto alg'un enlace en algun video...
Muchas gracias por adelantado.
+victor lmll Hola !! La BBDD Gestión de Pedidos puedes descargarla aquí:
www.pildorasinformaticas.es/archivos/accessbas/gestion_ejercicios.zip
Y también en este otro enlace:
www.pildorasinformaticas.es/archivos/accessav/gestion_formacion.zip
Un saludo
quisiera solicitar un código para traspasar los datos introducidos en un formulario de una tabla (Maquinas) a otra (Maq_Est).En el formulario Detalles de maquina, dependiente de la Tabla Maquina tenemos varios campos, entre ellos:Cod_Maq=Texto 5 caracteresCompra=Fecha de compra.Quisiera que al perder el foco al introducir la fecha de compra, me creara un nuevo registro en la tabla Maq_Estab en los siguientes campos de esta taba:Fecha_Ini_maqui=Fecha de compra Cod_Maq=Cod_Maq (ambos están en las dos tablas) Cod_Est=00000 solo está en la tabla Maq_Estab pero siempre es el mismo (corresponde a ALMACEN).Lo que pretendo es que al dar de alta una nueva máquina me la instale en el almacén.Gracias
Debes crear varias sentencias insert into que inserte los datos en dos o más tablas. Estas instrucciones las puedes poner bajo el mismo evento por ejemplo al pulsar un botón. Explicar esto por aquí puede ser muy largo, pero en el curso se explica lo necesario para poderlo hacer. Un saludo!!
Tengo Algo así un Producto que quiero vende por 2300 seria precio menorista hasta 6 del mismo producto, pero pasando seis seria precios mayorista de 2000 entonce que me imprima en el campo total automáticamente según la cantidad de venta algo producto < 6 = cantidad * menorista producto > 6 = cantidad * mayorista entonce la repuesta en el mismo campo llamada total seria como un variable
Hola. Crea en tu formulario un cuadro de texto o un menú desplegable donde aparezca la cantidad. Una vez hecho esto lo demás es fácil: con un if evaluar la cantidad que hay en el cuadro o el desplegable y en función de si es 6 realizar el cálculo correspondiente que a su vez aparecerá en el cuadro de texto total. En los diferentes vídeos del curso hay ejemplos muy similares.
Un saludo
Private Sub Form_Current()
Dim respuesta As Integer
If PRECIO.Value > 300 Then
AVISO.Visible = True
respuesta = MsgBox("Quieres rebajar el precio?", vbYesNo)
If respuesta = vbYes Then
PRECIO.Value = PRECIO.Value - InputBox("Introdusca el valor a rebajar")
Else
MsgBox "El precio no sera rebajado"
End If
Else
AVISO.Visible = False
End If
End Sub
12:40 help msaccess