 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Pepa Invitado
|
Publicado: Lun 17 May, 2004 7:04 am Asunto: Usar Locate pero en un TQuery |
|
|
Cordial saludo:
{
Estoy intentando hacer uso del metodo Locate pero en un TQuery y no me funciona, alguien sabe como puedo localizar un registro que cumpla con cierto criterio de busqueda por ejemplo que cumpla con la condicion Cust_No = 1 y hacer que dicho registro sea seleccionado aumaticamente??? mejor dicho lo que hace el locate pero usarlo en un TQuery-....
Mil gracias de antemano...
}
bye. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Lun 17 May, 2004 1:56 pm Asunto: |
|
|
Pues Funcion Exactamente igual que el de la Tabla,
| Código: |
Query1->Locate(<campo>,<expresion>,TLocateOptions());
// asi para lo que quieres
Query1->Locate("Cust_No",1,TLocateOptions());
|
quiero recordarte que cuando carges la sentencia del SQL, tambien, definas los campos que deseas controlar, para que estos se puedan utilizar dentro del Locate
Es decir primero has el enlace hacia la tabla, con un simple
| Cita: |
Select * from TuTabla
|
despues presionas doble clik dentro del Query para Agregar los Campos
y despues de eso ya puedes ponerle tu condicion
| Cita: |
Select * from TuTabla
Where loquesea = lo que sea
|
para que puedas usar los campos...
saludos _________________
 |
|
| Volver arriba |
|
 |
Pepa Invitado
|
Publicado: Vie 28 May, 2004 3:22 am Asunto: ?? |
|
|
Al usar Locate en un TQuery de la forma
<CODE>
Set<TLocate,0,1> flags;
flags <<loCaseInsensitive<< loPartialKey;
Datamodule->Query1->Locate(ComboBox1->Text,Edit1->Text,flags);
Datamodule->Query1->Refresh();
</CODE>
Me sale este error:
| Cita: |
Table does not support this operation because it is not uniquely indexed
|
Si alguien sabe porque me sale ese error,
De antemano gracias
Saludos. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mie 02 Jun, 2004 2:07 pm Asunto: |
|
|
Utiliza TLocateOptions, en lugar de la forma que utilizas debe funcionar..
conjuntmente con sus respectivos Datos << loPart... etc. etc _________________
 |
|
| Volver arriba |
|
 |
Pepa Invitado
|
Publicado: Jue 03 Jun, 2004 5:11 am Asunto: ?? |
|
|
Cesar, ,lo he hecho con TLocate y nada, me aseguras que funciona en un Query??
de antemano mil gracias
bye. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Jue 03 Jun, 2004 8:20 am Asunto: |
|
|
Te paso un codigo que utilizo, dentro de un Query, con dos campos diferentes, para localizar un Registro...
| Código: |
void __fastcall TCARGOSIN::Edit13KeyPress(TObject *Sender, char &Key)
{
// AQUI VOY
if(Key==VK_RETURN){
Key=0;
//2 Nombres de Campos
String columns ("CLVCONCEPTO;PRECIOREAL");
//Inicializo una Cadena con los 2 Nombres de las Columnas
//Separadas por un punto y coma.
Variant matchText = VarArrayCreate(OPENARRAY(int,(0,2)),varVariant);
//Declaro un Array tipo Varian que para Contener el Texto de Busqueda.
//Los Elementos del Array, el Primero para la CLVCONCEPTO
matchText.PutElement(this->Edit12->Text,0);
//eL Segundo para PRECIOREAL
matchText.PutElement(this->Edit13->Text.ToDouble(),1);
//REALIZA LA BUSQUEDA, CON LOCATE..
if(this->Query2->Locate(columns,matchText,TLocateOptions())){
this->Query2->Edit();
this->Query2DEBE->Value=true;
this->Query2->Post();
this->Edit12->Text = "";
this->Edit13->Text = "";
this->Edit6->SetFocus();
}else{
ShowMessage("El Concepto: "+this->Edit12->Text+
"Con Importe: "+this->Edit13->Text+"\n No se Ecuentra Verifique Clave e Importe");
this->Edit12->SetFocus();
}
}
}
|
Todo Esto va dentro del KeyPress de un Edit, que al presionar Enter, me ubica el Campo de Una consulta que coincida con los Criterios...
saludos..
Espero te Sirva... _________________
 |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|