Ver Mensaje Individual
  #5  
Antiguo 16-06-2013
nefore nefore is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 25
Reputación: 0
nefore Va por buen camino
Smile

Cita:
Empezado por ecfisa Ver Mensaje
Hola nefore.

No, no has roto ninguna regla, es un recordatorio que siempre se les hace a los que publican su primer mensaje.


El que los parámetros estén declarados como constantes es a fines de optimización, funcionara del mismo modo quitando el calificador. Y el sentido de enviar como argumento el nombre del campo es para evitar la evaluación del índice (opción) dentro de la función.

Para ese caso es mas simple usar el método Locate:
Código Delphi [-]
begin
  if ADOTable1.Locate('DNI', Edit1.Text,[]) then
  begin
    MessageBox(Handle,'Ya existe un propietario con ese DNI', '', MB_ICONERROR + MB_OK);
    Exit;
  end;
  //... Continuar con el ingreso


Ignoro que tipos estás enviando como argumentos a la función, sería bueno si pusieras la declaración de las variables y la parte del código en que realizas la llamada.
Fijate que los parámetros los declaré de tipo string, partiendo del supuesto que campos tales como APELLIDO_NOMBRES no seran de tipo Integer.

Saludos.
Oh, vaya! muchas gracias el ADOTable.Locate ha funcionado! Lo malo es que he tenido que pasar el dni como string para que lo tome, dado que lo tenia como campo numerico en la BD, y aca paso un string del edit (segun tengo entendio).
Pues bien, me ha servido de mucho para la validacion, pero el problema es que aun asi necesito un metodo para buscar con ADOTable con un filtro o algo asi, porque por ejemplo cuando realize la consulta y pedir buscar por nombre y apellido (o por parte de este), utilizaria el Filtro y mostraria los resultados en un db grid.
Igualmente desde ya muchas gracias, te agradezco por la ayuda (ya me estaba volviendo loco). Un paso menos.
Responder Con Cita