Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Error Filtrando una Tabla Paradox (BDE) (https://www.clubdelphi.com/foros/showthread.php?t=30678)

mariofur 13-04-2006 18:44:28

Error Filtrando una Tabla Paradox (BDE)
 
Hola.

Tengo un problema que me trae de cabeza. Cuando establezco un filtro a una tabla que viene dado por una variable y el valor de dicha variable es numérico no tengo ningún problema, lo malo viene cuando el valor de esta variable viene como texto (alfanumérico para ser exactos). El formato del campo de la tabla por el que tiene que filtrar es alfanumérico y de un tamaño de 25, así que no creo que ese sea el problema. Para aclarar esto pongo parte del código fuente ...

var
Strnumfact:String;
begin
Base_de_Datos.MiTablaOrigen.Last;
Strnumfact:=DBEdit8.Text;
Base_de_datos.MiTablaDestino.Filtered:=False;
Base_de_datos.MiTablaDestino.Filter:='NumFact_Articompras = ' + Strnumfact;
Base_de_datos.LineasCompras.Filtered:=True;

Lo raro de todo esto es que el mensaje de error que me da es el siguiente:
Field XXXXXXX not found, donde XXXXXXXXX es el valor que utilizo para filtrar no el campo.

Por si sirve de algo estoy utilizando un Delphi7.

Gracias

Sotrono 13-04-2006 19:19:15

Hola, usa la función QuotedStr:
Código Delphi [-]
Base_de_datos.MiTablaDestino.Filter:='NumFact_Articompras = ' + QuotedStr(Strnumfact);

Bytes...

mariofur 15-04-2006 12:27:43

Gracias lo voy a probar. Pero para que sirve exactamente QuotedStr?

Gracias de antemano.

Sotrono 15-04-2006 14:30:23

QuotedStr sirve para agregarle una comilla simple (') al principio y al final de la cadena que le pases como parametro:
Código Delphi [-]
ShowMessage(QuotedStr('Hola'));

Te va a devolver el mensaje 'Hola'.

Saludos...

mariofur 15-04-2006 18:03:22

Lo he probado y ha funcionado perfecto, gracias a ti he conseguido un poco más de conocimiento de Delphi.

Eternamente Agradecido.

casacham 15-04-2007 16:14:11

Sino deseas usar la "string cuoted"
 
Una alternativa es colocar las comillas repetidas par encerrar tu alfanumerico. Por ejemplo

Tabla.Filter:= ' Campo = ' + ''''TexoAlfaNumerico'''';


La franja horaria es GMT +2. Ahora son las 06:32:58.

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