• Domingo 22 de Diciembre de 2024, 23:09

Autor Tema:  Busquedas En Textbox  (Leído 1514 veces)

Kurt

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Busquedas En Textbox
« en: Martes 23 de Marzo de 2004, 18:44 »
0
Buen dia ¡¡¡

Adjunto envio la imagen de una pantalla en la cual tengo un COD asociado a un material, lo que pretendo hacer con su ayuda es que cada vez que el usuario digite en el textbox el codigo me devuelva en el siguiente textbox el nombre del material, lo he intentado con un data y el  FindFirst pero me devuelve en todos los textbox en color gris el mismo material que se escribe en el primer textbox del COD.
Alguien podria ayudarme en esto...de antemano muchas gracias

Saludos...
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Busquedas En Textbox
« Respuesta #1 en: Martes 23 de Marzo de 2004, 19:19 »
0
Salu2 Kurt

Los controles estan enlazados? (los textbox a los campos?)
Estas mostrando los datos que se capturo cuando hiciste el FindFirst?

Si no es por eso pues a ver intenta mandar un sql al recordsource del data y luego muestralo en los textbox

Digamos que la tabla se llama Clientes y el Campo Clave es IdCliente seria:

Data1.Recordset.RecordSource = "Select * From Cliente Where IdCliente='" & Textbox1.Text & "'"

Alli busca el registro que tenga en el Campo IdCliente = al textbox1 y si te devuelve data entonces lo compruebas con:

With Data1.Recordset
  If Not (.BOF And .EOF) Then
    Text2.Text = Data1.Recordset!Campo2
    Text3.Text = Data1.Recordset!Campo3
    ...
  End If
End With

Algo asi mas o menos...

Un saludo zeekel ®
[KGT]
TP-Systems
our knowledge is our power!

Kurt

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Busquedas En Textbox
« Respuesta #2 en: Martes 23 de Marzo de 2004, 23:12 »
0
Hola  Zeekel:

Antes que nada muchas gracias por ayudarme te explicare que hice:
En la forma adjunta tengo un data conectado a la base de datos (mdb) y el recordsource  a la tabla materiales que tiene dos campos CodMat y NombreMat.  El text2, 5, 8, 11,14 y 17 estan conectados al data al campo NombreMat.

Entonces tengo esto en el Text1.text
If KeyAscii = vbKeyReturn Then
      KeyAscii = 0
      nReg = Val(Text1)
      Data1.Recordset.FindFirst "CodigoMat Like'" & Text1.Text & "'"
       Text4.SetFocus
           If Data1.Recordset.NoMatch Then
             Respuesta = MsgBox("La clave del material no existe", 64, "Información al usuario")
             Text1.SetFocus
                  ElseIf Text1.Text = "" Then
                  Respuesta = MsgBox("Introduzca el codigo", 64, "Información al usuario")
           Text1.SetFocus
        End If
    End If

Cuando lo encuentra me devuelve en todos los text (2,5,8,11,14,17) el mismo material asociado al codigo, entonces lo que pretendo es que se digite en el text1 el codigo p.e. 309 y el text2 aparezca "Ferromanganeso", en el text4 se escriba 310 y el el text5 aparezca "silicio" etc...perdona mi ignorancia pero no se como.
En el ejemplo que me enviaste no compredo que es : Campo2 y que condiciones deben tener el data y los textbox.

Muchisisimas gracias y disculpa

Zeekel...

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Busquedas En Textbox
« Respuesta #3 en: Miércoles 24 de Marzo de 2004, 04:42 »
0
Salu2 Kurt

Ya entiendo lo que me dices, bien pues tu codigo esta bien solo falta unos retoques man veamos... (dijo un ciego XDDD :D)

Tenemos:

TABLA    : Materiales
CAMPOS : CodMat, NombreMat

Tu buscas el codigo en el campo CodMat p.e. 471 y este debe devolverte el nombre del material. supongamos "Material XXX", es decir si el registro es asi:

TABLA: Materiales
----------------------------------------
CodMat | NombreMat
----------------------------------------
 471        Material XXX                   <--------- Este es el registro encontrado
 472        Material YYY
----------------------------------------

Seria asi:

Código: Text
  1.  
  2. Private Sub Text1_Keypress(Keyascii as Integer)
  3.  
  4. If KeyAscii = vbKeyReturn Then
  5. KeyAscii = 0
  6. nReg = Val(Text1)
  7.  
  8. Data1.Recordset.MoveFirst
  9. Data1.Recordset.FindFirst &#34;CodigoMat = '&#34; & Text1.Text & &#34;'&#34;
  10. Text4.SetFocus
  11.  
  12. If Data1.Recordset.NoMatch Then
  13. MsgBox &#34;La clave del material no existe&#34;, 64, &#34;Información al usuario&#34;
  14. Text1.SetFocus
  15. End If
  16.  
  17. End If
  18. End if
  19.  
  20. End sub
  21.  
  22.  

Eso siempre que tus campos esten Enlazados a los textbox de tu form
Sino debes pasar el contenido del data a los textbox.

Espero te ayude a resolver el problema.

Un saludo zeekel ®
[KGT]

PD: Si gustas podemos contactarnos por msn: mi msn es multiprocess@lycos.es
TP-Systems
our knowledge is our power!

Kurt

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Busquedas En Textbox
« Respuesta #4 en: Miércoles 24 de Marzo de 2004, 17:07 »
0
Hola amigo Zeekel:

Que crees?
No resulta esto...mejor me voy a dedicar  a la cocina, o a haber que hago...menos a la programación  :D
Hice lo que me dijiste y te anexo la pantalla para que por favor si tienes tiempo la revises tambien te adjunto el codigo....ah! enlace los text (2, 5,8...) al campo NombreMat y los text (1,4,7...) a ningun campo que es donde se digita el codigo del material  al escribir el codigo en el primer text me devuelve el material asigando a este codigo, pero al escribir en el siguiente me cambia todos... :(
Muchas gracias...

En cuanto a lo del MSN dejame investigar si en este lugar de trabajo contamos con ese servicio...saludos

Dim nReg As Long
 Dim Respuesta As String
     If KeyAscii = vbKeyReturn Then
        KeyAscii = 0
        nReg = Val(Text1)
        Data1.Recordset.MoveFirst
        Data1.Recordset.FindFirst "CodigoMat = '" & Text1.Text & "'"
        Text4.SetFocus
        If Data1.Recordset.NoMatch Then
            Respuesta = MsgBox("La clave del material no existe no existe", 64, "Información al usuario")
            Text1.SetFocus
            ElseIf Text1.Text = "" Then
                Respuesta = MsgBox("Introduzca el codigO", 64, "Información al usuario")
                Text1.SetFocus
            End If
        End If
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.