Visual Basic - No se han especificado valores para algunos de los parametros requeridos

Life is soft - evento anual de software empresarial
 
Vista:

No se han especificado valores para algunos de los parametros requeridos

Publicado por Santi (1 intervención) el 27/04/2019 18:35:42
Buenas tardes, tengo un problemilla al ejecutar el siguiente código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
con.Open()
Dim cmd As New OleDbCommand("Update Facturas set Fecha=@a1, N_siniestro=@a2, Marca=@a3, Modelo=@a4, Matricula=@a5, km=@a6, cod_Cliente=@a7, Nombre=@a8, Nif=@a9, Direccion=@a10, Provincia=@a11, Poblacion=@a12, Telefono=@a13, C1=@a14, C2=@a15, C3=@a16, C4=@a17, C5=@a18, C6=@a19, C7=@a20, C8=@a21, H1=@a22, H2=@a23, H3=@a24, H4=@a25, H5=@a26, H6=@a27, H7=@a28, H8=@a29, PR1=@a30, PR2=@a31, PR3=@a32, PR4=@a33, PR5=@a34, PR6=@a35, PR7=@a36, PR8=@a37, IMP1=@a38, IMP2=@a39, IMP3=@a40, IMP4=@a41, IMP5=@a42, IMP6=@a43, IMP7=@a44, IMP8=@a45, TOTAL1=@a46, MAT1=@a47, MAT2=@a48, MAT3=@a49, MAT4=@a50, CAN1=@a51, CAN2=@a52, CAN3=@a53, CAN4=@a54, P1=@a55, P2=@a56, P3=@a57, P4=@a58, I1=@a59, I2=@a60, I3=@a61, I4=@a62, TOTAL2=@a63, Franquicia=@a64, Imp_Bruto=@a65, Iva=@a66, Pago=@a67, N_Cuenta=@a68, Total3=@a69 where N_factura=" & f.txN_Factura.Text & "", con)
With cmd.Parameters
 
    'Cabecera de la factura
    .AddWithValue("@a1", f.dtp1.Text)
    .AddWithValue("@a2", f.txtSiniestro.Text)
    .AddWithValue("@a3", f.txtMarca.Text)
    .AddWithValue("@a4", f.txtModelo.Text)
    .AddWithValue("@a5", f.txtMatricula.Text)
    .AddWithValue("@a6", f.txtKm.Text)
    .AddWithValue("@a7", f.txtCodigo.Text)
    .AddWithValue("@a8", f.txtNombre.Text)
    .AddWithValue("@a9", f.txtCif.Text)
    .AddWithValue("@a10", f.txtDireccion.Text)
    .AddWithValue("@a11", f.txtProv.Text)
    .AddWithValue("@a12", f.txtPobla.Text)
    .AddWithValue("@a13", f.txtTelefono.Text)
 
    'Primer bloque del GroupBox con la mano de obra, horas e importes 
    .AddWithValue("@a14", f.TextBox1.Text)
    .AddWithValue("@a15", f.TextBox2.Text)
    .AddWithValue("@a16", f.TextBox3.Text)
    .AddWithValue("@a17", f.TextBox4.Text)
    .AddWithValue("@a18", f.TextBox5.Text)
    .AddWithValue("@a19", f.TextBox6.Text)
    .AddWithValue("@a20", f.TextBox7.Text)
    .AddWithValue("@a21", f.TextBox8.Text)
 
    .AddWithValue("@a22", f.txt10.Text)
    .AddWithValue("@a23", f.txt11.Text)
    .AddWithValue("@a24", f.txt12.Text)
    .AddWithValue("@a25", f.txt13.Text)
    .AddWithValue("@a26", f.txt14.Text)
    .AddWithValue("@a27", f.txt15.Text)
    .AddWithValue("@a28", f.txt16.Text)
    .AddWithValue("@a29", f.txt17.Text)
 
    .AddWithValue("@a30", f.txt19.Text)
    .AddWithValue("@a31", f.txt20.Text)
    .AddWithValue("@a32", f.txt21.Text)
    .AddWithValue("@a33", f.txt22.Text)
    .AddWithValue("@a34", f.txt23.Text)
    .AddWithValue("@a35", f.txt24.Text)
    .AddWithValue("@a36", f.txt25.Text)
    .AddWithValue("@a37", f.txt26.Text)
 
    .AddWithValue("@a38", f.txt28.Text)
    .AddWithValue("@a39", f.txt29.Text)
    .AddWithValue("@a40", f.txt30.Text)
    .AddWithValue("@a41", f.txt31.Text)
    .AddWithValue("@a42", f.txt32.Text)
    .AddWithValue("@a43", f.txt33.Text)
    .AddWithValue("@a44", f.txt34.Text)
    .AddWithValue("@a45", f.txt35.Text)
 
    .AddWithValue("@a46", f.TotalObra.Text)
 
    'Segundo bloque de GroupBox con los datos de los materiales, horas e importes
    .AddWithValue("@a47", f.TextBox9.Text)
    .AddWithValue("@a48", f.TextBox10.Text)
    .AddWithValue("@a49", f.TextBox11.Text)
    .AddWithValue("@a50", f.TextBox12.Text)
 
    .AddWithValue("@a51", f.txtCant1.Text)
    .AddWithValue("@a52", f.txtCant2.Text)
    .AddWithValue("@a53", f.txtCant3.Text)
    .AddWithValue("@a54", f.txtCant4.Text)
 
    .AddWithValue("@a55", f.txtPrecio1.Text)
    .AddWithValue("@a56", f.txtPrecio2.Text)
    .AddWithValue("@a57", f.txtPrecio3.Text)
    .AddWithValue("@a58", f.txtPrecio4.Text)
 
    .AddWithValue("@a59", f.txtImp1.Text)
    .AddWithValue("@a60", f.txtImp2.Text)
    .AddWithValue("@a61", f.txtImp3.Text)
    .AddWithValue("@a62", f.txtImp4.Text)
 
    .AddWithValue("@a63", f.TotalDesc.Text)
 
    'Bloque de la franquicia, importe bruto y los datos de pie de la factura
    .AddWithValue("@a64", f.TextBox13.Text)
    .AddWithValue("@a65", f.txtImpBruto.Text)
    .AddWithValue("@a66", f.txtIva.Text)
    .AddWithValue("@a67", f.ComboBox1.Text)
    .AddWithValue("@a68", f.TextBox14.Text)
    .AddWithValue("@a69", f.lblTotal.Text)
 
    cmd.ExecuteNonQuery()
    cmd.Dispose()
    con.Close()
    MsgBox("Actualizado correctamente", MsgBoxStyle.Information, "Correcto")
End With

Es una factura previamente guardada en BD access y al ejecutar la consulta Update, me dice el siguiente mensaje:
"NO SE HAN ESPECIFICADO VALORES PARA LOS PARAMETROS REQUERIDOS"

He revisado la consulta mogollon de veces a ver si encontraba algo que había obviado, pero sigo sin encontrar donde está el fallo.
A ver si puede alguien hecharme una mano.

Gracias, saludos
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
Imágen de perfil de gilman
Val: 521
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

No se han especificado valores para algunos de los parametros requeridos

Publicado por gilman (282 intervenciones) el 28/04/2019 09:18:27
Si no me equivoco el campo N_factura es alfanumérico con lo que el valor a consultar debería ir entre apóstrofos con lo que la WHERE quedaría:
1
where N_factura='" & f.txN_Factura.Text & "'"
o mejor aún pasalo como un parámetro y así se evita el problema si el valor a consultar contiene apóstrofos
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