¿Como insertar los registros contenido de un ListBox a una tabla de Accees?

Tengo un fomulario con un Listbox con tres columnas con los siguientes registros:
id_usuario: 100
Nombre: Juan
Apellido: Rodriguez
Necesito que dichos registros se guarden en una tabla de access, ya que he intentado realizar este proceso pero no logro hacelo funcionar.
Estoy utilizando Access 2010 en conjunto con Visual Basic

2 respuestas

Respuesta
1

Si el idusuario de la tabla receptora es Autonumérico no puedes insertar nada.

En las Propiedades-Eventos-Después de actualizar del cuadro de lista, crea un procedimiento de evento y entre Private Sub y End Sub escribe

DoCmd.RunSQL "insert into copiacliente(cliente,fecha,precio)values('" & Me.Lista45.Column(0) & "' , '" & Me.Lista45.Column(1) & "' , '" & Me.Lista45.Column(2) & "')"

Siendo CopiaCliente la tabla destino

Cliente, fecha... los campos donde quieres insertar

Me. Lista45 es el nombre que hay en las propiedades de cuadro de lista, solapa Otras-Nombre

Column(0),... son las distintas columnas que hay en el cuadro de lista.

Si no quieres que te aparezca la dichosa ventanita de "Va a Anexar 1 registro..." antes del código de arriba pon

Docmd.setwarnings false

Amigo, gracias por la respuesta, solo que no logré explicarme de manera adecuada, ya que no mencioné que el listbox que estoy utilizando tiene varios registros (no solo uno).

Sin embargo, con el ejemplo que me mostraste buscaré la manera de ver si con la ayuda de un "for" o un "while" logro insertar varios registros del listbox con un solo clic.

De antemano una vez más gracias

Creo que te convendría mirar el enlace que te mando

http://angelessebas.es/Caso044.asp?vTitulo=Gestionar los valores seleccionados mediante una selección múltiple 

Es de aplicación para lo que quieres.

Amigo, gracias por tu pronta respuesta, voy a poner a prueba el dato...
Saludos buen día

Amigo, logre cumplir con el objetivo, ya guardo con un solo clic los registros que se encuentran dentro de un ListBox.
Utilicé un contador y solo lo agregue a la propiedad row del ListBox:
Muestro un ejemplo (basado en el código arriba mencionado) por si a alguien le sirve:
For i=0 To Lista45.ListCount -1
DoCmd.RunSQL "insert into copiacliente(cliente,fecha,precio)values('" & Me.Lista45.Column(0,fila) & "' , '" & Me.Lista45.Column(1,fila) & "' , '" & Me.Lista45.Column(2,fila) & "')"
fila=fila+1
next
Muchas gracias saludos =)

Pues es una idea excelente, no se me había ocurrido. Lo que demuestra que hay que compartir ideas, pues lo que no se le ocurre a uno, se le ocurre a otro

Respuesta
1

este ejemplo: http://siliconproject.com.ar/neckkito/index.php/component/content/article/96-ejemplos-explicados/ejemplos-de-controles/279-cuadros-combinados 

Aunque está explicado para cuadros combinados, el proceso es el mismo para los cuadros de lista:

Un saludo.


Un nuevo foro de access, visítanos: http://nksvaccessolutions.com/Foro/

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas