• Domingo 22 de Diciembre de 2024, 13:12

Autor Tema:  Utilización Del Order By  (Leído 2850 veces)

lavi

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Utilización Del Order By
« en: Martes 12 de Febrero de 2008, 00:50 »
0
Puedo utilizar el SELECT * FROM Tabla ORDER BY Nombre en medio de éste código...?? Me tira un semejate error... pero en realidad mi idea es levantar la tabla ordenada por apellidos... el abrirtabla alli sería un OpenRecordset que está en otro módulo...

espero PUEDAN AYUDARME.... GRACIAS..


Código: Text
  1. Public Function CargarTodos() As Collection
  2.     Set CargarTodos = New Collection
  3.     Set rs = mBASE.abrirtabla("Select * from Afiliado1 order by Apellido")
  4.       Do While Not rs.EOF
  5.         Set ficha = New cAfiliado1
  6.           'ficha.ID = rs!ID
  7.           ficha.Numero = rs!Numero
  8.           ficha.CI = rs!CI
  9.           ficha.Nombre = rs!Nombre
  10.           ficha.Apellido = rs!Apellido
  11.           ficha.Direccion = rs!Direccion
  12.           ficha.Telefono = rs!Telefono
  13.           ficha.FechaIng1 = rs!FechaIng1
  14.           ficha.FechaIng2 = rs!FechaIng2
  15.           ficha.FechaIng3 = rs!FechaIng3
  16.           ficha.FechaBaja1 = rs!FechaBaja1
  17.           ficha.FechaBaja2 = rs!FechaBaja2
  18.           ficha.FechaBaja3 = rs!FechaBaja3
  19.           ficha.IDCategoria = rs!IDCategoria
  20.           ficha.HABILITADO = rs!HABILITADO
  21.           CargarTodos.Add ficha
  22.         Set ficha = Nothing
  23.         rs.MoveNext
  24.     Loop
  25.  
  26.  

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Utilización Del Order By
« Respuesta #1 en: Martes 12 de Febrero de 2008, 01:08 »
0
Cita de: "lavi"
Puedo utilizar el SELECT * FROM Tabla ORDER BY Nombre en medio de éste código...?? Me tira un semejate error... pero en realidad mi idea es levantar la tabla ordenada por apellidos... el abrirtabla alli sería un OpenRecordset que está en otro módulo...

espero PUEDAN AYUDARME.... GRACIAS..


Código: Text
  1. Public Function CargarTodos() As Collection
  2.     Set CargarTodos = New Collection
  3.     Set rs = mBASE.abrirtabla("Select * from Afiliado1 order by Apellido")
  4.       Do While Not rs.EOF
  5.         Set ficha = New cAfiliado1
  6.           'ficha.ID = rs!ID
  7.           ficha.Numero = rs!Numero
  8.           ficha.CI = rs!CI
  9.           ficha.Nombre = rs!Nombre
  10.           ficha.Apellido = rs!Apellido
  11.           ficha.Direccion = rs!Direccion
  12.           ficha.Telefono = rs!Telefono
  13.           ficha.FechaIng1 = rs!FechaIng1
  14.           ficha.FechaIng2 = rs!FechaIng2
  15.           ficha.FechaIng3 = rs!FechaIng3
  16.           ficha.FechaBaja1 = rs!FechaBaja1
  17.           ficha.FechaBaja2 = rs!FechaBaja2
  18.           ficha.FechaBaja3 = rs!FechaBaja3
  19.           ficha.IDCategoria = rs!IDCategoria
  20.           ficha.HABILITADO = rs!HABILITADO
  21.           CargarTodos.Add ficha
  22.         Set ficha = Nothing
  23.         rs.MoveNext
  24.     Loop
  25.  
  26.  
¿Cual es el error?
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

lavi

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Re: Utilización Del Order By
« Respuesta #2 en: Martes 12 de Febrero de 2008, 17:06 »
0
este...
Código: Text
  1.  
  2. "Error 3011 en tiempo de ejecución:
  3. El motor de base de datos Microsoft Jet no pudo encontrar el objeto "Select * from Afiliado 1 order by Apellido". Asegurese de que el objeto existe y que ha escrito el nombre y la ruta de acceso correctamente "
  4.  

espero respuesta.. gracias.

Jonathan_Vidal

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Utilización Del Order By
« Respuesta #3 en: Martes 12 de Febrero de 2008, 17:07 »
0
Tu Sintaxis SQL esta correcta ese no creo que sea el Error, Mejor indicanos cual es el Error

Jonathan_Vidal

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Utilización Del Order By
« Respuesta #4 en: Martes 12 de Febrero de 2008, 17:11 »
0
Verifica el Nombre de la Tabla y los Campos ahora si segun tu consulta SQL el Nombre de tu Tabla es el "Afiliado 1"

Para poder ejecutar esa consulta tendrias que hacer lo Siguiente:

Select * from [Afiliado 1] order by Campo1

Pd:

Cuando el Nombre de la Tabla o el Campo estan separados por un espacio tienes que colocarlo entre Corchetes [Tabla 1] o entre este simbolo dependiendo de que Base de Datos `Tabla 1`

Saludos
Jonathan Vidal

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Utilización Del Order By
« Respuesta #5 en: Martes 12 de Febrero de 2008, 17:19 »
0
Explica esta línea

Citar
Set rs = mBASE.abrirtabla("Select * from Afiliado1 order by Apellido")

En especial
Citar
mBASE.abrirtabla

 abrirtabla ¿que es?

 :comp:

lavi

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Re: Utilización Del Order By
« Respuesta #6 en: Miércoles 13 de Febrero de 2008, 02:02 »
0
abrirtabla proviene d esta función que se encuentra en otro módulo llamado mBase; aqui cito el cód de abrirtabla... es un openrecordset..
El nombre de la bd access es Odontocop, de la tabla a abrir es Afiliado1, y del campo por el que quiero ordenar es Apellido.

Código: Text
  1.  
  2. Public Function abrirtabla(tb As String) As Recordset
  3.     Set abrirtabla = BASE.OpenRecordset(tb, dbOpenTable)
  4. End Function
  5.  
  6.  
  7.  

y con respecto a la separación, es Afiliado1, sin espacio, por lo q entiendo no debería generar problemas...

el error que tira es el que cité en el mensaje anterior...

espero ayuda ... gracias.

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Utilización Del Order By
« Respuesta #7 en: Miércoles 13 de Febrero de 2008, 03:44 »
0
La siguiente línea:

Citar
   Set rs = mBASE.abrirtabla("Select * from Afiliado1 order by Apellido")

Y la función:

Citar
Public Function abrirtabla(tb As String) As Recordset
   Set abrirtabla = BASE.OpenRecordset(tb, dbOpenTable)
End Function

No tienen la misma base de datos a abrir una dice mBASE y la otra BASE.
Te sugiero que elimines esa función, que solo crea confusión.

 :comp:

lavi

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Re: Utilización Del Order By
« Respuesta #8 en: Miércoles 13 de Febrero de 2008, 17:08 »
0
OK, entiendo lo que decís pero  lo tengo que realizar trabajando con esa función; de igual forma yo ya tengo definido mBase como una Base al comienzo del módulo; ese no es el error... :)

Ta, buscaré otra forma, el tema es que no he podido encontrar un código de ORDENO para una colección que no demore mucho yyy ya hace tiempo ando en la búsqueda, por favor si alguien tiene uno me lo pasa...  :)

gracias..