ORDENAR REGISTROS PARA IMPRESSAO
Peguei um exemplo no Macoratti para imprimir uma tabela com Printer, só que os registros aparecem na ordem em que foram digitados. Gostaria de saber como faço para ordená-los por Nome ASC.
Private Sub Form_Load()
Set area = DBEngine.Workspaces(0)
Set db = area.OpenDatabase(App.Path & "\cadastro.mdb")
Set rs = db.OpenRecordset("clientes", dbOpenTable)
rs.MoveLast
rs.MoveFirst
_________________________
Private Sub imprime_dados()
Dim tamanhofolha As Integer
Dim i As Integer
'define a fonte e o tamanhao da fonte
Printer.FontName = "Arial"
Printer.FontSize = "10"
tamanhofolha = Printer.ScaleHeight - 1440 'define o tamanho da folha
rs.MoveFirst 'movimenta o ponteiro para o primeiro registro
contapagina = 0 'inicia o variável
Call cabecalho 'chama a rotina do cabeçalho
Do While Not rs.EOF '
If Printer.CurrentY >= tamanhofolha Then 'verifica se se folha já 'encheu'
Printer.NewPage
Call cabecalho
End If
'---------------imprime os dados da tabela----------------------------
Printer.Print Tab(0); rs("nome");
Printer.Print Tab(30); rs("endereço");
Printer.Print Tab(60); rs("cidade");
Printer.Print Tab(90); rs("estado");
Printer.Print Tab(95); rs("cep")
'--------------------------------------------
rs.MoveNext 'vai para o proximo registro
Se alguém puder me ajuda, agradeço.
Private Sub Form_Load()
Set area = DBEngine.Workspaces(0)
Set db = area.OpenDatabase(App.Path & "\cadastro.mdb")
Set rs = db.OpenRecordset("clientes", dbOpenTable)
rs.MoveLast
rs.MoveFirst
_________________________
Private Sub imprime_dados()
Dim tamanhofolha As Integer
Dim i As Integer
'define a fonte e o tamanhao da fonte
Printer.FontName = "Arial"
Printer.FontSize = "10"
tamanhofolha = Printer.ScaleHeight - 1440 'define o tamanho da folha
rs.MoveFirst 'movimenta o ponteiro para o primeiro registro
contapagina = 0 'inicia o variável
Call cabecalho 'chama a rotina do cabeçalho
Do While Not rs.EOF '
If Printer.CurrentY >= tamanhofolha Then 'verifica se se folha já 'encheu'
Printer.NewPage
Call cabecalho
End If
'---------------imprime os dados da tabela----------------------------
Printer.Print Tab(0); rs("nome");
Printer.Print Tab(30); rs("endereço");
Printer.Print Tab(60); rs("cidade");
Printer.Print Tab(90); rs("estado");
Printer.Print Tab(95); rs("cep")
'--------------------------------------------
rs.MoveNext 'vai para o proximo registro
Se alguém puder me ajuda, agradeço.
Não tenho certeza, mas tenta alterar esta linha
Set rs = db.OpenRecordset("clientes", dbOpenTable)
Set rs = db.openRecordsett("Select * From Clientes Order By Nome")
Set rs = db.OpenRecordset("clientes", dbOpenTable)
Set rs = db.openRecordsett("Select * From Clientes Order By Nome")
Interessante. Postei essa pegunta no Forum do Macoratti, acho que na sexta feira, e até agora não tive resposta. Aqui, em menos de uma hora já responderam.
Valeu Jair Lopes. Muito obrigado.
Valeu Jair Lopes. Muito obrigado.
Tópico encerrado , respostas não são mais permitidas