Access - Macro para cambiar datos procedentes de una consulta de campo a registros.

   
Vista:

Macro para cambiar datos procedentes de una consulta de campo a registros.

Publicado por jrui (9 intervenciones) el 16/01/2014 08:46:52
Buenas soy nuevo en este foro, voy a explicar concretamente lo que me gustaría conseguir si es que se puede.
Uso access 2007 ,aunque a veces también uso access 2002.
Tengo una tabla la cual esta compuesta por los siguientes campos: fecha, hora, valor tag1, valor tag2, valor tag3....

De esta manera:

Fecha Hora ValorTAG1 ValorTAG2......

2/2/2014 0:00:00 10 13
2/2/2014 1:00:00 15 12
...........................................................
3/2/2014 0:00:00 18 14
............................................................
3/2/2014 23:00:00 14 15
4/2/2014 0:00:00 13 14
...........................................................


Sobre esta tabla hago una consulta la cual me pide una fecha y obtengo todos los registros que hay para esa fecha, es decir, todos los valores de los tag para las horas de ese día.

Lo que me gustaría es conseguir pasar los registros de esta consulta a una tabla Z en la cual los campos fuesen los siguientes: TAG ( indica el tag al que corresponde, es decir, tag 1 o tag 2 o tag 3...), Fecha, Hora y Valor( seria el valor del tag que aparece en la consulta es decir si TAG = tag1 el campo Valor seria igual a Valor tag1 de la tabla primaria, o si fuese TAG = tag2 el campo Valor seria igual a Valor tag2 ......).

He conseguido hacerlo pero solo para un campo Valor tag de la tabla primaria, por ejemplo:

Campo tabla Z:

TAG FECHA HORA VALOR

tag1 2/2/2014 0:00:00 10

tag1 2/2/2014 1:00:00 15

.......................................................

tag1 2/2/2014 23:00:00 12



Pero el problema esta que no consigo que después siga con el tag2 o el tag3 ....

tag2 2/2/2014 0:00:00 18

..............................................



Espero que este todo bien explicado, sino me decís e intento mejorar la explicación de lo que busco.



Muchas gracias.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Macro para cambiar datos procedentes de una consulta de campo a registros.

Publicado por Lucas Felipe (59 intervenciones) el 17/01/2014 03:11:42
Hola, por lo que veo cada registro tiene valor de todos los tags, por tanto no sé si lo que ud quiere es que el registro se agrege 3 veces uno por cada valor de tag; si no es así y por el contrario cada registro obedece a un solo tag basta con con un if que ela cual tag tiene valor

dim tipotag as string

if tag1>0 and tag2=0 and tag3=0 then
tipotag="tag1"
elseif tag1=0 and tag2>0 and tag3=0 then

elseif tag1=0 and tag2=0 and tag3>0 then

else
msgbox "error
end if
docmd.runsql "INSERT tabla(tag ,Fecha, Hora ,Valor) VALUES ('" & tipotag & "',fecha,hora,valor)"


Si lo que quiere es agregar 3 veces el mismo registro seria con un for

for i=1 to 3 step 1
docmd.runsql "INSERT tabla(tag ,Fecha, Hora ,Valor) VALUES ('tag" & i & "',fecha,hora,valor)"
next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro para cambiar datos procedentes de una consulta de campo a registros.

Publicado por jrui (9 intervenciones) el 17/01/2014 09:06:43
Buenas, lo primero muchas gracias por responder.

Lo que necesitaria es que el registro se agregara una vez por cada tag, por lo tanto debería usar la opción con for sino me equivoco.
Tengo una pregunta sobre el código, yo solucione el problema para un tag creando un formulario de consulta y programando en el por eventos, obteniendo la ordenación como queria y generando un informe de este. Ahora este código donde deberia incluirlo para que funcionase correctamente o que debería crear que vincule a la consulta para inlcuir el código.

Gracias y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro para cambiar datos procedentes de una consulta de campo a registros.

Publicado por Lucas Felipe ingserrano@live.com (59 intervenciones) el 19/01/2014 17:06:30
Hola, el codigo puede ponerlo en cualquier parte que quiera, depronto en el evento de un boton o al abrir el form o talvéz al intervalo de cronometro no sé como quiera hacerlo, cualquier cosa me envia su bd al email
O por ejemplo lo puede agregar en el form donde el usuario ingresa datos iniciales y un boton de "guardar" haria tras bambalinas e insert en la otra tabla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro para cambiar datos procedentes de una consulta de campo a registros.

Publicado por jrui (9 intervenciones) el 21/01/2014 10:27:00
De acuerdo.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar