En una instrucción sql poner una variable

Como puedo cambiar en una instrucción SQL un valor fijo por una variable, la instrucción es esta: .Open "SELECT Tablamovimientos.iddia, Sum(Tablamovimientos.IMPORTE_ING) AS SumaDeIMPORTE_ING, Sum(TablaMOVIMIENTOS.IMPORTE_GASTO) AS SumaDeIMPORTE_GASTO From TablaMOVIMIENTOS GROUP BY TablaMOVIMIENTOS.IDDIA HAVING (((TablaMOVIMIENTOS.IDDIA)=4))" Y necesito cambiar el número 4 final por una variable para que sirva para muchas iddia,

Respuesta
2

Primero declaras la variable, luego le asignas un valor y la usas en la SQL

Para declarar la variable:

Dim miVariable as Integer '(o Long, o del tipo que necesites)

Para asignarle un valor:

Directamente en el código: miVariable= 45   

Cogiendo el valor de un cuadro de texto del formulario: miVariable=Textbox.Text

Preguntando al usuario por el valor: miVariable=InputBox("Introduzca un número", "Introducción de número")

Y la SQL te quedaría:

.Open "SELECT Tablamovimientos.iddia, Sum(Tablamovimientos.IMPORTE_ING) AS SumaDeIMPORTE_ING, Sum(TablaMOVIMIENTOS.IMPORTE_GASTO) AS SumaDeIMPORTE_GASTO From TablaMOVIMIENTOS GROUP BY TablaMOVIMIENTOS.IDDIA HAVING (((TablaMOVIMIENTOS.IDDIA)=" & miVariable & "))"

¡Gracias! Lo proebo el fallo estaba en que no ponía &variable & .muchas gracias

Es que Icue te respondió pensando en SQL-Access y no en VB.

Ya comentarás si te funciona

¡Gracias!  Porsupuesto mañana lo pruebo y os comento.

Hola Sveinbjorn No he podido esperar y como lo tengo preparado lo probé y funciona a la perfección te mereces el EXCELENTE : Paso aexplicarte lo que he hecho. Es una tabla de año, mes, y día y selecciono el día en un datagrip y me presenta los movimientos pero luego necesito los totales, y así se soluciona es en vb 6.0 .Muchas gracias.

Un placer ayudarte, y sobre todo, ver que lo has podido resolver.

Quedo a la espera de tu valoración (si no lo has hecho ya y está fallando la página)

¡Gracias ya le pulse a la valoración, si no lo recibes dímelo y lo vuelvo a pulsar.

Perdona tengo una duda : para vslorarte esbpulsando el pulgar hacia arriba con las dos flechas ? Es lo wue he hecho dime si esta bien y si no para volcer a pulsar. Gracias

Sí, ya aparece valorada como excelente.

1 respuesta más de otro experto

Respuesta
1

Es lo mismo pero terminando en

......(((tablamovimientos.IdDia)=[Escriba un numero]));

Así, cuando la vayas a abrir te preguntará lo de Escriba..., lo anotas y ya está.

¡Gracias! 

Icue No funciona me dice Error No se ha especificado valores algunos para los parámetros requeridos . Con un 4 si vale con [Que valor] no

Haber si es por que la sentencia sql es para vb 6.0 ?

Si tengo una tabla Compras

Construyo una consulta

Que en vista SQL es

Cuando la quiero abrir me aparece

Escribo un número

Y

Si icue en ascess si funciona, pero a la hora de psar la sql al vb6.0 si le pongo el numero del id ej el  funciona muy bien , pero si cambio el 4 por [que numero ] falla, y si inicio una variable y capturo rl valor y cambio el 4 por la variable tampoco funciona y no lo entiendo.

Chico, de verdad lo siento, pero no sé la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas