| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
cecito Capt

Registrado: 25 Nov 2003Mensajes: 164Ubicación: Arequipa - Perú
|
Publicado: Sab 24 Feb, 2007 5:04 pm Asunto: Buscar Dato en tabla abierta en modo edición o inserción |
|
|
¿Como puedo hacer una busqueda de algún valor en alguna tabla(DataSet) que justo en ese momento se encuentra en modo de inserción o de edición ?
Por ejemplo me gustaría verificar si algún código que este ingresando ya existe en esa misma tabla.  |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 26 Feb, 2007 8:22 am Asunto: |
|
|
Yo lo hago sin ningún problema con un simple SELECT; lo que procuro es añadir algo que necesariamente diferencie un registro de otro. Por ejemplo: En una tabla de personas que tengo definida, cada registro lleva un código único y distinto de forma que al buscar el dato añado ese campo:
| Código: | Query1->Close();
Query1->UnPrepare();
Query1->SQL->Text = "SELECT * FROM 'Personas.db' WHERE Nif = :Nif AND Código <> :Codigo";
Query1->ParamByName("Nif")->AsString = Edit1->Text;
Query1->ParamByName("Codigo")->AsInteger = nCodigo;
Query1->Prepare();
Query1->Open();
if (!Query1->IsEmpty())
{
ShowMessage("Ya existe este NIF");
return;
} |
nCodigo es la variable que calculo cuando voy a insertar cada ficha, lo que hago con otro query:
| Código: | Query1->Close();
Query1->UnPrepare();
Query->SQL->Text = "SELECT MAX(Codigo) Codigo FROM 'Personas.db'";
Query1->Prepare();
Query1->Open();
nCodigo = Query1->FieldByName("Codigo")->AsInetger + 1; |
_________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
|