Access - IMPORTAR EXCEL A SUBFORMULARIO ACCESS

 
Vista:

IMPORTAR EXCEL A SUBFORMULARIO ACCESS

Publicado por Laureano (4 intervenciones) el 07/06/2020 01:28:04
Buenas Noches, sabríais como importar una excel a un subformulario access. Consigo importar la excel sin problemas pero no consigo introducir el id que permite vincular la dependencia con la tabla principal de access.
Saludos y gracias.
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

IMPORTAR EXCEL A SUBFORMULARIO ACCESS

Publicado por Anonimo (3316 intervenciones) el 07/06/2020 09:09:44
El ID o referencia es 'un campo mas' de ese conjunto de datos, si no lo hay en el origen de datos externo:

.- O bien se le adjudica dinámicamente en el momento de la inserción

.- O se le inserta en una tabla temporal, se le añade y luego al lugar definitivo

.- O la tabla permite la introducción de datos con valores NULL y con una consulta de actualización, se adjudica el valor

Lo importante para poder localizar el problema es saber que le estas ordenado (Access es muy obediente si se le manda bien).
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

IMPORTAR EXCEL A SUBFORMULARIO ACCESS

Publicado por Laureano (4 intervenciones) el 07/06/2020 09:18:21
Muchas gracias!!! por responderme tan rápido y con tanta claridad.
Yo es que llevo bastante tiempo sin utilizar la access podrías poner un ejemplo de como establecerla dinámicamente en el momento de la inserción .
Gracias de nuevo.
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

IMPORTAR EXCEL A SUBFORMULARIO ACCESS

Publicado por Anonimo (3316 intervenciones) el 07/06/2020 14:42:45
Si deseas saber que es lo que no responde a tu programación, lo adecuado seria que lo expusieras, con ello se lograrían cuando menos dos cosas:

.- pistas sobre el nivel de interacción (no es lo mismo utilizar macros que VBA o un copy & paste)
.- datos reales para localizar un problema (que es tu problema y en tu entorno, en otro entorno pudiera no reproducirse).
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

IMPORTAR EXCEL A SUBFORMULARIO ACCESS

Publicado por LAUREANO (4 intervenciones) el 08/06/2020 08:26:05
Buenos días a todos.
Os explico brevemente en lo que estoy trabajando y antes de ponerlo en práctica en mi base de datos a trabajar, estoy utilizando la que voy a describir para experimentar.
Se trata de 2 tablas la primera PRUEBA donde figura la clave principal y las rutas de las hojas de calculo que vamos a importar
La 2 tabla es la TRABAJADORES que es dónde vienen los datos de los trabajadores importados, aquí es donde establezco la clave secundaria.
He realizado según me comentastes Anónimo (Muchas Gracias!!!) con una consulta de datos anexados, lo siguiente (en Botón, en Formulario PRUEBA con subformulario TRABAJADORES:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Comando7_Click()
 
    Dim fDialog As Office.FileDialog
    Dim NumTrab As String
    Dim Clav1 As String
    Dim Ruta As String
    Clav1 = Me![id]
    NumTrab = Me![nº trab] + 1
    Ruta = Me![ruta excel]
 
DoCmd.TransferSpreadsheet acImport, 10, "TRABAJADORES", Ruta, True, "Listado!A1:C" & NumTrab
 
    Dim cact As String
cact = " UPDATE TRABAJADORES" & " SET numero = " & Clav1 & " Where numero Is Null"
DoCmd.RunSQL cact
End Sub

Mi pregunta es: ¿Como establecerla dinámicamente en el momento de la inserción? ya que, al haber varios usuarios trabajando en la misma base de datos, se adjudiquen a la base PRUEBA trabajadores que no debería.

Saludos!!!
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

IMPORTAR EXCEL A SUBFORMULARIO ACCESS

Publicado por Anonimo (3316 intervenciones) el 08/06/2020 11:34:27
En ese entorno a mi juicio lo idóneo seria que se importasen con un valor (conocido) en ese dato, en lugar de un valor nulo.

Si ese dato es un numero que siempre será positivo, bastaría que se le pusiera como valor uno negativo y problema resuelto

…. o el cero si no se utiliza por defecto para algo o un clásico como el 999999999, en fin, un valor que sirva como referente en la consulta de actualización y que impida interferencias con otros usuarios concurrentes.
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

IMPORTAR EXCEL A SUBFORMULARIO ACCESS

Publicado por LAUREANO (4 intervenciones) el 08/06/2020 13:15:18
Yo creo que lo mejor seria, que tomará el valor de la clave principal (en este caso: Clav1),al principio sin tener que realizar a posteriori una consulta de actualización, pero no sé como hacerlo, la verdad.
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

IMPORTAR EXCEL A SUBFORMULARIO ACCESS

Publicado por Anonimo (3316 intervenciones) el 08/06/2020 17:54:19
La importación (tal como se esta aplicando), solo importara lo que este en el origen (en la hoja Excel) en forma de bloque cerrado, por lo que habría que insertar ese dato en el Excel (y se tendría que poner exactamente el valor que falta, si: el que después se pretende aplicar con la consulta de actualización).

Como el valor NULL puede ser un gran inconveniente (interferencias con otros usuarios concurrentes) es por lo que se aconseja utilizar un dato genérico y conocido, que después se podrá modificar (y que como no es un NULL no interferiría con el resto de participantes en esa mesa).

Otro método que permitiría en tiempo de ejecución obtener todo junto ('rellenar los huecos') tendría que importar uno a uno los datos y en esa importación unitaria se le amasa lo que falte para lograr la barra de pan.
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