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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Qual a melhor forma ?
Gadu
não registrado
ENUNCIADA !
Postada em 25/03/2008 08:33 hs   
Olá
Preciso criar um banco que contem Países , Cada País contém pelo menos 5 cidades , quero carregar os paises em uma combo e quando selecionado o país a combo 2 carrega automático as cidades.
como devo montar o banco no access ? e o código SQL qual o melhor a utilizar. Obrigado.
   
Perci
MATÃO
SP - BRASIL
ENUNCIADA !
Postada em 25/03/2008 09:39 hs            
Olá, Gadu, há pouco tempo, fiz um programinha para consultar ceps, desta mesma maneira, quando seleciono um estado numa combo, as cidades que pertencem a este estado são carregadas em uma outra combo. O código que eu usei foi esse:
 
' aqui, preenche a Combo com os estados
Private Sub CmbUf_DropDown()
    CmbUf.Clear
    sqluf = "Select * From Ufs"
    Set rsuf = db.OpenRecordset(sqluf)
    Do Until rsuf.EOF
        CmbUf.AddItem rsuf("uf") & ""
        rsuf.MoveNext
    Loop
    Set rsuf = Nothing
End Sub
 
' aqui, preenche a Combo com as cidades
Private Sub CmbCidade_DropDown()
    CmbCidade.Clear
    sqlcid = "Select * From Cidades Where UF = '" & CmbUf.Text & "'"
    Set rscid = db.OpenRecordset(sqlcid)
    Do Until rscid.EOF
        CmbCidade.AddItem rscid("cidade") & ""
        rscid.MoveNext
    Loop
    Set rscid = Nothing
End Sub
lembrando que eu uso o DAO para realizar as consultas Sql.
 
Se isto te ajudar...
 
Até mais.
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 25/03/2008 09:54 hs            
Eisa estrutura da sua Tabela
 
Nome do Banco de Dados: Paises.mdb
Nome das tabelas: Tab_Paises, Tab_Cidades
 
agora a estrutura de cada tabela:
 
Tab_Paises
 
Campo            tipo
CodigoPais       Inteiro
Nome             Texto
 
Tab_Cidades     
 
Campo             Tipo
CodigoCid         Inteiro
CodigoPais        Inteiro
Nome              Texto
 
Você deve criar dois forms, um de inclusão, alteração, etc... espero que você ja saiba fazer isto
 
agora para funcionar da forma que você deseja é fácil:
 
Supondo que existam dois Combos, cboPaises e cboCidades
 
no load do form você carregaria o cboPaises destea forma
 
Private Sub From_Load()
 
'... aforma que você utiliza para abrir seu banco de dados
' ...RSPaises e RSCidades
 
sqlPaises="select*from Tab_Paises Order by nome"
set RSPaises=DB.OpenRecorset(sqlPaises)
Do While not RSPaises.EOF
cboPaises.additem RSPaises("nome")
RSPaises.MoveNex_t
Loop
 
End Sub
 
Agora no evento click do cboPaises este código
 
Private Sub cboPaises_Click()
 
SQLCidades="SELECT * FROM Tab_Paises,Tab_Cidades WHERE" _
& " Tab_Cidades.CodigoPais=Tab_Paises.CodigoPais ORDER BY Tab_Cidades.nome"
set RSCidades=DB.OpenRecordSet(SQLCidades)
Do While Not RSCidades.EOF
cboCidades.Additem RSCidades("Nome")
RSCidades.MoveNex_t
Loop
 
end sub
 
e pronto está resolvido.
 
 
até
 
 
TÓPICO EDITADO
 
Gadu
não registrado
ENUNCIADA !
Postada em 25/03/2008 11:09 hs   
Ainda não deu porque ele este último código lista todos os estados , e eu quero listar os estados somente do país selecionado , se alguem puder me ajudar em cima deste código.
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
Postada em 25/03/2008 11:38 hs            
Desculpe colega faz um pequena modificação em seu código , inclua na Tab_Cidades, o campo NomePais, e mude o código para este:
 
Private Sub cboPaises_Click()
SQLCidades="SELECT * FROM Tab_Cidades WHERE NomePais=" & cboPaises.text " ORDER BY nome"
set RSCidades=DB.OpenRecordSet(SQLCidades)
Do While Not RSCidades.EOF
cboCidades.Additem RSCidades("Nome")
RSCidades.MoveNext
Loop
 
veja agora se funciona
     
Gadu
não registrado
ENUNCIADA !
Postada em 25/03/2008 12:21 hs   
Tive que fazer algumas modificações mais deu certo Obrigado.
   
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