Visual Basic - Guardar datos listview en BD

Life is soft - evento anual de software empresarial
 
Vista:

Guardar datos listview en BD

Publicado por Manoli (8 intervenciones) el 21/03/2008 21:09:33
Hola, perdonen las molestias...
Llevo ya bastante tiempo intentando solucionar este problema, pero no soy capaz

WDB.Open ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;Data Source=" & App.Path & "BDNueva.mdb")


'Recorrer el listview para ir introduciendo los articulos en la base de datos
For i = 1 To ListView1.ListItems.Count

SQL4 = "SELECT codigo FROM Pacientes WHERE Nombre LIKE '" & Paciente & "'"
SQL2 = "SELECT cod_dolencia FROM Dolencias WHERE Nombre LIKE '" & ListView1.ListItems(i).SubItems(2) & "'"
SQL3 = "SELECT num FROM Articulos WHERE Nombre LIKE '" & ListView1.ListItems(i).SubItems(3) & "'"

Set User = WDB.Execute(SQL4)
Set User2 = WDB.Execute(SQL2)
Set User3 = WDB.Execute(SQL3)
codigo_paciente = User!Codigo
codigo_dolencia = User2!cod_dolencia
codigo_tratamiento = User3!Num
codigo_informe = ListView1.ListItems(i).Text


SQL4 = "SELECT * FROM informe WHERE id_informe = " & CLng(codigo_informe) & " And dolencia = " & codigo_dolencia & " And tratamiento = " & CLng(codigo_tratamiento)

mirecordset.Open SQL4, WDB, adOpenDynamic, adLockOptimistic

With mirecordset
If ListView1.ListItems(i).SubItems(5) <> "" Then
.Fields("Seguimiento") = ListView1.ListItems(i).SubItems(5)
End If
If ListView1.ListItems(i).SubItems(6) <> "" Then
.Fields("Observaciones") = ListView1.ListItems(i).SubItems(6)
End If
.Update
End With
Next i
End If
resulta que quiero guardar solo los valores de seguimineto y observaciones.
Pero me da el siguiente error:
No se han especificado valores para algunos de los parametros requeridos
y cuando le doy a debug aparece marcada la siguiente linea:
mirecordset.Open SQL4, WDB, adOpenDynamic, adLockOptimistic

Por favor necesito su ayuda!!!!!!!!!!!!!!
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:Guardar datos listview en BD

Publicado por Manoli (8 intervenciones) el 21/03/2008 23:13:45
Tranquilo, se que no es muy buen codigo...estoy iniciandome en la programacion. Si en todos los campos tienen datos... me podria ayudar?
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:Guardar datos listview en BD

Publicado por Cesar (3 intervenciones) el 03/11/2008 14:38:33
Como primer punto no posees un recordset que abra los campos que estas usando para codigo_informe y codigo_tratamiento, intenta separar las ejecuciones en la base de datos para que corresponda una consulta por cada procedimiento, me especifico

Set User = WDB.Execute(SQL4)
codigo_paciente = User!Codigo

y así con los demás, pero verifica que previamente declarastes tus variables.
recuerda además que si trabajas con variables numéricas a SQL tienes que especificarle cuales son numericas.

Me imagino que declareste debidamente tu conección y tu recordset con

Dim WDB as NEW ADOB.Connection
.... etc, etc, etc.....

antes de usar por segunda vez el SQL4 declaralo vacío con SQL4 = Nothing

Otro punto es que antes de cerrar tus If debes colocar el .UPDATE a menos que poseas un else que te lo condicione, pero al comprobar si es cierto lo que tu quieres manda a actualizar tu base de datos porque aunque no tengas valores se va a mandar a actualizar y te puede dejar campos nulos

Bueno eso es lo que te puedo decir con respecto a este código, si quieres algo más complementa más el código.

Espero te sirva de algo....
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