A ver si alguien puede ayudarme
Publicado por vassago (13 intervenciones) el 15/01/2007 13:02:28
Saludos, tengo un problema con el código siguiente y es que al ejecutar me sale: "error 3421. Error de conversión de datos". el fallo me lo da en qdf.Execute SQL1, a ver si alguien sabría decirme el porque del error.
Private Sub Form_Current()
Dim VaTotal As Double
Dim Pres As Double
Dim MLineales As Double
Dim SQL As String, SQL1 As String
Dim dbs As Database, qdf As QueryDef
Dim rs As Recordset
Dim TTotal As Double
Pres = Presupuesto.Value
Set dbs = CurrentDb
SQL = "SELECT [carpinteria].* FROM [carpinteria] WHERE presupuesto= " + Trim(Pres) + ";"
Set qdf = dbs.CreateQueryDef("Consulta", SQL)
Set rs = qdf.OpenRecordset()
VaTotal = 0
TTotal = 0
If Not rs.EOF Then
Do Until rs.EOF
VaTotal = 0
MLineales = (rs.Fields("longitud") / 1000) + (rs.Fields("altura") / 1000)
MLineales = MLineales * 2
MLineales = MLineales * (rs.Fields("unidades"))
If rs.Fields("monoblock").Value = "VERDADERO" Then
VaTotal = (MLineales * 20) + VaTotal
Else
VaTotal = (MLineales * 19) + VaTotal
End If
If rs.Fields("rematesexterior").Value = "VERDADERO" Then Total = Total + 3
Select Case AlturaPiso.Value
Case "hasta un 2º"
VaTotal = VaTotal
Case "desde un 3º hasta un 5º"
VaTotal = VaTotal + 3
Case "desde un 6º hasta un 8º"
VaTotal = VaTotal + 5
Case "a partir del 9º"
VaTotal = VaTotal + 8
End Select
SQL1 = "update carpinteria set total=" + Trim(VaTotal) + " where presupuesto=" + Trim(Pres)
SQL1 = SQL1 + " and nomenclatura='" + Trim(rs.Fields("nomenclatura")) + "';"
qdf.Execute SQL1
rs.MoveNext
Loop
End If
[Form_Presupuestos].Total.Value = TTotal
rs.Close
dbs.QueryDefs.Delete ("Consulta")
dbs.Close
End Sub
Private Sub Form_Current()
Dim VaTotal As Double
Dim Pres As Double
Dim MLineales As Double
Dim SQL As String, SQL1 As String
Dim dbs As Database, qdf As QueryDef
Dim rs As Recordset
Dim TTotal As Double
Pres = Presupuesto.Value
Set dbs = CurrentDb
SQL = "SELECT [carpinteria].* FROM [carpinteria] WHERE presupuesto= " + Trim(Pres) + ";"
Set qdf = dbs.CreateQueryDef("Consulta", SQL)
Set rs = qdf.OpenRecordset()
VaTotal = 0
TTotal = 0
If Not rs.EOF Then
Do Until rs.EOF
VaTotal = 0
MLineales = (rs.Fields("longitud") / 1000) + (rs.Fields("altura") / 1000)
MLineales = MLineales * 2
MLineales = MLineales * (rs.Fields("unidades"))
If rs.Fields("monoblock").Value = "VERDADERO" Then
VaTotal = (MLineales * 20) + VaTotal
Else
VaTotal = (MLineales * 19) + VaTotal
End If
If rs.Fields("rematesexterior").Value = "VERDADERO" Then Total = Total + 3
Select Case AlturaPiso.Value
Case "hasta un 2º"
VaTotal = VaTotal
Case "desde un 3º hasta un 5º"
VaTotal = VaTotal + 3
Case "desde un 6º hasta un 8º"
VaTotal = VaTotal + 5
Case "a partir del 9º"
VaTotal = VaTotal + 8
End Select
SQL1 = "update carpinteria set total=" + Trim(VaTotal) + " where presupuesto=" + Trim(Pres)
SQL1 = SQL1 + " and nomenclatura='" + Trim(rs.Fields("nomenclatura")) + "';"
qdf.Execute SQL1
rs.MoveNext
Loop
End If
[Form_Presupuestos].Total.Value = TTotal
rs.Close
dbs.QueryDefs.Delete ("Consulta")
dbs.Close
End Sub
Valora esta pregunta
0