Access - Error al ejecutar SQL de tipo INSERT

   
Vista:

Error al ejecutar SQL de tipo INSERT

Publicado por Luis (2 intervenciones) el 21/01/2008 20:48:45
Hola soy nuevo en el foro y me gustaría si es posible que alguien me ayudara con esto:

Con el código que sigue, intento insertar un registro, pero me da error al ejecutar la sentencia SQL.
Concretamente en la variable "ImpPorSaldar". Esta variable la defino de tipo double como podeis apreciar, igual que los
campos "txTotFact" y "txImpSaldado" del formulario en el que uso este código. También el campo "ImpDocSaldado"
de la tabla <DetalleApunte> lo tengo declarado como tipo estandar.

El error que me salta dice lo siguiente: "El número de valores de consulta y el número de campos de destino
son diferentes."

Dim TotFact, ImpSal, ImpPorSaldar As Double
Dim sSQL As String

ImpSal = Me.txImpSaldado.Value
TotFact = Me.txTotFact.Value
ImpPorSaldar = TotFact - ImpSal

sSQL = "INSERT INTO DetalleApunte (NApunte, NDocumento, ImpDocSaldado) SELECT "_
& Apunte & " AS Expr1, " & NumDoc & " AS Expr2, " & ImpPorSaldar & " AS Expr3; "
DoCmd.RunSQL sSQL, -1

Si la variable "ImpPorSaldar", la sustituyo por un número entero, (por ejemplo el 1000), me funciona todo bien.

¿Que me está pasando con los tipos, y como puedo solucionar este problema?

Muchas gracias por adelantado a todos.
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

RE:Error al ejecutar SQL de tipo INSERT

Publicado por aus (4 intervenciones) el 22/01/2008 11:34:15
Hola Luis,

Yo pondria el codigo asi
sSQL = "INSERT INTO DetalleApunte (NApunte, NDocumento, ImpDocSaldado) values (" & Apunte & ", " & NumDoc & " , " & ImpPorSaldar & ")"
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

RE:Error al ejecutar SQL de tipo INSERT

Publicado por Luis (1 intervención) el 22/01/2008 14:40:25
Hola Ana:

Antes de nada, muchas gracias por tu ayuda.

He probado el código y sigue dando el mismo error.
Al igual que el código mío, funciona perfectamente si sustituyes la variable "ImpPorSaldar" por un número entero (p.ejem 1000). En cambio si pongo esto:

CDbl("1000,30") en lugar de "ImpPorSaldar" me sale el mismo error.


Tiene toda la pinta de ser un problema de conversión de tipos, pero no se me ocurre el modo de solucionarlo.

Un saludo y gracias

Luis
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

RE:Error al ejecutar SQL de tipo INSERT

Publicado por aus (4 intervenciones) el 23/01/2008 10:26:10
Prueba esto,

sSQL = "INSERT INTO DetalleApunte (NApunte, NDocumento, ImpDocSaldado)
values(" & Apunte & ", " & NumDoc & " , """ & ImpPorSaldar & """) "
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

RE:Error al ejecutar SQL de tipo INSERT

Publicado por luis (2 intervenciones) el 23/01/2008 12:07:31
Buenos días Ana:

¡¡¡¡FUNCIONA......!!!! Eres la mejor

No comprendo el porqué de la sintaxis pero funciona que es lo que importa.

Muchisimas gracias, un saludo

Luis
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