Access - tabla con una columna pasar sus registros a otra t

 
Vista:

tabla con una columna pasar sus registros a otra t

Publicado por Omar (3 intervenciones) el 25/02/2005 17:58:18
Hola, mi duda es como pasar de la TablaA de una sola columna, sus 3 registros, a TablaB con 3 columnas,

Dim mCad As String 'VAR TIPO STRING
Dim mRs As Recordset 'VAR TIPO RECORDSET
Dim k As Long 'VAR PARA CONTADOR
'ASIGNAMOS A LA CADENA
mCad = "SELECT TBLINTCOSTOESTAMPADO.D1 FROM TBLINTCOSTOESTAMPADO WHERE TBLINTCOSTOESTAMPADO.A1 IN ('6-1-02-01-11-000-000-000');"
'ASIGNAMOS LA CADENA AL RECORDSET
Set mRs = CurrentDb.OpendRecordset(mCad)

'For k = 1 To mRs.RecordCount
'AÑADIMOS UN REGISTRO A LA TABLA
mRs.AddNew
'PASAMOS DATOS DEL FORM AL RECORDSET
mRs!F7S = Me.TBLINTCOSTOESTAMPADO.D1
'GUARDAMOS EN LA TABLA
mRs.Update
'Next k
'CERRAMOS EL RECORDSET
mRs.Close

End Function
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
Imágen de perfil de Alejandro

Pasar datos de una tabla de una columna a una tabla con tres columnas

Publicado por Alejandro (4142 intervenciones) el 26/05/2023 20:03:26
Aquí tienes un ejemplo de cómo puedes pasar los datos de una tabla de una sola columna a una tabla con tres columnas en Access:

1. Crea una nueva tabla en Access llamada "TablaB" con tres columnas: Columna1, Columna2, y Columna3.

2. Utiliza el siguiente código VBA para recorrer los registros de la TablaA y transferir los datos a la TablaB:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Dim mRs As Recordset ' Variable de tipo Recordset
Dim k As Long ' Variable para contador
 
' Asignamos a la variable mRs el resultado de la consulta
Set mRs = CurrentDb.OpenRecordset("SELECT TBLINTCOSTOESTAMPADO.D1 FROM TBLINTCOSTOESTAMPADO WHERE TBLINTCOSTOESTAMPADO.A1 IN ('6-1-02-01-11-000-000-000');")
 
' Inicializamos el contador
k = 1
 
' Recorremos los registros del recordset
Do Until mRs.EOF
    ' Si el contador es divisible por 1, asignamos el valor a la Columna1 de la TablaB
    If k Mod 1 = 0 Then
        CurrentDb.Execute "INSERT INTO TablaB (Columna1) VALUES ('" & mRs!D1 & "')"
    End If
    ' Si el contador es divisible por 2, asignamos el valor a la Columna2 de la TablaB
    If k Mod 2 = 0 Then
        CurrentDb.Execute "UPDATE TablaB SET Columna2 = '" & mRs!D1 & "' WHERE ID = " & k / 2
    End If
    ' Si el contador es divisible por 3, asignamos el valor a la Columna3 de la TablaB
    If k Mod 3 = 0 Then
        CurrentDb.Execute "UPDATE TablaB SET Columna3 = '" & mRs!D1 & "' WHERE ID = " & k / 3
    End If
 
    ' Movemos al siguiente registro del recordset
    mRs.MoveNext
 
    ' Incrementamos el contador
    k = k + 1
Loop
 
' Cerramos el recordset
mRs.Close

Asegúrate de reemplazar "TablaA" por el nombre de tu tabla original y "TablaB" por el nombre de tu nueva tabla. Además, ajusta los nombres de las columnas según corresponda.

Este código recorre los registros de la TablaA y los inserta en la TablaB distribuyendo los valores en las columnas correspondientes. La lógica utilizada en el ejemplo es que los registros se asignarán de forma secuencial a las columnas Columna1, Columna2 y Columna3 de la TablaB.

Espero que esta solución te sea útil para pasar los datos de una tabla de una sola columna a una tabla con tres columnas en Access.
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