'Para copiar un valor
'en una tabla que se está abriendo:
DoCmd.OpenForm "EntregasF" ' abre el formulario EntregasF
Forms![NombreFormulario]![NombreCelda] = DATO 'copia el valor que esta en la variable DATO en la celda
'DATO del formulario NombreFormulario
cuando son 2 formularios (formulario y subformulario)
Forms![NombreFormulario]![NombreSubFormulario]![NombreCelda] = DATO
'aveces el formulario esta abierto pero no está focalizado, no se está trabajando en él
'entonces para poder tomar el valor, primero necesitamos ir al formulario:
Forms![NombreFormulario]![NombreCelda].SetFocus
'luego recien rescatamos el valor:
Forms![NombreFormulario]![NombreCelda] = DATO
viernes, 8 de septiembre de 2017
jueves, 31 de agosto de 2017
comando Buscarv (DLookUP) en los formularios
Ejemplo:
en un formulario cualquiera podemos llamar a un valor predeterminado en una tabla
Tabla: Nombre tabla TCtabla
Nombre columnas TC ValorTC FechaTC
CLP 1 11-10-2016
USD 626,5 11-10-2016
EUR 690,8 11-10-2016
si aplicamos en cualquier box del formulario
lo siguiente:
=DLookUp("ValorTC","TCtabla","TC = ""CLP""")
donde ValorTC es el dato que queremos llamar
TCtabla es el nombre de la Tabla
TC es el nombre de la columna en la tabla donde vamos a realizar la busqueda
CLP es el valor que buscará
así sin hacer nada, cada vez que abramos el formulario, nos traerá el dato instantaneo del Tipo de Cambio de CLP
también se puede agregar en visual basic en una subrutina:
de la siguiente tabla: Usuarios
Nombre de columnas: Usuario Nombre
1 Juan
2 Pedro
Dim varX As Variant 'creamos una variante para rescatar el valor
varX = DLookup("Nombre", _ 'Nombre es el nombre de la columna que tomaremos el valor
"Usuarios", "Usuario ='" & USUARIOO & "'") ' Usuarios es el nombre de la tabla o consulta, Usuario es el valor que buscaremos
donde USAURIOO es un valor tomado anteriormente de alguna celda o valor ingresado en otra celda en el formulario
o en el mismo formulario en una celda hacendo referencia a otra celda
=DLookUp("IdDeuda";"TipoDeudas";"TipoDeuda ='" & [TipoDeudaTemp] & "'")
donde IdDeuda es el dato que queremos llamar
TipoDeudas es el nombre de la Tabla
TipoDeuda es el nombre de la columna en la tabla donde vamos a realizar la busqueda
TipoDeudaTemp es el nombre de la otra celda , el valor que coincida
cuando la comparacion es un valor numerico:
=DLookUp("Nombre";"PersonasyEspecialidades";"EspecialistaID =" & [IDTemp] & "")
en un formulario cualquiera podemos llamar a un valor predeterminado en una tabla
Tabla: Nombre tabla TCtabla
Nombre columnas TC ValorTC FechaTC
CLP 1 11-10-2016
USD 626,5 11-10-2016
EUR 690,8 11-10-2016
si aplicamos en cualquier box del formulario
lo siguiente:
=DLookUp("ValorTC","TCtabla","TC = ""CLP""")
donde ValorTC es el dato que queremos llamar
TCtabla es el nombre de la Tabla
TC es el nombre de la columna en la tabla donde vamos a realizar la busqueda
CLP es el valor que buscará
así sin hacer nada, cada vez que abramos el formulario, nos traerá el dato instantaneo del Tipo de Cambio de CLP
también se puede agregar en visual basic en una subrutina:
de la siguiente tabla: Usuarios
Nombre de columnas: Usuario Nombre
1 Juan
2 Pedro
Dim varX As Variant 'creamos una variante para rescatar el valor
varX = DLookup("Nombre", _ 'Nombre es el nombre de la columna que tomaremos el valor
"Usuarios", "Usuario ='" & USUARIOO & "'") ' Usuarios es el nombre de la tabla o consulta, Usuario es el valor que buscaremos
donde USAURIOO es un valor tomado anteriormente de alguna celda o valor ingresado en otra celda en el formulario
o en el mismo formulario en una celda hacendo referencia a otra celda
=DLookUp("IdDeuda";"TipoDeudas";"TipoDeuda ='" & [TipoDeudaTemp] & "'")
donde IdDeuda es el dato que queremos llamar
TipoDeudas es el nombre de la Tabla
TipoDeuda es el nombre de la columna en la tabla donde vamos a realizar la busqueda
TipoDeudaTemp es el nombre de la otra celda , el valor que coincida
cuando la comparacion es un valor numerico:
=DLookUp("Nombre";"PersonasyEspecialidades";"EspecialistaID =" & [IDTemp] & "")
CUANDO ES UN ID:
'CONSU es la variable, ID es el nombre de la celda en el formulario
Dim CONSU As String 'creamos la variable CONSU
CONSU = ID 'tomamos el valor de la celda ID y lo agregamos a la variable CONSU
DoCmd.OpenForm "OtroFormulario", acNormal, , "IdDeuda IN(" & CONSU & ")"
'abrimos el formulario "OtroFormulario" que en el dato IdDeuda contenga el valor de CONSU
martes, 22 de agosto de 2017
forma de actualizar datos modifcados acNext acPrevious
Cuando se agregan datos en un formulario que provienen de una tabla o consulta
y uno quiere asegurarse que sean guardados:
se puede realizar una sub-rutina,
para que refresque los datos, sin necesidad de abrir y cerrar el formulario
DoCmd.GoToRecord , , acNext
DoCmd.GoToRecord , , acPrevious
con esto nos desplazamos al siguiente registro y volvemos inmediatamente al que estabamos antes
realizando un pequeño refresco de la informacion
y uno quiere asegurarse que sean guardados:
se puede realizar una sub-rutina,
para que refresque los datos, sin necesidad de abrir y cerrar el formulario
DoCmd.GoToRecord , , acNext
DoCmd.GoToRecord , , acPrevious
con esto nos desplazamos al siguiente registro y volvemos inmediatamente al que estabamos antes
realizando un pequeño refresco de la informacion
miércoles, 22 de marzo de 2017
VB atajo si se presenta un error
Cuando realizamos una rutina cualquiera, puede que por falta de datos u otro motivo se presente un error.
aqui una rutina para saltar el error y salir o mostrar el error por medio del sistema o mostrar un mensaje
On Error GoTo Err_RUTINA '[RUTINA puede ser cualquier nombre que le demos
'EJECUCIÓN DE LA RUTINA VB (cualquier rutina)
Exit_RUTINA : '[ si todo funciona bien la rutina sale si ningun problema
Exit Sub
Err_RUTINA: '[pero si se presenta error podemos finalizar de varias formas
'1 que muestre el error por sistema:
Err_RUTINA:
MsgBox Err.Description
Resume Next (para salir de la rutina)
'2 que muestre un mensaje personalizado:
Err_RUTINA:
MsgBox " ingrese el codigo correcto" 'por ejemplo
Resume Next (para salir de la rutina)
'EJEMPLO1:
'Entonces: Con el error del sistema:
On Error GoTo Err_RUTINA
'EJECUCIÓN DE LA RUTINA VB
Exit_RUTINA :
Exit Sub
Err_RUTINA:
MsgBox Err.Description
Resume Next
'EJEMPLO2:
'Con un error personalizado :
On Error GoTo Err_RUTINA
'EJECUCIÓN DE LA RUTINA VB
Exit_RUTINA :
Exit Sub
Err_RUTINA:
MsgBox " ingrese el codigo correcto"
Resume Next
'si simplemente uno quiere saltarse el error y que no diga nada
On Error GoTo Err_RUTINA
'EJECUCIÓN DE LA RUTINA VB
Exit_RUTINA :
Exit Sub
Err_RUTINA:
Resume Next
'EN ESTE CASO SIMPLEMENTE NO MUESTRA EL ERROR Y TAMPOCO MUESTRA NADA
'Ejemplo PRACTICO:
On Error GoTo Err_RUTINA
Dim BEZETA As String
Dim POSBZETA As String
BEZETA = [Text38]
POSBEZETA = [Text40]
[Text50] = BEZETA
[Text52] = POSBEZETA
Dim reffff As String
reffff = [Text78]
Text70 = reffff
Exit_RUTINA:
Exit Sub
Err_RUTINA:
MsgBox "Debe tener El valor en (Ref en SAP), valor tomado en MD04"
Resume Next
aqui una rutina para saltar el error y salir o mostrar el error por medio del sistema o mostrar un mensaje
On Error GoTo Err_RUTINA '[RUTINA puede ser cualquier nombre que le demos
'EJECUCIÓN DE LA RUTINA VB (cualquier rutina)
Exit_RUTINA : '[ si todo funciona bien la rutina sale si ningun problema
Exit Sub
Err_RUTINA: '[pero si se presenta error podemos finalizar de varias formas
'1 que muestre el error por sistema:
Err_RUTINA:
MsgBox Err.Description
Resume Next (para salir de la rutina)
'2 que muestre un mensaje personalizado:
Err_RUTINA:
MsgBox " ingrese el codigo correcto" 'por ejemplo
Resume Next (para salir de la rutina)
'EJEMPLO1:
'Entonces: Con el error del sistema:
On Error GoTo Err_RUTINA
'EJECUCIÓN DE LA RUTINA VB
Exit_RUTINA :
Exit Sub
Err_RUTINA:
MsgBox Err.Description
Resume Next
'EJEMPLO2:
'Con un error personalizado :
On Error GoTo Err_RUTINA
'EJECUCIÓN DE LA RUTINA VB
Exit_RUTINA :
Exit Sub
Err_RUTINA:
MsgBox " ingrese el codigo correcto"
Resume Next
'si simplemente uno quiere saltarse el error y que no diga nada
On Error GoTo Err_RUTINA
'EJECUCIÓN DE LA RUTINA VB
Exit_RUTINA :
Exit Sub
Err_RUTINA:
Resume Next
'EN ESTE CASO SIMPLEMENTE NO MUESTRA EL ERROR Y TAMPOCO MUESTRA NADA
'Ejemplo PRACTICO:
On Error GoTo Err_RUTINA
Dim BEZETA As String
Dim POSBZETA As String
BEZETA = [Text38]
POSBEZETA = [Text40]
[Text50] = BEZETA
[Text52] = POSBEZETA
Dim reffff As String
reffff = [Text78]
Text70 = reffff
Exit_RUTINA:
Exit Sub
Err_RUTINA:
MsgBox "Debe tener El valor en (Ref en SAP), valor tomado en MD04"
Resume Next
Suscribirse a:
Entradas (Atom)
Con un click pasar datos ordenados a una planilla google sheet excel
Dim http As Object Dim url As String Dim datos As String Dim codigoerlangenold As String ' 02 Dim codigofabricaaa A...
-
Dim http As Object Dim url As String Dim datos As String Dim codigoerlangenold As String ' 02 Dim codigofabricaaa A...
-
=(Len([Text11]))-(InStr(StrReverse([Text11]);"\"))+1 explico: el comando InStr solo busca de izquiera a derecha si teng...
-
DoCmd.OpenForm "NombredelFormulario" DoCmd.GoToRecord , , acNewRec form