Access. Texto separado por comas enlistarlo en un determinado campo en registros subsiguientes.

Trabajo con base de datos Access y necesito "algún método" (preferentemente una macro ya que no domino programación) para que al copiar un texto separado por comas este lo pueda enlistar en un campo determinado de tal manera que dicho texto NO me quede en campos paralelos, sino enlistado en un registro tras otro de un mismo campo. Ejemplo: Carlos, Luisa, Pedro, Manuel, Sonia, Julián, etc, ... Que al procesarlo quede así:

Carlos

Luisa

Pedro

Manuel

Etc... Y así los subsiguientes quedando cada nombre en un registro distinto del mismo campo.

Espero haber sido elocuente y haberme expresado con propiedad.

Si la única opción es con código de programación por favor no escatimar explicaciones ya que me gustaría aprender.

1 respuesta

Respuesta
2

Vamos a ver si me explico.

Primero, te lo digo en código porque creo que no se puede hacer con macros, que personalmente no uso.

Segundo. Supongamos que tienes una tabla Clientes, con el campo Cliente, donde vas a "pegar" los nombres Pedro, Juan, Luis, etc. También tienes otra Tabla llamada Otra con un campo Ncli donde quieres que se guarden los nombres por separado.

Importante, una vez hayas "pegado" la lista de nombres, detrás de el último ponle una coma.

Con la tabla Clientes crea un formulario y en vista diseño crea un botón de comando y en sus propiedades-eventos- Al hacer clic crea un procedimiento de evento y entre Private Sub y End Sub escribe

DoCmd.SetWarnings False
Do While Len([cliente]) >= 1
Dim a, b
a = Left([cliente], InStr([cliente], ",") - 1)
DoCmd.RunSQL "insert into otra(ncli)values('" & a & "')"
b = Mid([cliente], InStr([client], ",") + 1)
DoCmd.RunSQL "update clientes set cliente= '" & b & "'"

Form.Refresh
Loop

Te explico. La primera línea le dice que no te presente la dichosa ventana de "Va a anexar..." por cada nombre a guardar.

Después le digo que mientras haya un carácter en el cuadro de texto Cliente que ejecute el siguiente código, hasta que no quede nada

Lo de a y b es para "partir" la cadena de nombres que has pegado y guardarlo en la tabla Otra

De todas formas, si ves que te parece liado, y quieres, repito, si quieres, mándame un mensaje a [email protected] y te mando un ejemplo. Si lo haces, en el asunto del mensaje pon tu alias Noa Noa, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas