Buscar : en
Por :

PROBLEMA EN CONSULTA A 3 TABLAS

INA_987, el 10 jun 2009, 14:26:57 
 Señalar este mensaje a los moderadores

Hola,
SALUDOS A TODOS, ES UN POCO LARGA LA EXPLICACION PERO ESTA INTERESANTE ES PARA QUE ME ENTIENDAN YA QUE EN OTROS FOROS NO HAN PODIDO AYUDARME

ESTOY TRABAJANDO EN LA ELABORACION DE UN PROGRAMA LES EXPLICO EN QUE CONSISTE:

EL PROGRAMA ES PARA CONSULTAR PRECIOS DE LOS PRODUCTOS DE UNA EMPRESA A TRAVES DE UNA LECTORA DE CODIGO DE BARRAS. AL PASAR EL SERIAL DEL PRODUCTO SOBRE EL LECTOR DE LA PISTOLA, ESTE CODIGO ES MOSTRADO EN UN TEXTBOX, DEBIDO A QUE LA PISTOLA EMITE UN ENTER AL LEER EL CODIGO ESTE AUTOMATICAMENTE ME REALIZA UNA ACCION.

DICHA ACCION ES LA QUE ME TRAE PROBLEMAS PORQUE NECESITO HACER LO SIGUIENTE:

REALIZAR UNA CONSULTA EN TRES TABLAS (SAPROD, SACODBAR, SAITEO) ESTAS TABLAS ESTAN RELACIONADAS POR LOS CODIGOS EL PRODUCTO(SAPROD.CODPROD,SACODBAR.CODPROD,SAITEO.CODITEM)

-LA TABLA SAPROD ES LA PRINCIPAL ELLA CONTIENE LOS DATOS (CODPROD,DESCRIP,DESCRIP2,PRECIO)

-LA TABLA SACODBAR CONTIENE LOS CODIGOS DE BARRA ALTERNOS DEL PRODUCTO (CODPROD,CODALTE)

-LA TABLA SAITEO ES LA QUE CONTIENE LAS OFERTAS(CODITEM,MONTO).

DEBIDO A QUE LOS USUARIOS REQUIEREN MOSTRAR TODOS ESTOS DATOS EN UN SOLO "FORM" AL PASAR EL CODIGO POR LA LECTORA HAY QUE UNIR LAS TABLAS RELACIONADAS POR EL CODIGO PARA QUE CUANDO SE REALICE EL EVENTO "ENTER" EN LA CAJA DE TEXTO VERIFIQUE SI EXISTE EL CODIGO DEL PRODUCTO EN LAS 3 TABLAS.

cuando me refiero a que debe estar le codigo en las 3 tablas es porque en el formulario se deben llenar campos que no estan en una misma tabla, estan en las 3. no tanto en las 3 tablas seria mas que todo en dos tablas ya que en la principal esta un codigo del producto y hay otros codigos alternos que no estan en esa tabla y si el producto tiene un codigo alterno que no esta en la tabla principal me diria que no existe el codigo.

LA consulta la genere en sqlserver solo utilice la sentencia sql que el programa genera y lo extraño es que en sqlserver si me realiza la busqueda con esa sentencia, por lo que estoy segura que el error esta en la linea .find


ENTONCES E AQUI MI DIFICULTAD PORQUE EN LA CONSULTA NO ME BUSCA EN LAS 3 TABLAS SOLO BUSCA EN LA PRINCIPAL (SAPROD) POR LO TANTO NO ME MUESTRA NADA.

ESTE ES EL CODIGO DE LA CONSULTA:

rs.Open "SELECT SAPROD.CodProd, SAPROD.Descrip, SAPROD.Descrip2, SAPROD.Descrip3, SAPROD.Refere, SAPROD.Precio3, SAITEO.MONTO FROM SAPROD left outer join sacodbar on saprod.codprod = sacodbar.codprod left outer join SAITEO ON saprod.codprod = saiteo.CodItem; ", Busqueda, adOpenStatic, adLockOptimistic

ESTE EL CODIGO DEL TEXTBOX

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then

If Text1.Text = "" Then MsgBox ("Debe Ingresar El Codigo Del Producto"), vbInformation, "aviso": Text1.SetFocus: Text1.Text = "": Exit Sub

With rs
.Requery
.Find "CodProd='" & Trim(Text1.Text) & " '" //CREO QUE AQUI ES EL ROBLEMA
If .EOF Then
MsgBox ("El Codigo No Existe"), vbInformation
Text1.Text = ""
Text1.SetFocus

Else
Text2.Text = !Descrip
Text3.Text = !Descrip2
Text4.Text = !Descrip3
Text5.Text = !Refere
Text6.Text = !Precio3
Text7.Text = "" & !Monto
End If
End With

End If

End Sub

CREO QUE ES EL PROBLEMA EN EL .Find PERO NO SE COM ARREGLARLO, YO CREO QUE ES PORQUE ESTOY MANADANDO A MOSTRAR EN "CODPROD" Y EL TOMA POR DEFECTO EL CODIGO DE LA TABLA SAPROD. NO SE COMO HACER UNA CONDICION EN CODPROD PARA QUE LEA LOS CODIGOS DE LAS 3 TABLAS.

BUENO ASI CULMINO CON MI EXPLICACION DE VERDAD YA LO HE INTENTADO TODO A QUIEN ME PUEDA AYUDAR GRACIAS

Configuración: Windows XP Internet Explorer 6.0

Mejores respuestas para « PROBLEMA EN CONSULTA A 3 TABLAS » en :
MySQL – Actualizar campos con unión de tablas Ver Si tienes dos tablas y estás tienen una clave en común (por ejemplo la clave “id”), entonces es posible actualizar el campo de una de las dos tablas (update_table) gracias a los datos de la segunda (reference_table) haciendo una unión de tablas. El...
MySQL – Cargar un fichero de texto en una tabla Ver Para cargar un fichero de texto definido como: $ tail /home/user1/test.txt 'nombre1',1,9 'nombre2',2,3 'nombre3',3,54 'nombre4',4,2 'nombre5',5,9 En una tabla definida como: CREATE TABLE cargartest ( ...
Configuración necesaria para los sims 3 VerAlgunos no pueden correr este juego a causa de la pobre configuración de sus PC, es decir por tener un PC muy antiguo. Cuando la tarjeta gráfica es incompatible con los sims 3, puede aparecer este mensaje: “No se puede iniciar el juego El...
Exportar automáticamente los marcadores en Firefox 3 VerEn relación a Firefox 2, Firefox 3 utiliza un Nuevo administrador de marcadores. Estos ya no son guardados en el archivo bookmarks.html (en el directorio de tu perfil Firefox), sino en una base de datos SQLite (places.sqlite). Si esto ha...
[Ubuntu 9.04] Instalar VirtualBox 3 VerPuedes encontrar VirtualBox en los repositorios oficiales de Ubuntu, pero solo la versión 2.x, y sin el soporte para USB. Sin embargo puedes instalar fácilmente la versión 3.x: wget -q...
Descargar Table Pro VerEs un programa de base de datos sencillo pensado para el hogar o una pequeña empresa muy sencillo de utilizar, facilmente se pueden crear bases de datos para guia de telefonos inventarios etc. Con Table Pro seremos capaces de agregar y editar...
Descargar Windows XP Service Pack 3 (SP3) VerWindows XP Service Pack 3 (SP3) es una actualización libre para Windows Xp SP3 incluye todas las actualizaciones previamente lanzadas de Windows Xp, incluyendo actualizaciones de la seguridad, hotfixes, etc. Esta actualización también incluye una...
Descargar Firefox 3 para Mac VerLLego Firefox en la version 3 para Mac, ahora con un motor Gecko optimizado, utilizando menos memoria que la version anterior, aunque no cambio casi nada en su interfaz pero trae consigo la seguridad que siempre se caracterizo y muchas extensiones...
Tablas VerUso de las tablas A menudo resulta útil presentar información de una manera más estructurada que en las listas. Las tablas permiten mostrar esta información en filas y columnas. Las tablas se definen como series de filas. Una tabla debe respetar las...