Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-07-2004
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
No te entiendo muy bien, vamos a ver si haciendo un locate con esos cuatro campos no existe un registro unico sino varios, es lógico que se posicione en el primero que encuentra, si tu tabla solo tiene esos cuatro campos y hay varios registros con esos cuatro campos iguales lo que deberías hacer es mostrar un dbgrid editable ya que sobre dbedits solo puedes editar/mostrar un solo registro.

Pon un if a ver si te realiza el locate:

Código Delphi [-]
if Form2.Table2.Locate('EMPRESA2;HORAINICIO;HORAFIN;ANULADO2', VarArrayOf([Form2.Query2.Fieldbyname('FECHARESERVA').value, 
Form2.Query2.Fieldbyname('HoraInicio').value, Form2.Query2.Fieldbyname('HoraFin').value,Form2.Query2.Fieldbyname('Anulado2').value]), []) then 
// abres tu form
else
 showmessage('No existen entradas');

Saludos, Tony
Responder Con Cita
  #2  
Antiguo 07-07-2004
RyAr RyAr is offline
Miembro
 
Registrado: oct 2003
Posts: 74
Poder: 23
RyAr Va por buen camino
Buenas, y gracias por tu explicacion, solo tengo una duda del codigo que me has puesto. Porque en el locate en la primera parte pones EMPRESA2, y excluyes FECHARESERVA, y en la segunda parte incluyes FECHARESERVA y excluyes EMPRESA2.

Una aclaracion, al hacer la consulta selecciono FECHARESERVA, HORAINICIO, HORAFIN, ANULADO2, es decir, que no incluyo el campo empresa, ya que esa parte la meto en el WHERE de la consulta para comprar si es la empresa a o no. Al no incluir EMPRESA2 en la consulta, como modificaria tu codigo.

Gracias, gracias y gracias
Responder Con Cita
  #3  
Antiguo 07-07-2004
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
upss se me ha pasado meter el campo empresa , faltaría que lo metieses y ya esta....
Responder Con Cita
  #4  
Antiguo 07-07-2004
RyAr RyAr is offline
Miembro
 
Registrado: oct 2003
Posts: 74
Poder: 23
RyAr Va por buen camino
Buenas, ya me va bien, asi que muchisimas gracias por tu paciencia.

Saludos
Responder Con Cita
  #5  
Antiguo 08-07-2004
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Poder: 23
ramonibk Va por buen camino
Una pequeña duda.

yo tengo algo parecido y tambien estoy buecando la manera de poder habrir desde el Dbgrid basado en Query un formulario para modificacion de datos.
pero en mi caso se complica por que lo que tengo son barios Query que mandan los datos a un DataSource. el cual es el que pinta en el DbGrid.

Código:
 
procedure TfrmBuscar.btnBuscarClick(Sender: TObject);

begin
 if rbEmpresa.checked then Begin
  qryEmpresas.close;
  qryEmpresas.ParamByName('Buscar').asString := edit1.Text+'%';
  dsBuscar.dataSet:=qryEmpresas;
  qryEmpresas.Open;
 End Else
 If rbNombre.checked Then Begin
  qryNombre.Close;
  qryNombre.ParamByName('Buscar').asString := edit1.Text+'%';
  dsBuscar.DataSet:=qryNombre;
  qryNombre.Open;
 End Else
 If rbApellido.checked Then Begin
  qryApellido.Close;
  qryApellido.ParamByName('Buscar').asString := edit1.Text+'%';
  dsBuscar.DataSet:=qryApellido;
  qryApellido.Open;
 End Else
 If rbTelefono.checked Then Begin
  qryTelefono.Close;
  qryTelefono.ParamByName('Buscar').asString := edit1.Text+'%';
  dsBuscar.DataSet:=qryTelefono;
  qryTelefono.Open;
  End;
end;

procedure TfrmBuscar.Salir1Click(Sender: TObject);
begin
 Close;
end;
Este es el codigo que estoy Usando para las diferenres busquedas.
Responder Con Cita
  #6  
Antiguo 09-07-2004
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Pues en el evento que abras ese formulario (ya sea un boton, o en el OnDblClick del DbGrid), pon los if que estás colocando en el btnBuscar, y dependiendo de cual este checked, haces un locate sobre una tabla u otra.

Saludos, Tony
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:19:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi