Visual Basic - Ordenar una tabla al guardar

Life is soft - evento anual de software empresarial
 
Vista:

Ordenar una tabla al guardar

Publicado por Emanuel Lopez (45 intervenciones) el 19/07/2006 19:21:41
hola amigos ya esla tercera vez que pregunto esto y hasta hoy no doy con la respuesta, tengo una tabla con un campo integer llamado clave y los quiero ordenar de manera desendente AL MOMENTO DE GUARDARLOS no con una instruccion SQL como me han dicho con SELECT nom_campo FROMnom_tabla ORDER BYnom_campo ASC.

esta forma ya la tengo lista pero lo que necesito es ordenarlos en el momento de guardarlos, no ordenarlos una vez ya guardados la secuencia es esta
1
2
3
4
6
7
si ingreso la clave 5 al momento de guardar los datos me la deberia de poner en la posicion que esta entre el 4 y 6. si alguien tiene un codigo que me sirba se los agradeseria mucho que tengo mas de 15 dias con este problema.Mil gracis a los amigos del foro que me dan la instruccion SQL pero esa no me sirve, lo que necesito es "ORDENAR AL MOMENTO DE GUARDAR LOS DATOS."
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:Ordenar una tabla al guardar

Publicado por Loud_in (110 intervenciones) el 19/07/2006 20:49:31
Viejo, explicanos un poco más. ya que no le encontramos lógica y por ende no vemos en funcion de que poder brindarte una solución.

Analizando, te haré una pregunta.
Cuando ves que no te queda ahí(entre el 4 y 6), te refires a cuando los ves al abrir la tabla? ó los estas viendo en algún objeto como listview ó grid, etc.
Ya que sí lo estas viendo por la Tabla de Access(Supongo), no hay razón de ser y la tabla se encarga de realizar el orden. si por lo contrario, es por un objeto, tienes que refrescar el objeto, sí el ordena automáticamente. sino, debes realizar la accion de refrescar manualmente. Oséa por codigo. y eso condiciona a que primero, luego de guardar el registro, refresques la consulta SQL.(y ahí es donde sirve la instrucción ORDER BY)

Otra cosa. solo hay dos estados, antes y despues, en el caso de registro. el estado del "momento" de guardarlos es extremadamente subjetivo y además de imperceptible a nuestro razocinio.
Oséa, los registros "Antes de ser guardados", se encuentran ordenados, debido a que no has ingresado el 5. Despues de guardados, con la instrucción SQL se ordenan. Por esta razón, es dificil determinar el "momento" de guardar y por ende, no le encontramos lógica.
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:Ordenar una tabla al guardar

Publicado por ivan (1039 intervenciones) el 20/07/2006 01:23:25
Lo que pides es completamente ilógico, todos sabemos que si abres un recordset con la cláusula ORDER BY los registros SIEMPRE ESTARAN ORDENADOS, ahora si lo que quieres es que cuando abras la tabla en Access (porque asumo que esa es la forma en como lo tienes grabado) te aparezcan los datos ordenados por determinado campo (sin que te tomes la molestia de ordenarlos tu con un simple click) entonces...

Cada vez que guardes un registro en tu tabla

1. Crea una tabla temporal o bórrala toda, en caso de que esté creada
2. agrégale todos los registros uno por uno, si acaso los abriste con ORDER BY estarán siempre ordenados
3. borra la tabla donde tienes los registros
4. renombra la tabla temporal a la tabla que usas.

Otra inoperante manera de hacer eso es, al momento de grabar registros nuevos en tu tabla

1. averigues en qué posición quedará, por ejemplo el 5, te posicionas en el próximo inmediato anterior, o sea, el 4, copia todo lo que esté abajo a una tabla temporal.
2. Borra todos los que estén abajo, al fin ya los tienes copiados.
3. agrega el nuevo elemento, el 5.
4. agrega todos aquellos que copiaste a la tabla temporal
5. acuérdate de borrar los registros de la tabla temporal.

COMO VERÁS, ESTAS SOLUCIONES SON COMPLETAMENTE FATALES Y NADIE CREO LAS APLICARÍA, LO QUE PIDES ES INNECESARIO, al menos que tengas una buena razón para hacer lo que pides....

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