Access - Problemas con una busqueda

 
Vista:
Imágen de perfil de Momafco

Problemas con una busqueda

Publicado por Momafco (6 intervenciones) el 04/10/2007 00:46:52
Hola, necesito de su ayuda

Cree un formulario que me ayuda a buscar un registro conforme escribo los datos me aparece una lista que depende de una tabla, al encontrarlo basta con darle doble clic y me manda toda la información a un formulario que tiene campos independientes, y resulta que solo me manda el dato del primer campo, este es el codigo que tiene al darle doble clic

Private Sub Lista1_DblClick(Cancel As Integer)
Form_Ficha.IDProveedor.Text = Lista1.ItemData(Lista1.ListIndex)
Form_Ficha.Persona.SetFocus
DoCmd.Close acForm, "Busca"
End Sub

en el formulario me aparece el dato de IDProveedor pero los demas campos me los deja en blanco, y quisiera me arrojara los demas datos( que son Persona, Fecha Inicio, Fecha Termino, Tiempo), que puedo hacer

ojala me haya explicado y alguien me pueda ayudar

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con una busqueda

Publicado por Enrique (1299 intervenciones) el 04/10/2007 14:40:51
En el Origen de la fila del cuadro de lista, tienes que poner el Select que cargue los 5 campos de la Tabla o Consulta que necesitas y si solo quieres que Lista1 muestre los 2 primeros campos, al resto le pones ancho Cero.
Número de columnas: 5
Columna dependiente: 1
Ancho de columnas: 3cms;6cms;0cms;0cms;0cms (por ejemplo)

y estos cambios en el Evento:
Private Sub Lista1_DblClick(Cancel As Integer)
Form_Ficha.IDProveedor = Lista1.Column(0)
Form_Ficha.Persona = Lista1.Column(1)
Form_Ficha.Fecha_Inicio = Lista1.Column(2)
Form_Ficha.Fecha_Termino = Lista1.Column(3)
Form_Ficha.Tiempo = Lista1.Column(4)
Form_Ficha.Persona.SetFocus ' El Foco se vá al campo Persona (puede ser otro)
DoCmd.Close acForm, "Busca"
End Sub

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con una busqueda

Publicado por xavi (92 intervenciones) el 04/10/2007 14:48:51
Hola,

No se si terminé de entenderte...

Tienes un formulario para buscar (Busqueda) y un formulario para mostrar datos (Ficha)
En el formulario Busqueda tienes un cuadro de lista dónde te aparecen los datos del proveedor filtrados a lo que vas escribiendo (dices que eso lo tienes solucionado).
Quieres que, al hacer doble clic en el cuadro de lista se pasen los valores del registro seleccionado a los campos correspondientes del formulario Ficha.

Se supone que el cuadro de lista tiene (visibles o no) las siguientes columnas:

IDProveedor, Persona, Fecha Inicio, Fecha Termino y Tiempo

Asi pues, en el evento doble clic solo deberias pasar los valores de las distintas columnas a los campos correspondientes.

Un par de consejos:
1. Olvidate de la propiedad Text; solo da problemas.
2. Intenta utilizar nombres de campos y controles sin espacios, te ahorarrás muchos [corchetes] y _subguiones_

Private Sub Lista1_DblClick(Cancel As Integer)
With Forms!Ficha
!IDProveedor = Me!Lista1.Column(0)
!Persona = Me!Lista1.Column(1)
![Fecha Inicio] = Me!Lista1.Column(2)
![Fecha Termino] = Me!Lista1.Column(3)
![Tiempo] = Me!Lista1.Column(4)
!Persona.SetFocus
End With
DoCmd.Close acForm, "Busca"
End Sub

Escrito del tiron...

Xavi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con una busqueda

Publicado por Enrique (1299 intervenciones) el 04/10/2007 15:17:53
Lo que no ha dicho Momafco es que ese Evento que ha puesto lo ha sacado de un ejemplo que yo mismo puse hace tiempo en el Foro, donde el Origen de la Fila no se establece en Modo diseño sino por código en el Evento Change del cuadro de texto donde se encribe, de esta forma:

Lista1.RowSource = "SELECT IdProveedor, Persona FROM LaTabla where IdProveedor like '" & CuadroTexto.Text & "*' Order By Idproveedor;"

