Access - Importación datos Excel

 
Vista:
sin imagen de perfil
Val: 21
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Importación datos Excel

Publicado por FRANCISCO (10 intervenciones) el 29/05/2018 18:50:05
Hola amigos:
Tengo una BD en la que importo datos de Excell a través de un botón de comando que ejecuta una macro de importación/exportación guardada, y funciona correctamente. Necesito proteger este botón de comando contra clics accidentales ya que en el momento que lo pulso me hace la importación. Lo ideal sería que al pulsar el botón me diera la opción SI / NO para asegurarme. Lo he intentado de varias formas pero no consigo que funcione. Alguien puede orientarme al respecto. Gracias
Francisco
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 Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Importación datos Excel

Publicado por Norberto (753 intervenciones) el 30/05/2018 09:51:06
Hola.

Si la acción del botón se ejecuta mediante una macro, modifícalo para que quede como te muestro en la imagen:

Captura

Si, por el contrario, usas VBA, modifica el código de esta manera:
1
2
3
4
5
6
7
8
Private Sub Comando0_Click()
    If MsgBox("¿Desea importar los datos?", vbYesNo + vbDefaultButton2, "Importar") = vbYes Then
        'El procedimiento de importación que tengas
        '...
        '...
    End If
 
End Sub

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 21
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Importación datos Excel

Publicado por FRANCISCO (10 intervenciones) el 01/06/2018 10:21:24
Mil gracias Norberto por tu solución, funciona perfectamente y sin tener que echar mano del engorroso vba.
Pero ahora me surge otro pequeño contratiempo. Me explico: Si alguno de los registros que importo de Excel ya existe en la Bd, Access lanza un mensaje de error "Datos no pudo anexar todos los datos a la tabla, etc, etc,etc.........
La pregunta es, cómo se podría evitar que apareciera este mensaje y que, en cambio, nos lanzara a través de un CuadroMsj un aviso del tipo: "Los Datos ya existen y no se pueden importar porque crearían valores duplicados", y salir sin hacer nada de nuevo al formulario.

De nuevo te agradezco tu tiempo y tu sabiduría
Francisco
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Importación datos Excel

Publicado por Norberto (753 intervenciones) el 01/06/2018 11:34:14
Hola de nuevo.

Podrías hacer una consulta que excluya los datos ya anexados y anexar a la nueva tabla desde dicha consulta. Para ello la información de Excel deberías tenerla como tabla vinculada. Eso o echar mano del, para nada, engorroso VBA.

Si necesitas más ayuda, ya sabes.

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 21
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Importación datos Excel

Publicado por FRANCISCO (10 intervenciones) el 04/06/2018 13:48:18
Hola Norberto:
Una vez más te agradezco tus comentarios. En este caso y debido a la estructura de mi bd no me interesa tener vinculada la hoja excell desde la que importo los datos con la tabla destino por lo que, se me antoja que la opción más adecuada es recurrir al vb. No es que a mi me disguste el vb, no, en absoluto. Lo que ocurre es que para los que somos novatos en estas lides siempre nos parece más "accesible" recurrir a una macro sencilla, siempre que sea posible. En cualquier caso me estoy iniciando en vb y estoy descubriendo las posibilidades que tiene aunque en el tema que nos ocupa me vendría bien una ayuda.
De antemano te agradezco tu valiosa ayuda y tus consejos.
Francisco
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