Access - Error no coinciden los tipos Access 2010 - 2007

 
Vista:

Error no coinciden los tipos Access 2010 - 2007

Publicado por German Z (2 intervenciones) el 30/08/2017 18:08:22
Hola a todos:
les escribo por la siguiente consulta

en un formulario ejecuto el siguiente loop

1
2
3
4
5
6
7
For nroi = 1 To Me!cantCuotas
Fechavto = Format(agregameses(Me!FechaPrimVto, (nroi - 1)), "yyyy/mm/dd")
sql = "INSERT INTO prestamos_cuotas ( NRO_CREDIT, FECHA_VTO, [DETALLE], NRO_CTA, cant_cuot, VALOR_CUOT, gastos, [INTERES] ) SELECT '" & Me!IDPrestamo & "' AS IDPrestamo, #" & Fechavto & "# AS FechaVto, 'Cuota " & nroi & " de " & Me!cantCuotas & "' AS IDDetalle, " & nroi & " AS NroCuota, " & Me!cantCuotas & " AS Cuotas, '" & Me!ValorCuota & "' AS Capital,  '" & Me!GastosCuotas & "' AS Gastos,'" & Me![ValorInteres] & "' AS Interes;"
 
DoCmd.RunSQL (sql)
 
Next

La base de datos está en formato .mdb (access 2000 o 2003)
Cuando ejecuto el loop en una máquina que tiene instalado access 2007, no hay problemas.
Pero cuando lo ejecuto en una que tiene instalado access 2010, el loop funciona en las primeras 5 ejecuciones y en la sexta me tira el aviso de error no coincden los tipos

Agradecería su ayuda

saludos
Germán
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

Error no coinciden los tipos Access 2010 - 2007

Publicado por Anonimo (2 intervenciones) el 31/08/2017 02:36:56
Una SQL de selección trabaja sobre un conjunto de datos, no me parece el método idóneo para insertar valores mediante un bucle, además .... campos con espacios (y sin corchetes) ... en fin: que así le fue a la versión 2007.


Lo adecuado será utilizar 'Values( aa, bb, cc) y dentro de los paréntesis que engloban al conjunto de datos a insertar se ponen los valores para cada campo separados por comas

Se ha de respetar el orden que tienen en su definición y respetar también la sintaxis para que Access reconozca el tipo de dato de cada campo (creo que esa parte la dominas).

El Select tiene su aplicación, cuando los datos están basados en una tabla o consulta, no para emularla con valores constantes/variables sin origen de datos real (y se le obliga a Access a inventarlo)
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