visual programar microsoft ejemplos codigos ms-access access-vba

ms-access - programar - vba access pdf



Comportamiento extraño en MS Access (1)

Mi dinero está en uno de los campos configurados como una "tabla de búsqueda" en el acceso. En general, se considera que son una función no tan útil de acceso que trata de ayudar a los desarrolladores noveles a los que les resulta difícil entender cómo funciona una base de datos.

Si ingresa en la tabla en modo de diseño, debería poder verificar si eso está establecido en los campos en cuestión. Si se apaga y vuelve a intentar la consulta

Aquí hay un enlace sobre por qué son malvados

http://www.mvps.org/access/lookupfields.htm

Definí tres tablas, Stores, InventoryItems y StoreItemRecords. Mi tabla StoreItemRecords tiene columnas de clave externa (StoreID, InventoryItemID) que "apuntan a" las claves principales de los registros Stores (StoreID) y InventoryItems (InventoryItemID). Las columnas se nombran igual entre las tablas.

Si ejecuto una consulta como esta:

SELECT StoreID, InventoryItemID FROM StoreItemRecords;

Obtengo algunos resultados extraños. Obtengo: 1, Martillo 2, Caja de uñas 3, Otro nombre de otro elemento.

Por lo tanto, obtengo el StoreID, como debería. Pero también obtengo el NOMBRE del artículo del inventario, no el ID del artículo del inventario. Además, es importante tener en cuenta que la columna InventoryItemID se define como un NÚMERO, no como TEXTO.

De alguna manera, Access está tratando de ayudarme al proporcionar InventoryItemName en lugar de InventoryItemID, pero parece que no puedo encontrar la causa de este comportamiento ni ninguna forma de detenerlo.

[una nota más. He escrito un código VBA para rellenar la tabla StoreItemRecords y, en modo de depuración, puedo "ver" los valores de InventoryItemID que se asignan a la columna, y he verificado que los ID se están poniendo allí.]

¿Alguien ha visto un comportamiento como este? Sé que me voy a sentir realmente tonto cuando alguien señale lo tonto que estoy haciendo para causar esto, pero, en este punto, vale la pena la vergüenza.

Gracias de antemano por cualquier ayuda que pueda brindar.