Access - Abrir registro de access desde aplicación de terceros

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 82 puestos en Access (en relación al último mes)
Gráfica de Access

Abrir registro de access desde aplicación de terceros

Publicado por Dani (5 intervenciones) el 21/12/2018 12:17:20
Buenos días,

Tengo una BBDD de datos de access con formularios y me gustaria saber si es posible, desde la linea de comandos de windows, hacer una llamada para que abra un registro concreto en su formulario, sin tener abierto access.

Esto es porque tengo una aplicación de telefonia, que cuando entra una llamada telefónica entrante, puede llamar a access directamente y pasarle como parámetro el número de telefono. Lo que quiero es que se abra el registro correspondiente.

He visto que puedo llamar a los formularios directamente, pero no se si es posible indicarle a acces con que reguistro queremos que se abra.

Espero haberme explicado.

Salu2 y Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 3
Ha disminuido su posición en 82 puestos en Access (en relación al último mes)
Gráfica de Access

Abrir registro de access desde aplicación de terceros

Publicado por Dani (5 intervenciones) el 21/12/2018 13:44:54
Lo que quiero hacer va por esta línea si no me equivoco:

Para poder llamar desde la línea de comando al formulario y pasarle el valor del campo para que me abra un registro concreto:

C:\Program Files (x86)\Microsoft Office\root\Office16>MSACCESS.EXE C:\formunlario.maf /runtime /cmd campo=valor

El tema es que esto así no funciona.

ME podéis ayudar.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 78
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Abrir registro de access desde aplicación de terceros

Publicado por Antoni Masana (32 intervenciones) el 24/12/2018 07:42:54
No acabo de entender muy bien el detalle de lo que quieres hacer pero parte la esencia creo que si.

No domino el access y no se cual ni donde debe ponerse pero creo que puedes abrir una BBDD de access y que se ejecute un código para arrancar un formulario o lo que sea necesario, vamos una especie de evento AUTO_OPEN.

Bien pues la idea es crear un fichero que servida de marcador con el valor a consultar y al arrancar al abrir la BBDD de access compruebe si existe este fichero, lo lea y muestre la información correspondiente y lo borre.

No puedo darte más detalles de como hacerlo solo la idea.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir registro de access desde aplicación de terceros

Publicado por Dani (5 intervenciones) el 24/12/2018 08:10:43
Buenos días y gracias por contestar,

Te intento describir lo que necesito hacer:

Partiendo de una base de datos de acces con diferentes campos (nombre, apellidos, telefono , nota, ...)

Y un formulario para mostrar de forma agradeble esos campos

Con access cerrado, desde la línea de comandos de windows (cmd) necesito poder llamar directamente al formulario pero mostrandome un registro concreto.

Creo que haciendo una macro, con Acción: Abrir Formulario y Condición Where: [Contactos]![Teléfono]=Comando() O [Contactos]![Tel Móvil]=Comando() O [Contactos]![Telefono]=Comando().

Se debería poder hacer, si sustituyo comando() por el dato concreto del formulario, se abre el registro que corresponde.

En teoria, Comando() serviria para pasarle la cadena concreta desde la linea de comando en este formato, pero creo que he de definir alguna función y aquí me pierdo:

Esta seria la línea para ejecutar la macro:

C:\Program Files (x86)\Microsoft Office\root\Office16>MSACCESS.EXE C:\nombredeformulario.accdb.maf /runtime /cmd Telefono="12345678"

En resumen, lo que necesito es poder desde la línea de comando de windows, llamar a un registo concreto, haciendo coincidir el contenido de un campo, por ejemplo el telefono o el número de DNI.

Espero haberme explicado.

Muchas gracias por anticipado y Felices Fiestas!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir registro de access desde aplicación de terceros

Publicado por Anonimo (3315 intervenciones) el 24/12/2018 09:50:41
Lo adecuado seria enviar solo el numero (como tal dato) y ya en Access mediante la función COMMAND() recuperarlo y aplicarlo en donde y para lo que corresponda.

Como simple curiosidad:
.- ¿abrir todo un entorno Access para ver un registro, cerrar ese entorno y volver a repetir esa operación es realmente útil? …

Porque Access se toma su tiempo para crear el entorno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir registro de access desde aplicación de terceros

Publicado por Dani (5 intervenciones) el 24/12/2018 11:02:49
Hola,

Te explico, tenemos una aplicación de nuestra central telefónica que permite ejecutar una cadena en la linea de comandos cada vez que entra una llamada y además le pasa , a esa cadena, el número que esta llamando como variable.

Lo que queremos hacer , es probar, a que cada vez que nos entre una llamada, pues se abra el forumulario con los datos del cliente que corresponde con el número.

Estamos probando con Access porque es lo que tenemos en la empresa.

Lo que no sabemos es como hacer la parte de llamar a msaccess.exe y pasarle el valor que queremos que abrá.


ME puedes explicar como hacer esto: "Lo adecuado seria enviar solo el numero (como tal dato) y ya en Access mediante la función COMMAND() recuperarlo y aplicarlo en donde y para lo que corresponda."

Lo que queremos hacer es enviar una petición como esta:

C:\Program Files (x86)\Microsoft Office\root\Office16>MSACCESS.EXE C:\nombredeformulario.accdb.maf /runtime /cmd Telefono=12345678 y que se abra el formulario con la ficha que tiene el teléfono 12345678

Access a nosotros se nos abre bastante rápido.

Gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 78
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Abrir registro de access desde aplicación de terceros

Publicado por Antoni Masana (32 intervenciones) el 24/12/2018 13:44:36
Seguro que hay varias formas de hacerlo y seguro que algunas mejor que otras.

No domino el Access y no se que comandos o eventos debes usar pero si lo que yo buscaría para hacerlo.

Te voy a contar dos alternativas y lo que tienes que buscar:

Para entender esta es necesario entender cómo funciona el ACCESS, cuando llamas el MSACCESS puedes llamarlo a secas, sin parámetros o pasandole el nombre de una base de datos.
En este segundo caso después de cargar el programa abre la base de datos y si se le ha programado el evento que se ejecuta al inicio de abrir la BBDD puede abrir un formulario.

y ahora las alternativas:

PRIMERA
después del nombre de la base de datos poner parámetros que se podrán leer desde los comandos de VBA con la instrucción command$() como comenta anonimo, este código se debe poner al abrir el formulario para que busque los datos.

SEGUNDA
Dejar el access abierto con el formulario en ejecución.
En el formulario poner una especie de temporizador que cada cierto tiempo verifique si el proceso de la llamada ha creado un fichero donde dejo el número de teléfono.

En este ejemplo

1
C:\Program Files (x86)\...\Office16>MSACCESS.EXE C:\nombredeformulario.accdb.maf  /runtime /cmd Telefono=12345678

C:\Program Files (x86)\Microsoft Office\root\Office16>MSACCESS.EXE
Es la llamada al ACCESS propiamente dicha

C:\nombredeformulario.accdb.maf
Deberia ser la llamada al fichero accdb que es la base de datos con los formularios

/runtime
No se para que sirve, ni si sirve.

/cmd
No se para que sirve, ni si sirve.

Telefono=12345678
Debería ser el parámetro que lea el VBA con el comando command$().


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir registro de access desde aplicación de terceros

Publicado por Daniel (5 intervenciones) el 17/01/2019 17:54:51
Buenas tardes,

Sigo intentando hacer lo que explicaba en el msj, sin exito :(

Lo que quiero hacer es justo lo que aparece en este enlace : https://www.pcreview.co.uk/threads/command-to-run-access-open-to-specific-form-and-specific-record.3395824/

Pero la parte del código que pongo a continuación no se donde ubicarla, ¿me podes ayudar?

1
2
3
4
5
Dim varParms As Variant
varParms = Split(Command, ",")
If UBound(varParms) = 1 Then
DoCmd.OpenForm varParms(0), acNormal, , varParms(1)
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar