Ordenar Datos en Base de Datos

Iniciado por Zorrohack, 8 Febrero 2006, 12:00 PM

0 Miembros y 1 Visitante están viendo este tema.

Zorrohack

estoy utilizando el Control Data y cuando guardo en la Base de Datos los sta guardando desordenadamente y quisiera saber como ordeno los datos de cualquier campo, tomemos un ejemplo que sea ordenar el campo de Apellidos como le hago?

Progresamos porque hay Millones de imbeciles, maldicion jodi a McAfee,Panda,Kav,Norton, perdonen solo practicaba.

el_chente23

Te recomiendo que cuando creas la tablas de la base de datos, uses campos llaves, de esa manera es mas rapido el moverte entre los registros, eso que comentas que te los guarda de manera desordenada, es porque no hay un campo llave, lo que puedes hacer en este caso es, antes de guardar los datos en la base de datos ordena los datos del RecordSet del control data.

Saludos

Ironhorse

Realmente no importa como guarda los datos un motor de bases de datos, si quieres verlos por algun orden, debes hacerlo al momento de recuperar las filas, y crear indices en los campos que quieras ver ordenados para que el acceso sea optimo.
Pégense una vuelta por Cracton :)

Zorrohack

Citar

Te recomiendo que cuando creas la tablas de la base de datos, uses campos llaves

Pues no puedo usar llaves porque algunos datos tienen que repetirse asi que ya encontre como hacerlo mediante codigo SQL seria asi:
Dim Data as DataBase, Record as Recordset
Set Data = OpenDataBase(App.Path & "\BaseDatos.mdb")
Set Record=Data.OpenRecordset("SELECT CampoTabla " & "FROM Tabla " & "ORDER BY CampoTabla ASC;")
Record.MoveLast

luego de hacer esto lo que hago es moverme al ultimo Record para asi sumarle uno y ese sera la Proxima Factura.

Gracias.
Progresamos porque hay Millones de imbeciles, maldicion jodi a McAfee,Panda,Kav,Norton, perdonen solo practicaba.

el_chente23

Si lo que necesitabas era sacar el numero maximo + 1, puedes hacerlo de  esta manera Select campo=max(campo)+1 from tabla esta seria otra alternativa, para que no hicieras mas codigo de vb  ;D.

Saludos