Error de SQL

20/01/2011 - 17:12 por Fredmac48 | Informe spam
Hola Grupo

Tengo este codigo y lo que quiero haxcer es que me funcione sea por
uno o por el otro lado
la idea es que cuando la gente escoje la ficha detalles producto
"Forms!frm_factura!tab_d_factura.Value = 1" se puedan agregar
detalles ese formulario si la gente escoje la otra ficha se metan los
datos en ese formulario

la segunda parte del IF funciona sin problema pero la primera me da
error de SQL

"instruccion SQL no valida se esperaba 'DELETE`; 'INSERT';
'PROCEDUTRE'; SELECT O UPDATE"

Alguna sugerencia al respecto


Gracias


Private Sub cmd_aceptar_Click()
On Error GoTo Err_cmd_aceptar_Click
Dim cnn As ADODB.Connection
Set cnn = CurrentProject.Connection
Dim lid_d_factura As Long
Dim lid_factura As Long
Dim lid_prenda As Long
Dim bval_unitario As Currency

If Forms!frm_factura!tab_d_factura.Value = 1 Then

Dim rsqry_d_inv_prendas As ADODB.Recordset

Dim scolor_prenda As String
Dim fcant_producto As Single


Set rsqry_d_inv_prendas = New ADODB.Recordset
With rsqry_d_inv_prendas
.Open "qry_d_inv_prendas", cnn, adOpenDynamic,
adLockOptimistic
.AddNew
!id_factura = Forms!frm_factura!txt_id_factura
!id_prenda = Me.txt_id_prenda
!color_prenda = Me.txt_color_prenda
!cant_producto = Me.txt_cant_producto
.Update
.Close
End With
Set rsqry_d_inv_prendas = Nothing
Set cnn = Nothing
Else

Dim rsqry_d_factura As ADODB.Recordset

' Dim lid_d_factura As Long
' Dim lid_factura As Long
' Dim lid_prenda As Long
' Dim bval_unitario As Currency

'Set cnn = CurrentProject.Connection
Set rsqry_d_factura = New ADODB.Recordset
With rsqry_d_factura
.Open "qry_d_factura", cnn, adOpenDynamic,
adLockOptimistic
.AddNew
!id_d_factura = Nz(DMax("[id_d_factura]",
"tbl_d_factura")) + 1
!id_factura = Forms!frm_factura!txt_id_factura
!id_prenda = Me.txt_id_prenda
!porc_iva = Me.txt_porc_iva
!cant_producto = Me.txt_cant_producto
!color_prenda = Me.txt_color_prenda
!val_unitario = Me.txt_val_unitario

.Update
.Close
End With
Set rsqry_d_factura = Nothing
Set cnn = Nothing
Forms!frm_factura!fsub_d_factura.Form.Requery
End If
Me.txt_id_prenda = 0
Me.cbo_nom_prenda.Value = 0
Me.txt_cant_producto = 1
Me.txt_color_prenda = ""
Me.txt_val_unitario = 0

Me.txt_id_prenda.SetFocus


Exit_cmd_aceptar_Click:
Exit Sub

Err_cmd_aceptar_Click:
MsgBox Err.Description
Resume Exit_cmd_aceptar_Click
End Sub

Preguntas similare

Leer las respuestas

#1 José Mª Fueyo
20/01/2011 - 18:30 | Informe spam
Hola
"qry_d_inv_prendas" ¿es el nombre de una consulta guardada? ¿es una
consulta nativa de Access, o trabajas con tablas vinculadas de otro
tipo de base de datos?

Salu2,
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#2 Fredmac48
20/01/2011 - 18:37 | Informe spam
On 20 ene, 12:30, José Mª Fueyo wrote:
Hola
"qry_d_inv_prendas" ¿es el nombre de una consulta guardada? ¿es una
consulta nativa de Access, o trabajas con tablas vinculadas de otro
tipo de base de datos?

Salu2,
José Mª Fueyo
[MS MVP Access]



es una consulta de access las tablas las vinculo de sde otro archivo
de access
Respuesta Responder a este mensaje
#3 José Mª Fueyo
21/01/2011 - 09:22 | Informe spam
Hola de nuevo.
¿Has intentado ejecutar "a pelo" esa consulta, a ver sí devuelve el
mismo mensaje de error?
Otra cosa. Sí se trata de bases mdb ¿por qué no usas DAO en lugar de
ADO? DAO es la forma nativa de acceso, mientras que ADO requiere de
una capa más.

Salu2,
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#4 Fredmac48
21/01/2011 - 15:40 | Informe spam
si la verdad me da error Pocos parametros se esperaba 1 la verdad la
estoy probando solo esa consulta y no me da no entiendo porque si son
casi iguales pero tampoco me da alguna sugerencia

yo tengo los dos formulario el formulario que me funciona esta en
pestañas (0) y el otro esta en la pestaña (1) si hago la consulta
directamente desde consultas y escribo los datos me funciona

SELECT tbl_d_inv_prendas.id_factura, tbl_d_inv_prendas.id_prenda,
tbl_prendas_productos.nom_prenda, tbl_d_inv_prendas.color_prenda,
tbl_d_inv_prendas.cant_producto
FROM tbl_prendas_productos INNER JOIN tbl_d_inv_prendas ON
tbl_prendas_productos.id_prenda = tbl_d_inv_prendas.id_prenda
WHERE (((tbl_d_inv_prendas.id_factura)=[Formularios]![frm_factura]!
[id_factura]));
Respuesta Responder a este mensaje
#5 José Mª Fueyo
22/01/2011 - 18:17 | Informe spam
Hola
Para que funcione esa consulta, el formulario "frm_factura" tiene que
estar abierto. ¿Es el caso?

Salu2
José Mª Fueyo
[MS MVP Access]
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida