Seleccionar y copiar campos de un registro a otro

Que es el siguiente:
Necesito copiar varios campos de un registro a otro en la misma tabla. Me expicaré mejor:
Tengo una tabla y cada registro contiene los campos: Campo1, Campo2, Campo3, Campo4, ... Etc.
Necesito hallar la función que me permita seleccionar y copiar los datos que contienen los campos que yo quiera en los mismos campos otro registro en la misma tabla.
Soy bastante novato en Access y mucho más en VB y ya no se que hacer, estoy a punto de tirar la tolla.
Respuesta
1
Te he preparado una BD de ejemplo (utilizando código VB) la idea es utilizar un recordset para añadir un registro. Si me dejas un e-mail te la mando.
El código del botón es el siguiente:
Private Sub Comando13_Click()
Dim rst As Recordset
If IsNull(TXTID) Or TXTID.Value = "" Then
MsgBox "Debe rellenar la clave principal", vbInformation
Else
Set rst = CurrentDb.OpenRecordset("TDAT")
rst.Index = "ID"
rst.Seek "=", TXTID.Value
If rst.NoMatch Then
Set rst = CurrentDb.OpenRecordset("TDAT")
With rst
.AddNew
!ID = TXTID
!C1 = TXT1
!C2 = TXT2
!C3 = TXT3
.Update
End With
MsgBox "Se ha añadido el registro " & TXTID, vbExclamation
Me.TXTID.Value = ""
Me.TXT1.Value = ""
Me.TXT2.Value = ""
Me.TXT3.Value = ""
Else
MsgBox "La clave ya existe", vbCritical
End If
End If
End Sub
Muchas gracias por tu interés. Creo que me puedes salvarla vida.
Este es mi dir de correo:
[email protected]
Espero tus noticias y muchas gracias otra vez por las molestias que te has tomado conmigo.
Saludos
Jesús
Ya te he enviado el correo, confírmame que lo has recibido y si te ha sido de utilidad
Cierra la pregunta si lo crees conveniente.
He recibido tu e-mail.
Aunque todavía estoy probando, creo que meva a ser de suma utilidad y además ha logrado resolver mi principal problema.
Quedo enormemente agradecido por tu esfuerzo desinteresado y te envío un cordial saludo.
Jesús

1 respuesta más de otro experto

Respuesta
1
Te puedo colaborar con un código de Visual para que lo apliques en un botón.
Lo que deseas hacer es un botón que al ejecutarlo pase los datos de una tabla a otra suprimiento unos campos OK. Bueno
El código seria:
Dim OriDB As Database, OriWS As Workspace, Ori As Recordset
Dim DesDB As Database, DesWS As Workspace, Des As Recordset
'Carga la Tabla de Origen
Set OriWS = DBEngine.Workspaces(0)
Set OriDB = OriWS.Databases(0)
Set Ori = OriDB.OpenRecordset("Tabla_Origen")
'Carga la Tabla de Destino
Set DesWS = DBEngine.Workspaces(0)
Set DesDB = DesWS.Databases(0)
Set Des = DesDB.OpenRecordset("Tabla_Destino")
'En caso de duplicar toda la tabla
If Ori.EOF = False Then
Ori.MoveFirst
While Ori.EOF = False
'En la tabla origen temenos 5 campos
'Codigo, Nombre, Edad, Direccion, Telefono y solo bamos a tomar el 2 y 3
Des.AddNew
Des![Nombre] = Ori![Nombre]
Des![Edad] = Ori![Edad]
Des.Update
Ori.MoveNext
Wend
End If
'En el caso de querer solo un regustro por seleccion,
'podemos utilizar un combobox
If Ori.EOF = False Then
Ori.MoveFirst
While Ori.EOF = False
'En la tabla origen temenos 5 campos
'Codigo, Nombre, Edad, Direccion, Telefono y solo bamos a tomar el 2 y 3
'El combo 1 puede seleccionar el codigo
If Combo1 = Ori![Codigo] Then
Des.AddNew
Des![Nombre] = Ori![Nombre]
Des![Edad] = Ori![Edad]
Des.Update
Ori.MoveLast
End If
Ori. MoveNext
Wend
End If
Espero haber captado bien tu idea y te sirva la solución, no olvides finalizar la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas