border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 09-07-2008, 18:11:17
Un Nuevo Amigo
 
Registrado: may 2008
Posts: 24
chamy_juan Aun no valorado
Predeterminado Modificar datos de recordset

Hola, me pueden ayudar con lo siguiente, por favor.
Necesito modificar los datos de un recordset, intento lo siguiente:

rsMantencionListas.Open "SELECT * FROM [Mantencion Listas Precios] WHERE Rubro = '" & Label2 & "' And [Asociado a:] = '" & DataCombo1 & "' And Vigente = 'Si' ", Conexion, adOpenStatic, adLockOptimistic
If ms.TextMatrix(1, 0) <> Empty And ms.TextMatrix(1, 4) <> Empty And ms.TextMatrix(1, 5) <> Empty Then
rsMantencionListas.MoveFirst
Do While Not rsMantencionListas.EOF
rsMantencionListas.Fields("Vigente") = "No"
rsMantencionListas.Fields("Hasta") = CDate(Text3) - 1
rsMantencionListas.Update
rsMantencionListas.MoveNext
Loop
End If

Pero con esto solo logro modificar el último dato del recorset y necesito modificar todos.

Desde ya, gracias

Juan Espoz
Responder Con Cita
  #2 (permalink)  
Antiguo 09-07-2008, 18:27:57
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.184
acalanto ha deshabilitado la reputación
Predeterminado Re: Modificar datos de recordset

Yo normalmente lo ejecuto con una instrucción UPDATE de SLQ y no con el .Update del recordset, sobre todo porque creo que estás trabajando con ADODBC.

Prueba esta sentencia realizando antes una copia de seguridad de los datos, por lo que pudiera suceder.

Código:
 
rsMantencionListas.Open "UPDATE [Mantencion Listas Precios] SET Vigente='No', Hasta=" + cstr(CDate(Text3) - 1) + "WHERE Rubro = '" & Label2 & "' And [Asociado a:] = '" & DataCombo1 & "' And Vigente = 'Si'", Conexion, adOpenStatic, adLockOptimistic
Lógicamente deberías verificar la construcción de la cadena, pues yo pongo lo mismo que tu tienes, pero no puedo comprobar que se encuentre libre de errores.


PD: Mala costumbre es poner nombres de campos y tablas con espacios. Acostumbra a definirlos de forma continuada, pues aveces SQL no digiere bien los tipos como [Mantencion Listas Precios]. Es mejor poner Mantencion_Lista_Precios o MantencionListaPrecios.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion

Última edición por acalanto fecha: 09-07-2008 a las 18:30:32.
Responder Con Cita
  #3 (permalink)  
Antiguo 09-07-2008, 21:24:58
Un Nuevo Amigo
 
Registrado: may 2008
Posts: 24
chamy_juan Aun no valorado
Predeterminado Re: Modificar datos de recordset

Gracias por la respuesta, es lo que necesitaba, pero me quedo un solo problema.

En el text3 que es donde va la fecha, al colocar "07/07", me guarda el registro como "01-07-1894", la idea es que lo guarde como "07-07-2008".

Bueno en el caso de mi problema le resto un día, o sea debería quedar "06-07-2008".

De nuevo, gracias

Juan Espoz
Responder Con Cita
  #4 (permalink)  
Antiguo 09-07-2008, 21:38:13
Un Nuevo Amigo
 
Registrado: may 2008
Posts: 24
chamy_juan Aun no valorado
Predeterminado Re: Modificar datos de recordset

Ya lo solucione modificando lo siguiente:

Hasta=" + cstr(CDate(Text3) - 1) + "

por

Hasta = #" & format(cdate(Text3) - 1, "mm-dd-yyyy") & "#
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT. Ahora son las 14:29:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right