Archivo de la etiqueta: Access

Control de campos calculados en informes de Access

Cuando queremos restringir los valores que nos devuelve un informe de Microsoft Access en función de del valor de un campo es sencillo, ponemos las condiciones en una consulta que actúe como fuente de informe y ya está. Sin embargo el tema se complica un poco cuando el control lo que queremos realizar en función del valor de un campo que vamos a calcular en la sección Detalle del Report.

En este caso podemos hacer poniendo un campo de selección en el formulario, por ejemplo el fraTipo que se utiliza en el ejemplo y que pregunta por dos opciones (1.Todos los socios o 2.solo los pendiente de pago).

Seguidamente en el evento Detalle_Format incluiremos el siguiente código:

[VB]
    If Form_CLGI0201Cobros.fraTipo = 2 Then
        If txtPendiente = 0 Then
            Cancel = True
            Exit Sub
        End If
    End If
[/VB]

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Importar DBF a Microsoft Access. Problemas con Acentos y Carácteres Especiales

Al importar o vincular ficheros DBF como tablas de Access es frecuente encontrase con el problema de que los acentos y caracteres especiales como ª,º, etc. no se visualizan correcmente en las tablas destino. ESto es debido a que el juego de caracteres de los ficheros DBF es distinto al utilizado por Microsoft Access.

Sin embargo la solución es muy sencilla y no requiere la adquisición de programas de terceros o el desarrollo de rutinas de conversión. Basta con hacer los siguientes pasos para dejarlo solucionado:

  • Acceder al registro del sistema con Regedit
  • Ir a la clave siguiente según versión de Microsoft Access:
    • 2003: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase]
    • 2007: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity
      Engine\Engines\Xbase]
  • Sustituir el valor DataCodePage: OEM por el valor: ANSI
  • Abrimos la base de datos Access y veremos como los caracteres de las tablas vinculadas ya se muestran correctamente.

Esto es aplicable por ejemplo al importar datos de las aplicaciones de SP como Contaplus o FacturaPlus.

 

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Vincular o importar tablas de MySQL en Microsoft Access

Si necesitamos vincular o importar tablas de MySQL en Microsoft Access para desarrollar algún tipo de traspaso, crear consultas o informes en Access con datos almacenados en MySQL lo podemos hacer con la instalación de una ODBC y siguiente los siguientes pasos

  1. Tener instalado en nuestro PC un Servidor MySQL como wamp.
  2. Instalar MyODBC, una utilidad gratuita que nos instala en nuestro PC Windows la ODBC para conectarse a MySQL
  3. Ir desde el Panel de Control a Herramientas Administrativas>Orígenes de datos. En la pestaña DSN de Usuario hacer clic en Agregar y seleccionar MySQL ODBC Driver.
  4. Ir a Microsoft Access seleccionar vincular o importar tabla y en el desplegable inferior poner de Tipo de archivos poner: Base de datos ODBC.
  5. Aparece una ventana con dos pestañas, hacer clic en la 2ª: Origen de datos de equipo y seleccionar la ODBC que creamos, el nombre aparece es el quisimos en la casilla Data Source Name.
  6. Seguidamente nos aparecerán todas las tablas de la base de datos MySQL

Notas:

  • Si da error al conectarse puede ser un problema del Usuario y Contraseña introducidos al crear la ODBC. Se recomienda usar el botón de Test para comprobar la conexión.
  • A veces al vincular tablas y visualizar los datos dato aparece el valor #eliminado en todas las filas, sin embargo si se hace importación entonces no suele haber problemas.
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Buscar un registro en Access 2003

Este código de VBA en Access 2003 combina la función de buscar un registro en función de un campo de fecha de un formulario y en que caso de no encuentre el dato que vaya a nuevo registro.

Para seleccionar la Fecha se utiliza un control Calendar llamado Calendario.

