ORDENAR POR QUALQUER TABELA

WXCXNX 17/08/2012 12:51:38
#408109
Olá amigos, estou com uma dúvida danada.
possuo esse codigo:

Citação:

set sql = conectarAtend.execute([Ô]SELECT * FROM CadEscola[Ô])
do while not sql.eof
if sql([Ô]Status[Ô]) = [Ô]MATRICULADO[Ô] then
cod = sql([Ô]CodAluno[Ô])
set sql2 = conexao.execute([Ô]SELECT Nome FROM relacaotb WHERE Codigo = [Ô]&cod&[Ô][Ô])
set sql3 = conexao.execute([Ô]SELECT * FROM Alojamentotb WHERE Codigo = [Ô]&cod&[Ô][Ô])



Estou precisando ordernar meu relatorio por um campo da tabela Alojamentotb. Mas como estou comparando a tabela com a variavel &cod& criada, não sei como fazer para organizar a lista ordenando pelo campo [Ô]Sala[Ô] da tabela Alojamentotb. Alguem sabe ordenar um relatorio usando uma conexao com o banco sem ser a primeira conexao criada?

Desculpa se não deu pra entender muito bem minha pergunta
Desde já, agradeço a todos.
LLAIA 17/08/2012 13:21:36
#408110
Veja se é isso ajuda:

set sql3 = conexao.execute([Ô]SELECT * FROM Alojamentotb WHERE Codigo = [Ô] & cod & [Ô] ORDER BY sala[Ô] )
WXCXNX 17/08/2012 14:26:24
#408111
Olá LLAIA, então, isso mesmo que eu tentei, mas o que acontece é que ele só aceita fazer o ORDER BY se for pelo SELECT da primeira tabela que selecionei que seria o CadEscola. Quando faço esse esquema ele continua sem ordernar.

Abraço
WXCXNX 20/08/2012 07:02:09
#408174
alguem com outra ideia ?
WXCXNX 20/08/2012 08:22:25
#408178
Olá BARROS, precisa ser feito esses selects sim, pois não posso cadastrar [Ô]Sala[Ô] do Alojamentotb na tabela CadEscolatb.
A não ser que tenha um modo de fazer apenas 1 select pegando as duas tabelas que são de conexões diferentes ainda.
Já essa parte de usar apenas uma query relacionando as duas, não sei como eu faria.

Valeu pela força.
Abraço.
MARCELO.TREZE 20/08/2012 14:20:31
#408216
tenta assim

sSQL = [Ô]SELECT ce.*, re.*, al.* FROM CadEscola ce INNER JOIN ( relacaotb re INNER JOIN Alojamentotb al ON re.codigo = al.codigo) ON ce.codaluno = re.codigo WHERE ce.Status = [ô]MATRICULADO[ô] ORDER BY ce.Sala[Ô]

set RS = conectarAtend.execute(sSQL)


o código seria este acima praticamente em uma unica query consultar baseado em tres tabelas.

repara que ordenei por ce.Sala, porém nem sei se existe este campo na tabela ce (CadEscola) se não funcionar coloque os nomes dos campos das tabelas e qual o relacionamento entre eles


WXCXNX 20/08/2012 16:29:09
#408228
Valeu MARCELO-TREZE, esse modo que você fez é um pouco confuso pra eu conseguir entender, vou estudando esse codigo que você criou e tentar colocar no programa aqui. O ce.* re.* al.* seriam 3 variaveis que você criou para usar no banco ou são as abreviações das tabelas?

Abraço!
Valeu pela força. xD
MARCELO.TREZE 20/08/2012 16:50:34
#408230
são abreviações ou apledidos, que vc determina para diminuir o tamnho da query

veja onde eu determinei cada um deles

sSQL = [Ô]SELECT [txt-color=#e80000]ce[/txt-color].*, [txt-color=#0000f0]re[/txt-color].*,[txt-color=#007100] al[/txt-color].* FROM CadEscola [txt-color=#e80000]ce[/txt-color] INNER JOIN ( relacaotb [txt-color=#0000f0]re[/txt-color] INNER JOIN Alojamentotb [txt-color=#007100]al[/txt-color] ON re.codigo = al.codigo) ON ce.codaluno = re.codigo WHERE ce.Status = [ô]MATRICULADO[ô] ORDER BY ce.Sala[Ô]

porém a questão é vc testou a query
VELDRAME 20/08/2012 16:52:03
#408232
Você falou que são duas conexões diferentes, então eu tenho isso para você:
Se for SQL-Server:
Você pode chamar uma outra conexão sem sair da sua.
Eu, por exemplo, tenho um aplicativo ligado a um Servidor de IP: xxx.xxx.x.6, mas faço leitura e gravação no Servidor de IP: xxx.xxx.xx.21.
O que eu fiz;
Criei ama conexão no Linked Server.
Aqui é um exemplo de Linked Server entre SQL e Access.

http://marcelo.todoinfo.com.br/sql-server-linked-server/
Pesquise LINKED SERVER na WEB.

Agora se form Dois banco s diferentes em um mesmo servidor (ou mesma conexão) você pode fazer uma view unindo duas ou mais bases de dados e suas tabelas.
Na hora do INSERT você divide as informações como deve ser, cada qual para a sua tabela.

******************************************************************************************************************

MAS...
Você falou que um relatório, então uma simples view resolve.

******************************************************************************************************************

Tópico encerrado , respostas não são mais permitidas