aqui se pueda apreciar que el RowSource solo toma los dos primeros campos (faltan tres campos más), por lo que no le va a funcionar de ninguna de las dos formas (ni con la mia de antes ni con la de Xavi).

Y te preguntarás ¿ porqué en ese ejemplo solo puse dos campos en el RowSource y al hacer doble click aparecen todos ?, pues porque realmente el resto de campos se cargan mediante Recordset DAO en el Evento "Después de actualizar" del campo IDProveedor, para que funcione tambien tecleando IDproveedor sin abrir el "Busca", de ahí que sea necesario el SetFocus al campo Persona antes de cerrar el Form "Busca", pero ahora tendras que añadir los campos que faltan al RowSource, tanto en el Evento "A cargar" del Form Busca, como en el Evento "Change".

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de momafco

RE:Problemas con una busqueda

Publicado por momafco (6 intervenciones) el 05/10/2007 17:41:47
Antes agradezco toda su ayuda.

Enrique buen día, efectivamente es de un Evento tuyo, pero permiteme decirte que lo desconocia, ya que un amigo mio me paso la información y bueno me encontre con esos problemas, al ver tu nota lo cheque y efectivamente es tuyo dicho evento, mil disculpas por no decirlo antes pero no lo sabia.

Po otro lado, agradezco todos tus consejo, no solo os anteriores, sino en veces pasadas he recibido ayuda tuya.

Quisiera saber si me puedes ayudar con lo que anteriormente me explicabas, en que me estoy equivocando, porque no me resulta

Private Sub txtBuscar_Change()
If Opción1.Value = True And OpciónC.Value = True Then 'Busca por Comienzo y por Código
Lista1.RowSource = "SELECT IdProveedor, Persona, Inicio, Termino, TIEMPO FROM Proveedores Where IdProveedor like '" & txtBuscar.Text & "*' Order By Persona;"
End If
If Opción1.Value = True And OpciónN.Value = True Then 'Busca por Comienzo y por Nombre
Lista1.RowSource = "SELECT IdProveedor, Persona, Inicio, Termino, TIEMPO FROM Proveedores Where Persona like '" & txtBuscar.Text & "*' Order By Persona;"
End If
If Opción2.Value = True And OpciónC.Value = True Then 'Busca por Contenido y por Código
Lista1.RowSource = "SELECT IdProveedor, Persona, Inicio, Termino, TIEMPO FROM Proveedores where IdProveedor like '*" & txtBuscar.Text & "*' Order By Persona;"
End If
If Opción2.Value = True And OpciónN.Value = True Then 'Busca por Contenido y por Nombre
Lista1.RowSource = "SELECT IdProveedor, Persona, Inicio, Termino, TIEMPO FROM Proveedores where Persona like '*" & txtBuscar.Text & "*' Order By Persona;"
End If
End Sub

Te agradezco mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con una busqueda

Publicado por Enrique (1299 intervenciones) el 05/10/2007 19:43:07
Hola Momafco:
No se trataba de que dijeras que el Evento era de un ejemplo mío, eso es lo de menos, me refería a que no indicabas que del Origen de la Fila del Cuadro de Lista se establecía por código en el Evento Change del texbox "txtBuscar", cosa que yo si sabía por motivos obvios pero el resto de compañeros de Foro no y así dificilmente te podrían ayudar.

En Principio parece que el Evento que has pegado está correcto, pero desconozco los cambios que hayas podido hacer en el resto de Eventos, tanto del Formulario "Ficha" como de "Busca". Creo que va a ser mejor que vuelvas a revisar mi ejemplo (es de Clientes pero lo puedes adaptar fácilmente), el cual te puedes descargar en el siguiente Link y que está algo mejorado con respecto al que tu tienes. Revísalo despacio y luego pregunta lo que no entiendas.

http://es.geocities.com/ensolva/Descargas/Varios/FicheroDeClientes.zip

Un saludo
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de momafco

RE:Problemas con una busqueda

Publicado por momafco (6 intervenciones) el 05/10/2007 20:03:12
claro, muchas gracias

yo lo voy a checar el ejemplo que me dices, muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con una busqueda

Publicado por Enrique (1299 intervenciones) el 05/10/2007 20:35:58
Momafco, vuelve a decargarte el archivo zip, el de antes no era el que te quería enviar porque no sirve para introducir nuevas fichas y solo permite modficar, ahora ya he puesto el correcto.

Un saludo
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar