problema al realizar consulta
Publicado por carolina (11 intervenciones) el 09/06/2009 19:13:36
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
DONDE MARQUE EN NARANJA CREO QUE ES EL PROBLEMA 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
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
DONDE MARQUE EN NARANJA CREO QUE ES EL PROBLEMA 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
Valora esta pregunta


0