USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Como ordenar esta tabela?
ChicoVieira
CRUZEIRO
SP - BRASIL
Postada em 13/02/2006 19:52 hs            

Prezados colegas, meus arquivos gravados são armazenados no banco de dados pela ordem da gravação. Como eu devo proceder para que, no evento <Load> do form, os registros fiquem em ordem? (já tentei diversas instruções em SQL, mas, como sempre utilizei SQL em projects com acesso à base de dados via DataControl, não sei como fazer em DAO (minha versão do VB é a 5). Agradeço alguma ajuda. Chico.

 

Private Sub Form_Load()   

    Set BancoDeDados = OpenDatabase(App.Path & "Contribuinte.mdb")

    Set Tabela = BancoDeDados.OpenRecordset("Fisica", dbOpenTable)          

    Tabela.Index = "CPF"      

    cmdGravar.Enabled = False

    Frame1.Enabled = False   

    If Tabela.EOF = False Then

        AtualizaFormulario

    End If

    Label9.Caption = "Contribuintes cadastrados: " & Tabela.RecordCount

End Sub

 

Private Sub cmdGravar_Click()

    cmdIncluir.Enabled = True

    cmdAlterar.Enabled = True

    cmdConsultarCPF.Enabled = True

    cmdExcluir.Enabled = True

    cmdAnterior.Enabled = True

    cmdProximo.Enabled = True

    cmdGravar.Enabled = False

    cmdSair.Enabled = True   

    Frame1.Enabled = False

    AtualizaCampos

    Tabela.Update

    Label9.Caption = "Contribuintes cadastrados: " & Tabela.RecordCount

End Sub

 

Private Function AtualizaFormulario()

On Error Resume Next

        txtNome = Tabela("Nome")

        txtEndereço = Tabela("Endereço")

        txtCidade = Tabela("Cidade")

        cmbAnoBase = Tabela("Ano_Base")

        txtUnidade = Tabela("URF")

        txtArquivo = Tabela("Caixa")

        mskCPF = Tabela("CPF")  

End Function

 

Private Sub cmdIncluir_Click()

    If MsgBox("Confirma a inclusão de novo registro?", vbYesNo, "Inclusão de novo registro") = vbNo Then

            Exit Sub

            cmdAnterior_Click

            End If

    Tabela.AddNew

    cmdIncluir.Enabled = False

    cmdAlterar.Enabled = False

    cmdConsultarCPF.Enabled = False

    cmdExcluir.Enabled = False

    cmdAnterior.Enabled = False

    cmdProximo.Enabled = False

    cmdGravar.Enabled = False

    cmdSair.Enabled = True

    LimpaFormulario

    Frame1.Enabled = True

    txtNome.SetFocus

End Sub

     
MARCELO
não registrado
Postada em 13/02/2006 23:23 hs   
Você pode tentar esse código:

Dim strSQL As String
Dim db As Database
Dim qdfTemp As QueryDef
Dim rsResultado As Recordset

strSQL = "SELECT * from Fisica order by CPF"

Set db = OpenDatabase(App.Path & "Contribuinte.mdb", False, False, False)
Set qdfTemp = db.CreateQueryDef("")
qdfTemp.SQL = strSQL
Set rsResultado = qdfTemp.OpenRecordset(dbOpenSnapshot)

    cmdGravar.Enabled = False

    Frame1.Enabled = False  

    If rsResultado.RecordCount <> 0 Then

        AtualizaFormulario

    End If

    Label9.Caption = "Contribuintes cadastrados: " & rsResultado.RecordCount


rsResultado.Close
qdfTemp.Close

Set rsResultado = Nothing
Set qdfTemp = Nothing


     
ChicoVieira
CRUZEIRO
SP - BRASIL
Postada em 14/02/2006 06:45 hs            
Aí, Marcelo. Obrigado pela colaboração.
Substituí a rotina que criei no form load pela que vc sugeriu, mas deu um erro '3170' (o ambiente não encontrou o instalador ISAM). Qual o componente que eu devo acrescentar no projeto para testar a sua solução?
Chico.
     
MARCELO
não registrado
Postada em 14/02/2006 09:39 hs   

Tente referenciar a biblioteca microsoft DAO 3.5 ou 3.6

Se não conseguir acesse o link abaixo
http://visualbasic1.locaweb.com.br/forum/Topico.asp?M=2397&T=1313&B=BAN
     
G. Bittencourt
SÃO PEDRO DA ALDEIA
RJ - BRASIL
Postada em 14/02/2006 09:58 hs            
Olá amigo, continue usando o seu código só mudando o seguinte:
 
Private Sub Form_Load()   

    Set BancoDeDados = OpenDatabase(App.Path & "Contribuinte.mdb")

    Set Tabela = BancoDeDados.OpenRecordset("SELECT * FROM FISICA ORDER BY CPF", dbOpenDynaset)

    cmdGravar.Enabled = False

    Frame1.Enabled = False   

    If Tabela.EOF = False Then

        AtualizaFormulario

    End If

    Label9.Caption = "Contribuintes cadastrados: " & Tabela.RecordCount

End Sub

 

Tentei... Emoções

Um abraço!!!


Abraços!!!
by
Gustavo Bittencourt Costa
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página