[VB]
Dim lngReg As Long
lngReg = DCount(“[fecha]”, “Facturas”, “[fecha] = #” & Format(Calendario.Value, “mm-dd-yy”) & “#”)
If lngReg <= 0 Then DoCmd.GoToRecord acActiveDataObject, , acNewRec Else Fecha.SetFocus DoCmd.FindRecord Calendario.Value, acEntire, False, acSearchAll, , acCurrent End If [/VB]

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Como generar un PDF en Access y Microsoft Office

A veces queremos enviar una copia de informe creado por Microsoft Access a otra persona pero los formatos que nos ofrece el propio Access, a parte de la impresora, no sabemos si los podrá leer el destinatario. También es posible que queramos enviar por email un informe de WinBol en un formato compatible.

Para solucionar estos problema lo mejor es crear un archivo PDF a partir del informe de Access y entonces enviarlo, para ello haremos lo siguiente:

  • Descargar un programa gratuito de código libre generador de PDF: PDF Creator
  • Una vez descargado lo instalamos en nuestro PC
  • Seguidamente vamos a Access, hacemos vista previa de un informe y hacemos clic en el menú Archivo-> Imprimir
  • Access muestra un desplegable con la lista de impresoras, hacemos clic y veremos una nueva que se llama PDF Creator, la seleccionamos y pulsamos imprimir
  • Cuando salga la ventana de opciones de PDF Creator lo único que tenemos que hacer es pulsar en Guardar y la aplicación nos guarda el PDF en nuestro disco.
  • Una vez hemos creado el archivo ya lo podemos enviar como queramos

Nota:

La nueva impresora PDF Cretator está también disponible para cualquier otro programa que tengamos instalado en nuestro PC a parte del Microsoft Access, con lo cual lo podemos utilizar también para imprimir Archivos de Word y Excel en formato PDF.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Error Eliminado en ODBC Mysql-Access

Al vincular una tabla de MySQL en una base de datos Access al abrir la tabla todos los campos de todas las filas dan el mensaje #eliminado.

Una manera de poder trabajar por lo datos es crear un consulta basada en la tabla poniendo el * para que seleccione todos los campos.

Ir a propiedades de la Consulta y en las Propiedades poner como Tipo Recordet: Archivo Snapshot.

Después abrir la consulta y ya se ven todos los datos.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Desplegable en Access combinando dos campos, uno de ellos nulo

Típico caso en Microsoft Access en el que tenemos que poner una desplegable para personas con el código oculto y visualizando nombre apellidos o apellidos, nombre el problema con el sistema normal es que si uno de los dos campos es nulo no se muestra nada.

La solución es poner esto en la columna de la consulta SQL de la que depende el campo de descripción:

[VB]
Paciente: [apellidos]+SiInm(EsNulo([nombre propio]);””;”, “+[nombre propio])
[/VB]

Ejemplo en CAGI0101_1

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…

Barra de Menú Contextual en Access

Paso a paso para crear una barra de menus contextual y utilizarla en un formulario Access.

Como crear la barra de Menus Contextuales:

  1. Ir Ver-> Barra de Herramientas -> Personalizar
  2. Seleccionar la pestaña Barra de Herramientas y pulsa el Boton Nueva
  3. Poner un nombre (yo las suelo empezar por ctx) y MenuContextual y verás que aparece una barra flotante.
  4. Añadir las funciones o macros que se quiera o no pongas ninguna
  5. Una vez creada la barra de Herramientas, selecciona Propiedades de la Barra de Herramientas nueva e indica que es de tipo emergente, verás que desaparece de la lisa de Barra de Herramientas, no pasa nada.

Como modificar las opciones de un Menú Contextual

  1. Ir Ver-> Barra de Herramientas -> Personalizar
  2. Marcar la barra Menús Contextuales y aparece una barra que contiene todos los menús contextuales de Access.
  3. El último Menú es Personalizada y allí podemos, de la forma habitual, añadir, modificar o eliminar opciones de la barra de Menús

Una forma de Utilizar los Menús Contextuales

Es habitual tener un formulario con una lista de registros y que queramos añadirle una serie de opciones a los mismos via menú contextual de una forma sencilla, aquí os pongo un ejemplo posible, para utilizar este ejemplo son necesarios conocimientos básicos de VBA.

Partimos de la base de que tenemos un formulario que nos muestra una lsita de clientes y cada cliente tiene su formulario de mantenimiento de datos: frmClientes

  1. Creamos una barra de menú contextual llamada ctxCliente
  2. Creamos una variable global llamada gblCliente
  3. Creamos una función VBA por cada acción de la Barra de Menús (Ejemplo 1)
  4. Añadidimos en nuestra barra de menús la acción para acceder a la función pública poniendo en Acción = pfuCompeticionFicha()

Ejemplo 1:
[VB]
Public Function pfuClienteFicha()
On Error Resume Next
DoCmd.OpenForm “frmCliente”, , , “[ClienteID]='” & gblCliente & “‘”
End Function
[/VB]

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
Cargando…

Consulta de Referencias cruzadas en Access con parámetros

Es frecuente hacer una consulta SQL de referencias cruzadas en Access basada en una primera consulta que prepara los datos y los filtra en función de unos parámetros.

La 1ª consulta con parámetros funciona bien pero la 2ª da un error al ejecutarse del tipo: “El motor de base de datos Microsoft Jet no reconoce … como un nombre de campo o expresión válidos”.

Error en consulta de referencias cruzadas con microsoft access

Hay que hacer lo siguiente:

  1. Suponemos que la 1ª consulta se basa en dos campos de fecha que están en un formulario y los campos se llaman: [Desde Fecha] y [Hasta Fecha]
  2. La primera consulta, la de selección, usa este dos campos para filtrar los datos.
  3. En la segunda consulta una vez construida y estando en el modo de diseño se debe ir a la barra de menús superior e ir a la opción Consulta->Parámetros y aparece una tabla de doble entrada donde pone Parámetro y Tipo de datos.
  4. Insertaremos tantas filas como parámetros tengamos, en nuestro caso serán dos:
    • [Formularios]![NombreFormulario][Desde Fecha], tipo de datos Fecha/Hora
    • [Formularios]![NombreFormulario][Hasta Fecha], tipo de datos Fecha/Hora
  5. Ahora podremos ejecutar la consulta sin que de errores.

Si los parámetros no están en un formulario si no directamente en la primera consulta el procedimiento en la 2ª consulta es el mismo. Para un criterio directo como True, False, mayor o menor, etc. no hace falta crear parámetros en la segunda consulta.

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
Cargando…

Como ver todos los comandos de Microsoft Access

Código VBA para ver todos los comandos de las barras de menú de Access 2000:

[VB]
Sub EnumerarComandos()
Dim cb As CommandBar
Dim cbc As CommandBarControl
For Each cb In Application.CommandBars
Debug.Print cb.Name
For Each cbc In cb.Controls
Debug.Print cbc.Caption
Next
Next
End Sub
[/VB]

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Cargando…