Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-11-2010
agustin173 agustin173 is offline
Miembro
 
Registrado: jun 2010
Posts: 158
Poder: 17
agustin173 Va por buen camino
Determinar cual es el campo que existe

hola muchachos como estan todos

Necesito una pequeña luz para resolver un problema

Tengo 4 campos y quiero que me diga cual o cuales fueron los campos que encontro iguales en la base de dato Me explico mejor.

Estoy usando delphi 7
una tabla llamada = suplidor
Con cuatro campos llamados = (RNC, Suplidor, Telefono y Email)
Un Adoquery llamado = Temp
2 Maskedit llamados = (MERnc y METelefono)
2 Edit llamados = (EDSuplidor y EDEmail)

Pongo el Codigo

Código Delphi [-]
var
  Msk: string;
  Msk1: String;
begin
// Determina si Existe un Registro en la Base de Datos
 with temp do
  begin
    close;
    sql.Clear;
    Msk:= MERnc.EditMask;  // salvar mascara
    Msk1:= METelefono.EditMask;
    MERnc.EditMask:= '';   // borrarla
    METelefono.EditMask:= '';
    sql.Add('select Rnc,Suplidor,Telefono,Email from Suplidor');
    sql.Add('where Rnc = '+QuotedStr(MERnc.Text));
    sql.Add('or Suplidor = '+QuotedStr(EDSuplidor.Text));
    sql.Add('or Telefono = '+QuotedStr(METelefono.Text));
    sql.Add('or Email = '+QuotedStr(EDEmail.Text));
    MERnc.EditMask:= Msk; // restaurarla;
    METelefono.EditMask:= Msk1;
    open
  end;
   if not temp.IsEmpty then
     raise exception.Create('Registro Existe');

Lo que deseo es, tengo cuatro campos si ustedes ven cuando encuentra los datos en la base de dato esta me dice en general que registro existe, pero deseo que lo haga campo por campo que si fue RNC, me diga RNC Existe, si Fue TElefono Me diga Telefono Existe, si fueron 2 o mas me lo diga en un solo letrero es eso posible ayundenme por favor.
Responder Con Cita
  #2  
Antiguo 08-11-2010
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Yo creo que habria que lanzar la consulta tantas veces como campos quieres comparar y guardar los resulados positivos en una variable de tipo texto.

Var
xxx:String

xxxx:='Se encontraron resultados en los campos:';
Si consulta no está vacía:

xxx:=xxx+Nombre_del_campo;

así hasta completar los 4 campos.

Primero lanzar una con los 4 campos a la vez por si no hubiese ningún resultado no seguir con el resto.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 08-11-2010
agustin173 agustin173 is offline
Miembro
 
Registrado: jun 2010
Posts: 158
Poder: 17
agustin173 Va por buen camino
marcoszorillas podrias explicarme mejor con el codigo porque no se mucho de programacion

por favor
Responder Con Cita
  #4  
Antiguo 09-11-2010
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
var
  Msk: string;
  Msk1: String;
  cCampos:String;
begin
// Determina si Existe un Registro en la Base de Datos
cCampos:='Los siguientes campos se encontraron en la busqueda';
 with temp do
  begin
    close;
    sql.Clear;
    sql.Add('select Rnc,Suplidor,Telefono,Email from Suplidor');
    sql.Add('where Rnc = '+QuotedStr(MERnc.Text));
     open;
  end;
   if not temp.IsEmpty then
     cCampos:=cCampos+':RNC';//segundo campo
with temp do
  begin
    close;
    sql.Clear;
    sql.Add('select Rnc,Suplidor,Telefono,Email from Suplidor');
    sql.Add('where Suplidor = '++QuotedStr(EDSuplidor.Text));
     open;
  end;
   if not temp.IsEmpty then
     cCampos:=cCampos+':Suplidor';

Y así hasta testar todos los campos.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 09-11-2010
agustin173 agustin173 is offline
Miembro
 
Registrado: jun 2010
Posts: 158
Poder: 17
agustin173 Va por buen camino
marcoszorrilla este codigo no me funciona tienes otra idea amigo por favor
Responder Con Cita
  #6  
Antiguo 09-11-2010
agustin173 agustin173 is offline
Miembro
 
Registrado: jun 2010
Posts: 158
Poder: 17
agustin173 Va por buen camino
por favor alguien puede ayudarme a con el codigo que necesito por favor

muchachos ayudenme que estoy desde ayer sin solucionar este lio

si tengo que explica mejor diganmelo
Responder Con Cita
  #7  
Antiguo 10-11-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por agustin173 Ver Mensaje
marcoszorrilla este codigo no me funciona tienes otra idea amigo por favor
Hola Agustin.

Según lo que leí, el código que puso marcos, debería funcionar correctamente.

Hubiera sido mejor que pusieras el error generado o explicar mejor el resultado que buscas, yo interpreto tu planteo como marcos.

Igual te pongo un código (que básicamente hace lo mismo) y pone además la cantidad de veces que está repetido el dato. Por ahí podés sacar alguna idea de él.

Código Delphi [-]

function TForm1.Mensaje(cp1,cp2,cp3,cp4:string): string;
const
   Consulta ='SELECT COUNT(*) AS CANTIDAD FROM TU_TABLA WHERE %s = %s';
begin
  with Query do
  begin
    Close;
    SQL.Text:= Format(Consulta,['Rnc',QuotedStr(cp1)]);
    Open;
    if not IsEmpty then
     Result:= 'Rnc: ' + FieldByName('CANTIDAD').AsString+#10#13;

    Close;
    SQL.Text:= Format(Consulta,['Suplidor',QuotedStr(cp2)]);
    Open;
    if not IsEmpty then
     Result:= Result + 'Suplidor: '+FieldByName('CANTIDAD').AsString+#10#13;

    Close;
    SQL.Text:= Format(Consulta,['Telefono',QuotedStr(cp3)]);
    Open;
    if not IsEmpty then
      Result:= Result+'Telefono: '+FieldByName('CANTIDAD').AsString+#10#13;

    Close;
    SQL.Text:= Format(Consulta,['Email',QuotedStr(cp4)]);
    Open;
    if not IsEmpty then
      Result:= Result+'Email: '+ FieldByName('CANTIDAD').AsString;
  end;
end;

La función la pensé para ser usada con un ShowMessage, de ahí (#10#13).

Saludos.

Última edición por ecfisa fecha: 10-11-2010 a las 01:06:37.
Responder Con Cita
  #8  
Antiguo 11-11-2010
Avatar de Cañones
Cañones Cañones is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Paz Entre Ríos
Posts: 354
Poder: 20
Cañones Va por buen camino
Cita:
Empezado por agustin173 Ver Mensaje
hola muchachos como estan todos

Necesito una pequeña luz para resolver un problema

Tengo 4 campos y quiero que me diga cual o cuales fueron los campos que encontro iguales en la base de dato Me explico mejor.
Declarando como Unique los campos. Esto no te permitirá que en una columna se repita un valor.
Vas a ahorrar mucho tráfico con la DB.

Saludos.
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sumar campo que no existe... HombreGordo Conexión con bases de datos 4 05-08-2008 17:01:32
saber que no existe registro de ese campo Petolansa SQL 4 31-07-2008 01:42:10
Saber si existe una tabla o campo en la BD juanelo SQL 1 10-01-2008 19:45:03
existe campo de tipo memo ? ascrnet Varios 15 29-03-2007 11:17:32
Saber si un campo existe Fita Conexión con bases de datos 2 04-10-2005 19:10:10


La franja horaria es GMT +2. Ahora son las 17:39: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