Ir para conteúdo
Fórum Script Brasil
  • 0

Informações Relacionadas


Guest - Fabio -

Pergunta

Olá,

sou iniciante em VB e estou com o seguinte problema. Tenho o código abaixo funcionando corretamente. Ele preenche alguns textbox que são a viagem do motorista e um listview que exibe o abastecimentos que ele fez nesta viagem. O que preciso e que quando eu clicasse em avançar ou voltar, fossem exibidos no listview os abastecimentos relacionados a viagem. No banco o relacionamento esta todo certo. Por favor se puderem me ajudar fico grato.

Dim cn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim rs2 As New ADODB.Recordset

Private Sub CommandAnterior_Click()

rs.MovePrevious

If rs.BOF = True Then

rs.MoveNext

End If

TextCodigoViagem = rs("CodigoViagem")

TextMotorista = rs("Motorista")

End Sub

Private Sub CommandCadAbastecimento_Click()

FormAbastecimento.Show

End Sub

Private Sub CommandGravar_Click()

rs("CodigoViagem") = TextCodigoViagem

rs("Motorista") = TextMotorista

rs.Update

End Sub

Private Sub CommandIncluir_Click()

TextCodigoViagem = ""

TextMotorista = ""

TextCodigoViagem.SetFocus

rs.AddNew

End Sub

Private Sub CommandProximo_Click()

rs.MoveNext

If rs.EOF = True Then

rs.MovePrevious

End If

TextCodigoViagem = rs("CodigoViagem")

TextMotorista = rs("Motorista")

End Sub

Private Sub Form_Load()

'Abre o banco de dados

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Fabio\Meus documentos\Teste\Teste.mdb"

'Abre a tabela

rs.CursorLocation = adUseClient

rs.Open "SELECT * FROM Tabela_Viagem", cn, adOpenDynamic, adLockOptimistic

Preenche

Preenche2

End Sub

'Rotina que preenche as caixas de texto de acordo com o registro selecionado atualmente no Recordset

Private Sub Preenche()

If Not (rs.EOF Or rs.BOF) Then 'Se a tabela não estiver vazia

TextCodigoViagem.Text = rs.Fields("CodigoViagem").Value 'Preenche a caixa de texto com o conteúdo do campo 'nome'

TextMotorista.Text = rs.Fields("Motorista").Value 'Preenche a outra caixa de texto com o conteúdo do campo 'icq'

Else 'Senão, ou seja, se estiver vazia

TextCodigoViagem.Text = "" 'Limpa as caixas de texto

TextMotorista.Text = ""

End If

End Sub

'Rotina que preenche as caixas de texto de acordo com o registro selecionado atualmente no Recordset

Private Sub Preenche2()

Dim List As ListItem

ListView1.ColumnHeaders.Add , , "Código", ListView1.Width / 2 'adiciona uma nova coluna no listview

ListView1.ColumnHeaders.Add , , "Posto", ListView1.Width / 2 'adiciona uma nova coluna no listview

'O comando view altera a forma de visualização dos itens

ListView1.View = lvwReport 'exibe detalhe dos itens (item e subitem)

'seleciona todos os registros da tabela

rs2.Open "select * from Tabela_Viagem, Tabela_Abastecimento where Tabela_Viagem.CodigoViagem = Tabela_Abastecimento.CodigoViagem and Tabela_Viagem.CodigoViagem='" & Trim(TextCodigoViagem.Text) & "'", cn, adOpenStatic, adLockOptimistic

'faz um loop por todos os registros da tabela

While rs2.EOF = False

'adiciona um novo item no listview

Set List = ListView1.ListItems.Add

With List

List.Text = rs2("CodigoAbastecimento")

List.SubItems(1) = rs2("Posto")

End With

'vai para proximo registro da tabela

rs2.MoveNext

Wend

End Sub

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...