Insertar registros en tabla automáticamente desde control texto

Tengo un formulario de Access 2013, en el que incluyo un control de texto donde informo varios nombres separados por una coma y lo que pretendo es que, cuando salgo de este registro, inserte cada uno de esos nombres en una tabla distinta de la principal del formulario.

¿Me podeis decir como puedo hacerlo?

2 respuestas

Respuesta
2

Puede hacerlo con la función SPLIT() programando el evento Después de actualizar y recorriendo con FOR EACH el split() e ir insertando con CurrentDB. Execute "INSERT INTO ..." . Como no se puede subir código puede escribirme a [email protected] y le envío el código

Le explico lo esencial

Dim nombres AS Variant

Dim nombre As Variant

nombres = Split(Me.NombreControlTexto.Value, ",")

En la variable nombres guardamos el texto con el separador coma (,). Y lo recorremos con

For Each nombre In nombres después currentdb.execute "insert into ..."

Respuesta
1

Para separar el contenido de una cadena de texto en sus diferentes partes la función Split lo hace, por defecto considera como separador al espacio, pero permite indicar que separador se utiliza.

Se necesita una variable de tipo Variant (sin tipo) en la que la función Split dimensionara un conjunto de datos a los que referenciara con el nombre de la variable y la posición ordinal en el conjunto, el conjunto comienza en cero

Dim Mi_Variable, UnTexto As String

UnTexto = "ABC, CDE, EFG, GHI"

Mi_Variable = Split ( UnTexto, ",")

Debug.Print MI_Variable (2) ====>>>> EFG

Para distribuir el contenido se precisa (además del contenido) la futura ubicación de cada parte, sea como un nuevo registro o como valor para cada campo de un registro (lo que exigirá una lista de campos o destinos).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas