|
Responder ![]() |
Autor | |
01loko ![]() Asiduo ![]() Unido: 17/Agosto/2017 Localización: Santander Estado: Sin conexión Puntos: 475 |
![]() Enviado: 18/Marzo/2018 a las 13:24 |
Tabla con multiples productos, intento aclararla un poco y los campos (todos texto ?¿, aunque sea precio) los exporto a otra con el mismo nombre, pero cuando es texto, cuando es numero, cuando es contador.. etc.
aqui llega la pregunta, si pongo algocomo: Dim rs As DAO.Recordset Dim ms As DAO.Recordset Set rs = CurrentDb.OpenRecordset("productos") If rs.RecordCount > 0 Then Do While Not rs.EOF If IsNull(rs!) Then rs! = Nz(rs!, "0") todos los rs! (recordset) nulos los convierte a "0" y el resto los deja bien? PD: tengo el teclado como una maraca, el espacio va cuando le da la gana, hasta ellunes tengo que aguantar,perdonsi se junta alguna palabra |
|
Recordar de que soy nuevo y estoy aprendiendo.
|
|
![]() |
|
pitxiku ![]() Colaborador ![]() ![]() Unido: 27/Septiembre/2017 Localización: En mi casa Estado: Sin conexión Puntos: 1118 |
![]() |
En un principio no hará nada, porque no estás diciendo que vas a editar el registro, rs.Edit. Por otro lado, si ya sabes que es nulo, no necesitas el Nz, ni usar otra vez el valor del campo (que ya sabes que es nulo): If IsNull(rs!ElCampo) Then rs.Edit rs!ElCampo = "0" rs.Update End If Por otro lado, ¿por qué no usas una consulta de datos anexados? Pasas todos los registros de una tacada, y usas Nz para pasar el valor que quieras cuando en el origen sea nulo.
|
|
![]() |
|
jilo ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador ![]() Unido: 19/Diciembre/2004 Localización: TAFALLA Estado: Sin conexión Puntos: 900 |
![]() |
Hola
COmo complemento a Pitxiku antes de if rs.RecordCount yo pondría un rs.movefirst para aseguararte que empiezasdesde el primero y pasas todos los registros. A tener en cuenta que sí no hay registros rs.movefirst te dará error. Aun que una consulta de actualización lo arreglarias de una pasada |
|
Espero te sirva !!!!!!
Iñaki |
|
![]() |
|
01loko ![]() Asiduo ![]() Unido: 17/Agosto/2017 Localización: Santander Estado: Sin conexión Puntos: 475 |
![]() |
pero pasaria por todos los campos?
rs!* ( o similar) o tengo pque personalizar cada uno rs!nombrecampo |
|
Recordar de que soy nuevo y estoy aprendiendo.
|
|
![]() |
|
jilo ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador ![]() Unido: 19/Diciembre/2004 Localización: TAFALLA Estado: Sin conexión Puntos: 900 |
![]() |
Hola 01Loko,
Te dejo una funcion que hice para mi que debia de recorrer todos los registros y todos los campos de una tabla. Todos los campoe eran fechas y tenia que ver cual era la mayor de todos los campos. Adaptala a tus necesidades
Editado por jilo - 19/Marzo/2018 a las 12:30 |
|
Espero te sirva !!!!!!
Iñaki |
|
![]() |
|
pitxiku ![]() Colaborador ![]() ![]() Unido: 27/Septiembre/2017 Localización: En mi casa Estado: Sin conexión Puntos: 1118 |
![]() |
Si usas un Recordset, tienes que indicar cada campo que quieres actualizar. No puedes decirle algo como: Rs.Edit Rs!* = Nz(Rs!*, "0") Rs.Update Por eso lo de usar una consulta de actualización, en un único paso te lo haces: UPDATE productos SET Campo1=Nz(Campo1, "0"), Campo2=Nz(Campo2, "0"), ...; Editado para agregar: Además, en la consulta de actualización podrás indicar valores distintos para los campos de texto, números, ....
Editado por pitxiku - 19/Marzo/2018 a las 20:05 |
|
![]() |
|
01loko ![]() Asiduo ![]() Unido: 17/Agosto/2017 Localización: Santander Estado: Sin conexión Puntos: 475 |
![]() |
esta semana estoy un poco liado, pero me cada claro :
En un recordset no puedo utilizar comodines Aunque, el proyecto lo tengo parado ahora mismo, supongo que utilizare una consulta para ir actualizando cada tabla. Gracias a todos por la paciencia Se puede cerrar el hilo |
|
Recordar de que soy nuevo y estoy aprendiendo.
|
|
![]() |
Responder ![]() |
|
Tweet
|
Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |