** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - MEMO A FILA
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoMEMO A FILA

 Responder Responder
Autor
Mensaje
walter1972 Ver desplegable
Nuevo
Nuevo


Unido: 27/Mayo/2007
Localización: Argentina
Estado: Sin conexión
Puntos: 12
Enlace directo a este mensaje Tema: MEMO A FILA
    Enviado: 02/Abril/2019 a las 17:05
Hola buen dia quisiera saber como hacer para que de un campo MEMO de la tabla1 pasar a otra tabla2 pero fila por fila no todo junto ,el campo MEMO es todo junto asi

*CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6
*CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6
*CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6
*CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6
*CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6

Quisiera que quede en otra tabla2 pero separado en distintas filas y columnas pero no lo puedo hacer 

FILA1=*CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6
FILA2=*CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6
FILA3=*CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6
FILA4=*CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6
FILA5=*CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6
FILA6=*CAMPO1;CAMPO2;CAMPO3;CAMPO4;CAMPO5;CAMPO6

se como separar en columnas con el ; pero no como poner en otra fila linea por linea al principio de cada linea hay un * por ahi eso ayuda.

Ahora lo estoy exportando como texto y recuperando pero como son muchos registros tarda demasiado

muchas gracias

Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 11858
Enlace directo a este mensaje Enviado: 02/Abril/2019 a las 17:14
¿Has probado con meter ese campo en un array utilizando el * como delimitador?
Xavi, un minyó de Terrassa

Mi web
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 11858
Enlace directo a este mensaje Enviado: 02/Abril/2019 a las 17:26
Supuestos:
Suponiendo una tabla (Tabla1) con un campo llamado CampoMemo
Suponiendo una tabla (Tabla2) con 6 campos llamados Campo1, Campo2... Campo6
Suponiendo que el objetivo sea separar el contenido de CampoMemo en tantos registros como * existan y estos en tantos campos como ; existan.

Si los supuestos se cumplen, esto debería funcionar:

Function Walter1972()
    Dim rstOrigen       As DAO.Recordset
    Dim rstDestino      As DAO.Recordset
    Dim arrRegistros    As Variant
    Dim arrCampos       As Variant
    Dim i               As Integer
    Dim j               As Integer
    
    Set rstOrigen = CurrentDb.OpenRecordset("SELECT * FROM Tabla1")
    Set rstDestino = CurrentDb.OpenRecordset("SELECT * FROM Tabla2")
    
    Do Until rstOrigen.EOF
        arrRegistros = Split(rstOrigen!CampoMemo, "*")
        For i = 1 To UBound(arrRegistros)
            rstDestino.AddNew
            arrCampos = Split(arrRegistros(i), ";")
            For j = 0 To UBound(arrCampos)
                rstDestino.Fields("Campo" & j + 1) = arrCampos(j)
            Next
            rstDestino.Update
        Next
        rstOrigen.MoveNext
    Loop
    rstOrigen.Close
    Set rstOrigen = Nothing
    
    rstDestino.Close
    Set rstDestino = Nothing
    
    MsgBox "Fin!"
    
End Function
Xavi, un minyó de Terrassa

Mi web
Arriba
walter1972 Ver desplegable
Nuevo
Nuevo


Unido: 27/Mayo/2007
Localización: Argentina
Estado: Sin conexión
Puntos: 12
Enlace directo a este mensaje Enviado: 02/Abril/2019 a las 18:15
Funciono perfecto

Muchas Muchas Gracias !!

Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable