Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   como pasar parametros... (https://www.clubdelphi.com/foros/showthread.php?t=10137)

hook 11-05-2004 17:12:42

como pasar parametros...
 
como le paso un parametro desde un formulario de delphi a una consulta en access

Un saludo, gracias.

delphi.com.ar 11-05-2004 17:15:13

Podrías especificar un poco mas tu pregunta..
¿¿Tienes un TQuery en el form que ejecuta una consulta contra un Access??

hook 11-05-2004 17:24:49

tengo una consulta en access que necesita que le pase un parametro -->

SELECT DISTINCT [nombre_virus] AS xxx
FROM servers_enero
WHERE pc=[:nom_pc];

y este parametro es el nombre de pc que selecciono en mi form de delphi, como le paso este nobre a la consulta que esta en access????

delphi.com.ar 11-05-2004 17:27:01

Código Delphi [-]
Query1.ParamByName('nom_pc').AsString := edNomPc.Text;
¿Eso?

hook 11-05-2004 17:38:05

eso esta claro, pero eso es para pasar el parametro a una consulta de delphi(query) pero mi consulta esta hecha en access....

jachguate 11-05-2004 18:31:01

Como asi???

Programas en Delphi contra una base de datos access?? entonces lo dicho por delphi.com.ar es perfectamente válido.

Programas en access?? pues lo siento, pero este foro es de delphi. Claro, si hay alguien que pueda responderte está en la libertad de hacerlo, pero al menos debieras aclarar eso desde el principio (incluso en el título del hilo).

Para mejorar la calidad de tus preguntas, te sugiero la lectura de este hilo

Hasta luego.

;)

__cadetill 11-05-2004 18:45:53

Hola Juan Antonio
Cita:

Empezado por jachguate
Programas en Delphi contra una base de datos access?? ....
Programas en access?? ...

Al igual digo una bobada (de Access, lo básico sólo) pero creo entender que tiene una consulta almacenada en Access que requiere un parámetro y, desde Delphi quiere llamar a esa consulta de Access y pasarle un parámetro

Lo que no se es porque no pasa esa consulta a Delphi (un TQuery o lo que sea) y la ejecuta normalmente con los parámetros que quiera :confused:

hook 11-05-2004 18:47:32

Nooooo; vamos a ver si me explico bien....
Tengo una consulta hecha en access (solo la consulta, la aplicacion esta hecha en delphi) pero esta consulta necesita que le pasen un parametro, yo desde acces, me pide el parametro se lo escribo y va perfecta, pero este parametro se lo tiene q pasar la aplicacion hecha en delphi, no es una query, es una consulta de acces. Como le puedo pasar en ejecucion ese parametro que necesita????

Un saludo.

hook 11-05-2004 18:52:16

Hola cadetill, eso es justamente lo que quiero, no la hago desde delphi porque me da un error. Esta consulta me hace un agrupamiento y luego necesito q me cuente cuantos registros saca y esto en delphi me da error, entonces lo que quiero hacer es el agrupamiento en una consulta y luego contar como si fuera una tabla....

delphi.com.ar 11-05-2004 18:52:42

Cita:

Empezado por hook
Nooooo; vamos a ver si me explico bien....

Eso es precisamente lo que tendrías que haber hecho desde un comienzo!

Me parece que no puedes acceder a las consultas de access como si fueran vistas, lo que vas a tener que hacer, es copiar el SQL de esta consulta y ponerlo en el SQL del TQuery y ahí definir el tipo de parámetro. Como desventaja, si modificas la consulta desde Access no se verá reflejado en tu aplicación.

Saludos!

delphi.com.ar 11-05-2004 18:53:49

Cita:

Empezado por hook
Hola cadetill, eso es justamente lo que quiero, no la hago desde delphi porque me da un error. Esta consulta me hace un agrupamiento y luego necesito q me cuente cuantos registros saca y esto en delphi me da error, entonces lo que quiero hacer es el agrupamiento en una consulta y luego contar como si fuera una tabla....

¿No te permite poner un select en lugar de una tabla?
Código SQL [-]
SELECT CAMPOS..
FROM TABLA1, (SELECT * FROM TABLA2..)
....

__cadetill 11-05-2004 18:58:02

Cita:

Empezado por hook
... y esto en delphi me da error....

Y qué error te da? Porque según leo a d.c.a., no te queda más remedio que hacerlo todo desde Delphi

guillotmarc 11-05-2004 19:19:46

Hola.

En mis tiempos de Visual Basic (mejor olvidarlos), podía acceder a las vistas almacenadas de Access como si fueran procedimientos almacenados.

Si utilizas ADO para acceder a Access (no creo que funcione con BDE), añade un componente TADOStoredProc, y mira a ver si en ProcedureName, te deja indicar tu vista almacenada. En caso afirmativo, verás como en la propiedad Params, aparecen los parámetros de esa vista.

En el código Delphi, ya solo tienes que hacer la asignación habitual de valor en el parámetro :

ADOStoredProc1.ParamByName('nom_pc').AsString := edNomPc.Text;
ADOStoredProc1.Open;

Saludos.

guillotmarc 11-05-2004 19:24:14

Hola.

Solo indicar que si esta es tu consulta :

SELECT DISTINCT [nombre_virus] AS xxx
FROM servers_enero
WHERE pc=[:nom_pc];

Esto te debería funcionar sin mayores problemas desde un Query de Delphi, aunque personalmente quitaría los corchetes puesto que no parecen ser necesarios, fuera también el punto y coma final, y para mayor legibilidad, deja espacios en el igual.

Es decir :

SELECT DISTINCT nombre_virus AS xxx
FROM servers_enero
WHERE pc = :nom_pc

Saludos.


La franja horaria es GMT +2. Ahora son las 17:13:13.

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