ayuda con order by usando variables para los nombres de las tablas

Stella
24 de Octubre del 2003
Necesito ordenar alfabeticamente varias tablas, lo hago con ORDER BY pero especificamente tengo que dar el nombre exacto de la tabla en la instrucción, como puedo cambiar este nombre de la tabla por una variable y mediante la ejecucion del programa tome el nombre de la tabla, porque siempre no va a hace, por ejemplo algunas veces va ser DATO1, otras DATO2, etc, y este nombre se lo doy cuanto ejec uto el programa.

Set rst = dbs.OpenRecordset("SELECT Apellidos, " _
& "Nombres FROM datos1 " _
& "ORDER BY Apellidos asc;")

como cambio dato1 por una variable

Baltasar
24 de Octubre del 2003
lo habitual es hacer lo siguiente:

Dim MConsulta as string
MConsulta="SELECT Apellidos, " _
& "Nombres FROM datos1 "

y luego, ya sea mediante un IF THEN o con SELECT CASE:

IF ordenar por campo1 THEN
MConsulta=MConsulta+"ORDER BY campo1"
elseif ordenar por campo2 THEN
MConsulta=MConsulta+"ORDER BY campo2"

etc etc

endif

y luego:

Set rst=dbs.openrecordset(MConsulta)

Osvaldo
24 de Octubre del 2003
Set rst = dbs.OpenRecordset("SELECT Apellidos, " _
& "Nombres FROM " & wtabla " _
& "ORDER BY Apellidos asc;")

donde wtabla es la vble que contiene el nombre de la tabla

jasca
24 de Octubre del 2003
puedes crear una variable que la uses para poder generar tu codigo SQL

por ejemplo
dim cadenaSql as string
dim valor as string


valor=text1.text

cadenaSql="select " & valor & " from tabla where " & valor & "='a' "

esto te ayudará muchoo