** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Datos No coincidentes
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Datos No coincidentes

 Responder Responder
Autor
Mensaje
CacoMarco Ver desplegable
Habitual
Habitual


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 157
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita CacoMarco Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Datos No coincidentes
    Enviado: 05/Diciembre/2018 a las 13:27
Buenos días,
La consulta de datos no coincidentes es muy útil cuando comparamos mismos datos de una tabla a otra.
Mi problema es el siguiente:
En la tabla A tengo Números de repuestos que según fábrica deben considerarse para una reparación de un producto X.
Así, por ejemplo, esta tabla puede contener:
Nro de Parte Descripción
255-650 Golilla 1
314825 Perno 1
11413-13 Sello 2
253-220 Empaquetadura 1

Mi problema es que la la tabla B con la cual debo comparar tiene creados un mismo artículo en forma distinta.
Ejemplo:
Nro de Parte Descripción Stock
255650 Golilla 1 0
1FER255-650 Golilla 1 2
1FER255650… Golilla 1 1

Lamentablemente la Tabla B del sistema de la empresa y no la puedo modificar, sólo me traigo una "fotografía" de los que está y trabajo con esos datos en Access.

Entonces, cómo lograr al hacer el cruce entre las tablas y que obtenga sólo el código que me sirve o que tenga stock ??
Puedo depurar la Tabla B y obtener como resultado un sólo código, es decir, 255-650 con 3 unidades de stock ??
Esa sería una solución u otra que alguien me pueda sugerir.
Saludos y gracias por su ayuda.


CacoMarco/Chile
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 10485
Opciones de entrada Opciones de entrada   Gracias (1) Gracias(1)   Cita Mihura Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 15:07
Tienes otra opción, crearte una tercera tabla con las equivalencias entre las dos primeras:

255650        - 255-650
IFER255-650 - 255-650
IFER255650  - 255-650

Otra cosa aparte es que a los responsables de semejante desaguisado de códigos hay que ponerlos a remar en galeras por un par de siglos. LOL



Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
CacoMarco Ver desplegable
Habitual
Habitual


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 157
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita CacoMarco Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 16:20
Muchas Gracias Jesús por responder.
La solución que me entregas creo es muy buena, y disculpando mi patudes puedes darme una idea de cómo hacer la tabla de equivalencias ?.
Y con tu idea haré lo posible por ponerla en la práctica.
Gracias de nuevo. 
CacoMarco/Chile
Arriba
lalo1956 Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 08/Marzo/2005
Localización: Mexico
Estado: Sin conexión
Puntos: 945
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita lalo1956 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 17:01
Apoyándote en la descripción??
Quien no vive para servir, no sirve para vivir!** AYUDA A MANTENER EL FORO **
Arriba
CacoMarco Ver desplegable
Habitual
Habitual


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 157
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita CacoMarco Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 17:13
Si es un tema muy complicado de hacer, obviamente describir la solución es lo ideal y más fácil para quien consulta.
Si la solución es más bien sencilla, en mi caso basta con orientarme y lo realizo.
Gracias,
CacoMarco/Chile
Arriba
CacoMarco Ver desplegable
Habitual
Habitual


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 157
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita CacoMarco Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 13:39
Estimados, tengo casi lista la instrucción Sql, pero me falta una última parte que por favor les pido ayuda.
Con lo sgte:

SELECT Replace([NroParte],"-","") AS Codigo, Mid([Codigo],5,15) AS CodigoNuevo
FROM TbProductos;

Logro que todos los códigos queden así.
255650...
255650....
255650

Pero necesito eliminar los puntos del lados derecho y que pueden ser uno, dos, tres, hasta 6.
El resultado final debe ser 255650 para todos.

Gracias,
CacoMarco/Chile
Arriba
CacoMarco Ver desplegable
Habitual
Habitual


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 157
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita CacoMarco Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 16:11
Esto me está volviendo loco, 
En primer lugar uní el código anterior y queda así:
SELECT Mid(Replace([NroParte],"-",""),5,15) AS Codigo
FROM TbProductos;

Luego utilizo la función EnCad para detectar la posición del caracter punto (.)
InStr([Codigo];".") 
Pero no resulta efecto.
por ejemplo en la cadena 255650.... el resultado me entrega 8 ??
Y en la cadena 255350... el resultado me entrega 0 ??

No se qué hacer...

CacoMarco/Chile
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: en línea
Puntos: 4908
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita mounir Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 16:39
Hola!

Y utilizas la función "Replace" de nuevo.
Un Saludo.
Arriba
CacoMarco Ver desplegable
Habitual
Habitual


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 157
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita CacoMarco Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 18:00
Tampoco funciona :(
Me parece porque el punto es considerado un carácter especial ?
Pero esto se me escapó de Las manos
Seguiré averiguando cómo podría solucionarlo.
Nótese que el ejemplo son códigos de 6 dígitos pero no siempre es igual.
Lo que que siempre es igual los puntos al final del código y que reitero puede ser uno, dos, etc
CacoMarco/Chile
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: en línea
Puntos: 4908
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita mounir Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 18:14
Hola!

Entonces prueba con la función "Val"

=Val([Codigo])
Un Saludo.
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 737
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pitxiku Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 18:36
Si sólo tienes guiones en medio de los 2 códigos, puedes quitarlos en ambas tablas y luego buscar en la tabla B lo que hay en la A. Algo así:

EnCad(Reemplazar([Campo en Tabla B];"-";"");Reemplazar([Campo en Tabla A];"-";""))

Otra opción es la indicada por Lalo: si en las 2 tablas y en todos los registros la descripción coincide plenamente, puedes usar este campo en vez del código.
Arriba
CacoMarco Ver desplegable
Habitual
Habitual


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 157
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita CacoMarco Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 19:27
Amigos, muuuchas gracias por la ayuda.
Finalmente al aplicar la función VAL que me recomendó Mounir funcionó perfecto.
finalmente quedó así

SELECT Val(Mid(Replace([NroParte],"-",""),5,15)) AS Codigo
FROM TbProductos;

Gracias nuevamente,
Favor cerrar el Hilo
Thumbs Up
CacoMarco/Chile
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: en línea
Puntos: 4908
Opciones de entrada Opciones de entrada   Gracias (1) Gracias(1)   Cita mounir Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 21:08
Hola!

Te he preparado un ejemplo usando RecordSet para extraer Números de una cadena de texto. Es mas o menos como lo que acabas de hacer.
http://www.filebig.net/files/GJKH43r5Z5
Un Saludo.
Arriba
CacoMarco Ver desplegable
Habitual
Habitual


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 157
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita CacoMarco Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 07/Diciembre/2018 a las 02:57
Muchas Gracias, Clap
CacoMarco/Chile
Arriba
CacoMarco Ver desplegable
Habitual
Habitual


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 157
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita CacoMarco Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 07/Diciembre/2018 a las 03:16
Bajé el ejemplo y es justamente lo que necesito. Lo aplicaré a mi BD.
Muy agradecido
Thumbs Up
CacoMarco/Chile
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable