Visual Basic - Actualizar RecordSet

Life is soft - evento anual de software empresarial
 
Vista:

Actualizar RecordSet

Publicado por Jose Rivera (19 intervenciones) el 12/07/2006 15:04:42
Hola mi problema es que no puedo actualizar un Record Set ; hago una consulta SQL obtengo el Rs ahora hay algunos valores que deseo modificarle al Rs no a las tablas esto por que tengo que presentarlo a un datagrid, pasarlo a un datagrid si puedo lo que no puedo es actualizarlo..

Gracias.
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
sin imagen de perfil

RE:Actualizar RecordSet

Publicado por Daniel (61 intervenciones) el 12/07/2006 15:08:15
Fijate si estas usando estos valores.

Antes de la sentencia SQL
rs.CursorLocation = adUseClient

y en la conexión.
Conexion, adOpenDynamic, adLockOptimistic

Espero te sirva.
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:Actualizar RecordSet

Publicado por Jose Rivera (19 intervenciones) el 12/07/2006 15:26:05
Hola muchas gracias, mira lo de rs.CursorLocation = adUseClient ayer lo use y no me funciono
ahora, lo de la conexion no pero lo que pasa es que estoy unando este tipo de conexion:
Set nws2_con = New ADODB.Connection
nws2_con.Open "Driver={SYBASE SYSTEM 11};" & _
"Srvr=NWS;" & _
"Catalog=GRAN_seg1;" & _
"DB=GRAN_seg1;" & _

ahora como le agrego lo de: Conexion , adOpenDynamic, adLockOptimistic
??,

Gracias, muy amable
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
sin imagen de perfil

RE:Actualizar RecordSet

Publicado por Daniel (61 intervenciones) el 12/07/2006 16:41:35
Cuando haces la consulta SQL le agregas una coma y despues los valores que te pasé, tal cual están.

Ejemplo

rs.Open "SENTENCIAS SQL", conexion, adOpenDynamic, adLockOptimistic

Suerte.
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:Actualizar RecordSet

Publicado por Jose Rivera (19 intervenciones) el 12/07/2006 17:34:45
Gracias me funciona, ahora lo que pasa es lo siguiente: cuando cambio el valor deseado y de doy rs.movenext me da el sig. error

Informacion de columna clave insuficiente para realizar la operacion Update o Refresh

este es el codigo que uso
lo que hace es que busca los numeros diferentes a 7,14,21,28 y 42 si es <> entonces llama un form(NValor) en la cual ingreso el valor nuevo este a su ves lo guardo en una variable publica declarada en un modulo, luego regresa a realizar el cambio es decir: rs(2)=txt1, y lo hace bien hasta alli cuando va y quiere mover el rs al siguiente me da el error.

rs.MoveFirst

While rs.EOF = False
If Int(rs(2)) = 7 Or Int(rs(2)) = 14 Or Int(rs(2)) = 21 Or Int(rs(2)) = 28 Or Int(rs(2)) = 42 Then
Else
NValor.Show 1
rs(2) = txt1
End If
'rs.Refresh
rs.MoveNext
Wend

Gracias Daniel
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
sin imagen de perfil

RE:Actualizar RecordSet

Publicado por Daniel (61 intervenciones) el 12/07/2006 20:12:39
Hasta aca llegué, realmente no se, fijate si en el segundo formulario no estas "pisando" algo del primero.
Te aconsejo que vayas "cortando" el programa, o ir "debuggeando" hasta detectar el error.
Suerte.
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:Actualizar RecordSet

Publicado por Jose Rivera (19 intervenciones) el 12/07/2006 20:20:05
gracias, muchas gracias, realmente no se que pueda ser, otra cosa que tenia pensado era tirar el rs a un array lo hice bien y aqui no hay problema en eso hasta cuando quiero mostrar el contenido del array en un datagrid me da error.

bueno Daniel muchas Gracias, si sabes algo sobre como pasar un array a un datagrid te agradecere me digas como se hace

Saludos Cordiales
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
sin imagen de perfil

RE:Actualizar RecordSet

Publicado por Daniel (61 intervenciones) el 12/07/2006 21:30:13
Esto lo saqué de una consulta parecida a la tuya, donde alguien respondió esto, no sé si te va a servir.

*************************************************************
Tanto el DBGRID como el DATAGRID no permiten manejar en modo no enlazado. Los controles que te permiten hacer eso son :
MSFLEXGRID y MSHFLEXGRID
Ambos permiten trabajar con datos enlazados y sin enlazar.
Para añadir lineas se utiliza: AddItem
Msflexgrid1.Additem "dato1" & chr(9) & "dato2"
También se puede acceder a cualquiera de sus filas/columnas (como en Excel), con TEXTMATRIX
Msflexgrid1.TextMatrix ( fila , columna ) = "Dato"
***************************************************************
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:Actualizar RecordSet

Publicado por Jose Rivera (19 intervenciones) el 13/07/2006 01:09:18
Gracias Daniel, Haciendolo con MsflexGrid lo logro hacer, nada mas que desde un Arreglo, lleno el arreglo con el rs y luego el arreglo lo vacio en el Msflexgrid,

Muchisimas gracias
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