Alguien sabe por que puede estar dandome un error este codigo? El error que
me da al ejecutar es: Se ha producido un el error '-2147217900 (80040e14)'
en tiempo de ejecucion: Line 1: Incorrect syntax near 'de'
El codigo es:
Private Sub ComboPlantilla_AfterUpdate()
Dim iOrden As Integer
Dim iPVD As Integer
Dim IdProd As String
Dim Desc As String
Dim rsPlantilla As ADODB.Recordset
Set rsPlantilla = New ADODB.Recordset
rsPlantilla.Open "SELECT [DETALLES DE PLANTILLAS].[ID DE PRODUCTO] FROM
[DETALLES DE PLANTILLAS] WHERE [DETALLES DE PLANTILLAS].[ID DE DETALLES DE
PLANTILLAS] = " & ComboPlantilla.Value, CurrentProject.Connection,
adOpenStatic, adLockReadOnly
If Not rsPlantilla.EOF Then
Dim rsAux As ADODB.Recordset
Set rsAux = New ADODB.Recordset
rsAux.Open "SELECT Max([DETALLES DE LOS PRESUPUESTOS].[ORDEN]) AS
MAXORDEN FROM [DETALLES DE LOS PRESUPUESTOS] WHERE [ID DE PRESUPUESTO DE LOS
DETALLES]=" & Forms!Presupuestos.[ID DE PRESUPUESTO],
CurrentProject.Connection, adOpenStatic, adLockReadOnly
iOrden = Nz(rsAux![MAXORDEN], 0)
Set rsAux = Nothing
End If
Do Until rsPlantilla.EOF
IdProd = rsPlantilla![ID DE PRODUCTO]
Dim rsPresuUpdt As ADODB.Recordset
Set rsPresuUpdt = New ADODB.Recordset
rsPresuUpdt.Open "SELECT [ID DE PRODUCTO], [DESCRIPCION], [PVD],
[MARGEN], [Descuento] FROM [PRODUCTOS] WHERE [PRODUCTOS].[ID DE PRODUCTO] '" & IdProd & "'", CurrentProject.Connection, adOpenStatic, adLockReadOnly
If rsPresuUpdt.EOF Then
Desc = ""
iPVD = 0
Else
iOrden = iOrden + 1
Forms!Presupuestos![Subformulario presupuestos].SetFocus
Forms!Presupuestos![Subformulario
presupuestos].Form.Recordset.Requery
If (Forms!Presupuestos![Subformulario
presupuestos].Form.Recordset.RecordCount > 0) Then
Forms!Presupuestos![Subformulario
presupuestos].Form.Recordset.MoveLast
End If
Forms!Presupuestos![Subformulario
presupuestos].Form.Recordset.AddNew
Forms!Presupuestos![Subformulario presupuestos].Form![ID DE
PRODUCTO] = IdProd
Forms!Presupuestos![Subformulario presupuestos].Form![ORDEN] iOrden
Forms!Presupuestos![Subformulario
presupuestos].Form![DESCRIPCION] = rsPresuUpdt![DESCRIPCION]
Forms!Presupuestos![Subformulario presupuestos].Form![PRECIO] Round(rsPresuUpdt![PVD] * (1 + rsPresuUpdt![MARGEN]), 2)
Forms!Presupuestos![Subformulario presupuestos].Form![DESCUENTO]
= rsPresuUpdt![DESCUENTO]
End If
Set rsPresuUpdt = Nothing
rsPlantilla.MoveNext
Forms!Presupuestos![Subformulario
presupuestos].Form.Recordset.Requery
Loop
End Sub
La linea que se pone en amarillo es: Forms!Presupuestos![Subformulario
presupuestos].Form.Recordset.Requery
Muchas gracias
Nacho
Leer las respuestas