Como Buscar en la aplicación de PB

Saludos...
Necesito una ayuda por favor ...
1.-Como hago para buscar en la base de datos en la tabla Cliente ingresando el nombre y el apellido de un cliente cada uno en un single line edit que se llame sle_nom_buscar y sle_ape_buscar respectivamente y que me muestre los datos de la tabla Cliente en un data Windows el cual se llama dw_ced... Este es el código que tengo pero me busca todos los que están registrados y solo quiero que me salga uno solo, es decir el cliente que estoy buscando específicamente...
string nom
string ape
select Nombre,Apellido
into :nom,:ape
from Cliente
where Nombre=:sle_nom_buscar.text and Apellido=:sle_ape_buscar.text;
if sle_nom_buscar.text<>"" and sle_ape_buscar.text<>"" then
                if sle_nom_buscar.text = nom and sle_ape_buscar.text = ape then
                               dw_ced.setTransObject(SQLCA)
                               dw_ced.Retrieve()
                               string condi
                               string condi1
                               integer cant
                               condi="upper(Nombre) LIKE '" +upper(sle_nom_buscar.text)+"%'"
                               condi1="upper(Apellido) LIKE '" +upper(sle_ape_buscar.text)+"%'"
                               dw_ced.setfilter(condi)
                               dw_ced.setfilter(condi1)
                               dw_ced.filter()               
                               pb_buscar_ced.visible=false    
                               pb_imprimir.visible=true
                               pb_vista_previa.visible=true    
                else
                               messagebox("ERROR","El Cliente no Existe o Datos Mal Ingresados",Question!)
                               sle_nom_buscar.text=""
                               sle_ape_buscar.text=""
                               sle_nom_buscar.setfocus()
                end if   
else
                messagebox("ERROR","Ingrese los Nombres y Apellidos Completos del Cliente a Imprimir",Question!)
end if
2.- Y como puedo ordenar los datos de forma alfabética en un data Windows...

1 respuesta

Respuesta
1
Bueno el código esta casi todo bien a excepción del filter, cuando haces el set filter debes enviar una cadena que funcionara como un where en la consulta SQL lo que deberías hacer es esto:
Ejemplo:
condicion1 = " tu sql 1 de consulta"
candicion2 = "tu sql 2 de consulta"
filtersql= condicion1 +" and " + consulta2
dw_ced.setfilter(filtersql)
dw_ced.filter()
Recuerda que el filter es nuestro where en la consulta interna de la base de datos así que puedes utilizar concatenaciones( and, or, etc)
Si necesitas algo más házmelo saber.
Gracias si me ayudo bastante tu comentario... y una ultima ayuda por favor como puedo hacerlo al momento de autentificarse que solo le permita hacer tres intentos y si no puede ingresar al cuarto intento salir...
Solo crea una sentencia sql de esta manera
// Variable de Instancia
int intentos
// en El boton de Ingresar
str_usuario_acceso.nick=sle_usuario.text
str_usuario_acceso.contraseña=sle_clave.text
  SELECT usuarios.nombres,  
         usuarios.apellidos,  
            INTO   :str_usuario_acceso.nombre,  
         :str_usuario_acceso.apellido,  
          FROM usuarios
 WHERE ( usuarios.usuario = :nickusuario ) AND 
         ( usuarios.clave = :claveingresada)   ;
if (str_usuario_acceso.id_usuario)>0 then
 open(mdi_principal)
 close(parent)
else
if intentos>=3 then
halt
else
intentos ++
 messagebox("Información","Datos ingresados erroneos revise los datos ingresados y vuelva a intentarlo")
end if
end if
Espero que te sirva perdón la demora, cualquier inquietud aquí estoy para responder

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas