Añadir registros en una tabla desde esa misma tabl

Hola, mi duda es la siguiente:
Tengo una tabla con varios registros y me gustaría copiar esos registros, cambiándoles el valor de un campo, por ejemplo:
campo1        campo2          campo3
1                   aaaaa             01/01/2009
2                   bbbbb             03/03/2009
3                   cccccc              03/03/2009
Añadimos el registro2 actualizando el campo3, con lo cual quedaría:
campo1       campo2           campo3
1                    aaaaa            01/01/2009
2                    bbbbb            03/03/2009
3                    cccccc             03/03/2009
2                    bbbbb            27/04/2009
Necesitaría el código en visual basic para hacer esto, no sé si es con insert into o que, así que muchas gracias de antemano.

1 Respuesta

Respuesta
1
La consulta podría ser:
Insert into tabla (campo1, campo2, campo3)
select campo1, "bbbb" as campo2, #24/04/2009# as campo3
From tabla Where campo1=2;
ó:
Insert into tabla (campo1, campo2, campo3)
values (2,'bbbbb', #24/04/2009#)
Pueden ejcutarse desde un consulta o para ejecutarla desde una linea de comados:
DoCmd.RunSQL "Insert into......."
Si, más o menos era lo que yo tengo, pero necesito una aclaración que antes no pedí. Quiero que el valor del campo1 me venga del formulario, ¿cómo hago eso? ¿Así?
sql = "insert into tabla (campo1) " & _
"select " & formulario.valorcampo1 & _
"from tabla where tabla.campo1 = " & formulario.valorcampo1 & _
"and tabla.campo3 = 'hola';"
DoCmd.RunSQL sql
asi es;
Si la instrucción esta en el mismo formulario donde esta el valorcampo1 debes usar Me. En vez de formulario. (Si formulario es el nombre del formulario)
... " Select " & me.valorcampo1 & " _ .......
Si, por el contrario, esta en otro formulario la instrcion seria
..." Select " & forms.formulario.form!valorcampo1 & _ ........

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas