Access - filas a columnas

 
Vista:

filas a columnas

Publicado por omar (3 intervenciones) el 25/02/2005 18:37:27
Deseo, me puedan ayudar, tengo que pasar de la tablaA con una sola columna, sus datos; a la tabla B, sería así:

ej.

TABLA A TABLAB
Columna1 Columna1 Columna2 Columna3
300 300 100 20
100
20

Mi codigo es el sig.

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

For k = 1 To mRs.RecordCount
'AÑADO UN REGISTRO A LA TABLA
mRs.AddNew
'PASO DATOS DEL FORM AL RECORDSET
mRs!F7S = Me.TBLINTCOSTOESTAMPADO.D1
'GUARDO EN LA TABLA
mRs.Update
'Next k
'CIERRO 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 a otra con múltiples columnas

Publicado por Alejandro (4142 intervenciones) el 26/05/2023 20:07:43
Si deseas pasar datos de una tabla con una sola columna a otra tabla con múltiples columnas en Access, puedes hacerlo utilizando un bucle y manipulando el recordset. Aquí tienes una posible solución:

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
Function Inserta()
    Dim mRsSrc As Recordset ' Recordset para la tabla de origen
    Dim mRsDest As Recordset ' Recordset para la tabla de destino
    Dim k As Long ' Variable para contador
 
    ' Abre el recordset de la tabla de origen
    Set mRsSrc = CurrentDb.OpenRecordset("SELECT Columna1 FROM TablaA")
 
    ' Abre el recordset de la tabla de destino
    Set mRsDest = CurrentDb.OpenRecordset("SELECT Columna1, Columna2, Columna3 FROM TablaB")
 
    ' Recorre el recordset de la tabla de origen
    mRsSrc.MoveFirst
    Do Until mRsSrc.EOF
        ' Añade un nuevo registro al recordset de la tabla de destino
        mRsDest.AddNew
 
        ' Asigna los valores correspondientes a las columnas de la tabla de destino
        mRsDest!Columna1 = mRsSrc!Columna1
        mRsDest!Columna2 = mRsSrc!Columna1
        mRsDest!Columna3 = mRsSrc!Columna1
 
        ' Guarda el registro en la tabla de destino
        mRsDest.Update
 
        ' Avanza al siguiente registro en el recordset de la tabla de origen
        mRsSrc.MoveNext
    Loop
 
    ' Cierra los recordsets
    mRsSrc.Close
    mRsDest.Close
End Function

Este código supone que tienes una tabla llamada "TablaA" con una columna llamada "Columna1" que contiene los datos que deseas transferir. Además, tienes una tabla llamada "TablaB" con tres columnas llamadas "Columna1", "Columna2" y "Columna3" donde deseas insertar los datos.

Recuerda reemplazar los nombres de las tablas y las columnas con los correspondientes en tu base de datos.

Espero que esto te ayude a realizar la transferencia de datos entre las tablas en Access. ¡Buena suerte con tu proyecto!
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