Copiar contenido campo memo de tabla1 a campo memo de tabla2

Tengo dos tablas (Tabla1 y Tabla2) con diversos campos, entre ellos 'Documento' (tipo texto) y 'Notas' (tipo memo) en ambas tablas. En Tabla2 tengo bastantes registros que coinciden el campo Documento con el mismo campo de la Tabla1. De dichos registros coincidentes de Tabla2 quiero copiar el contenido de su campo memo Notas al campo Notas de la Tabla1; no se si me explico: sería como decir "si Documento de Tabla2 es igual a Documento de Tabla1, copia el contenido de Notas de Tabla2 a Notas de Tabla1". Quiero copiar el contenido de dicho campo, no copiar el registro entero de la Tabla2 a la Tabla1. He visto algo relacionado
Sobre esto último pero no es lo que pretendo, quiero copiar el contenido del campo memo, no el registro completo. He estado viendo también las consultas de anexado y de actualización pero no veo que hagan lo que quiero.

Respuesta
1

Correcto en ese caso pienso que lo mejor sería usar un poco de código

Un pocedimiento que haga la copia

-----------------------------------------------

Private sub copiarTexto

dim tab1 as recordset , tab2 as recordset

dim db as database

set db= currentdb

set tab1=db,openrecordset("tabla1", dbopendynaset)

set tab2 =db.openrecordset("tabla2",dbopendynaset)

while not tab1.eof

tab2.findfirst "documento="&tab1.documento 'aquí supongo que documento es numérico

if not tab2.nomatch then

tab2.edit

tab2.notas= tab1.nota

tab2, update

Tab2.movefirst

end if

Tab1.movenext

Wend

Tab1. Close

Tab2. Close

Db. Close

End sub

--------------------------------------------------------------------------------------------------------------

Supongo que esto debería resolver el problema, para ejecutarlo llamas al procedimiento

Que debes crear en el mismo formulario en algún evento de la siguiente manera

call copiarTexto

Perdón si documento es tipo texto en ese caso deberías modificar esta sentencia así

<h6>tab2.findfirst "documento='"&tab1.documento&"'" </h6>

Muchas gracias por tu respuesta pero perdona mi poco conocimiento de códigos; tengo dos dudas:

- efectivamente el campo documento es texto (para introducir letra del DNI): ¿entiendo que la línea 2tab2.findfirst "documento="&tab1.documento" debo reemplazarla por <h6>tab2.findfirst "documento='"&tab1.documento&"'" </h6>, o debo de quitarle lo de </h6>?

- ¿Dónde he de colocar lo de call copiarTexto?, porque entiendo que no es crear un botón de comando y al darle clic que lo ejecute. ¿He de crear un módulo con este procedimiento y después en alguno de los eventos de un formulario escribir lo de callcopiarTexto?

Nuevamente gracias

Sí debes reemplazar como te he indicado, lo de <H6> no va

Este procedimiento puede ponerse en un modulo siempre y cuando cambies

el encabezado donde dice Private por Public

Si lo pones en un formulario debes llamarlo (ejecutarlo) desde algún evento

De ese mismo formulario, Por ej al hacer clic de un botón en ese evento pones

call copiartexto . Si lo pones como public en cualquier modulo , podrás ejecutarlo

De la misma forma desde cualquier evento de cualquier formulario.

Saludos, no olvides puntuar y cerrar la pregunta .

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas