Leer tabla desde Módulo Access.

Tengo una Base de Datos Access con unas cincuenta tablas y desde las distintas pantallas que manejan todas las tablas tengo acceso a un Módulo Access que me facilitaron dos proveedores de mensajería móvil para realizar envío de SMS.
Tengo las rutinas de los dos proveedores que indicaba dentro del mismo módulo pero mi problema es que tengo que marcar como comentarios las instrucciones del proveedor que no quiero utilizar y viceversa. Esto implica que cada vez que quiero cambiar de proveedor debo tocar el código del módulo del que hablo.
Pretendo solucionarlo leyendo desde el módulo una tabla que contendrá un registro de un solo campo en el que tendré el nombre del proveedor que quiero utilizar y, de este modo, poder elegir un párrafo u otro del módulo en cuestión.
Tal vez me haya liado un poco con la pregunta. Resumiéndola lo único que quiero es que algún experto me ayude a leer una tabla de un solo registro y un solo campo para poder utilizar el valor leído dentro del módulo.
Llevo bastantes horas perdidas buscando solución a este problema y sin encontrar respuesta. Perdonadme si es una simpleza pero lo cierto es que para mi es un problema sin solución.
Gracias por adelantado a los expertos que con seguridad me ayudarán.

1 respuesta

Respuesta
1
¿A qué te refieres con leer una tabla de un solo registro y un solo campo?
Para poder tomar una decisión dentro de mi módulo debo conocer si los usuarios van a utilizar el servidor de mensajería "PEPE" o el servidor "JUAN". (Pongo estos nombres porque no considero oportuno indicar los oficiales.
Lo que se me ocurrió fue crear una tabla a la que llamo MENSAJESTSP que contiene un campo (PROVEEDOR) en el que introduzco el valor que deseo (PEPE o JUAN). Solo un registro que contendrá dentro el campo del valor con el que he de operar luego.
Es una tabla muy simple, pero dependiendo de ese valor mi módulo tiene que ejecutar unas sentencias u otras completamente distintas.
PD: No puedo pasar ese valor al módulo desde el formulario que lo llama porque la llamada al mismo se hace desde más de 100 puntos de la aplicación y esto complicaría en exceso los cambios futuros.
Bien,
Si es para obtener el valor de un campo en un solo registro mejor usar DBúsq (DLookup)
El formato es:
DBúsq(campo, tabla, Criterio)
Lo que hace DBúsq es devolverte el valor del campo de la tabla que le pides con los criterios que le pongas, con lo que podrás saber si es PEPE o JUAN dado un Id de usuario concreto.
Perdona, pero la palabra DBúsq no la reconoce como un comando válido. Soy muy novato. Disculpa. Dentro del módulo no consigo ni tan siquiera abrir la tabla.
¿Puedes aclararme algo mejor tu soluciñon? Gracias.
He puesto, dentro de mi módulo estas dos instrucciones:
Dim PROV As Integer
PROV = DBúsq("PROVEEDOR", "MENSAJESTSP", "NRS")
Al llamar al Módulo el resultado obtenido es un mensaje de error en el que me dice:
Error de compilación
No se ha definido Sub o Función
Puedes ayudarme. Gracias.
Si es en código VB debes usar la version en ingles
DLookup
Y el criterio debe ser exacto, es decir, poner que estas igualando
ej,
Dlookup("PROVEEDOR", "MENSAJESTSP","[IdMensajestsp]=" & Chr(34) & Id.value & Chr(34))
Con este ejemplo busco en la tabla MensjesTSP, el valor del campo proveedor del registro que IdMensajestsp es el mismo que el valor actual del textbox llamado Id
Perfecto.
He puesto estas instrucciones y todo va genial. Justo lo que necesitaba.
   dim prov as variant
    prov = dlookup("proveedor","mensajestsp")
   if prov = "pepe" then
       goto secpepe
     else
       goto secjuan
   end if
Muchísimas gracias por la ayuda.
Muchísimas gracias por tu colaboración. Llevaba bastantes horas perdidas tratando de encontrar una solución y no lo conseguía. La verdad que no soy profesional sino autodidacta del access.
La solución que me aportaste es perfecta.
Gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas