Ir para o conteúdo
Blackvelvet

Buscar valores a 2 base de dados diferentes

Mensagens Recomendadas

Blackvelvet

Na textbox é digitado o valor do saldo bancario( so a administraçaõ sabe),depois de fazer click no botão é realizado um sumatorio com o valor total das "quotas",isto para dar o "Saldo Contabilistico".

1º acedi á bd :

'ligação à base de dados "quotas"
        Dim myConnectionString As String = _
            "Data Source=.\SQLEXPRESS; Initial Catalog=Garimpeiros; Integrated Security=SSPI;"
        ' Cria uma nova ligação à base de dados 
        Dim connection As New SqlConnection(myConnectionString)
        ' Cria um novo SqlDataAdapter que servirá para actualizar o DataSet 
        Dim SQL As String = "SELECT valor FROM quotas"
        da = New SqlDataAdapter(SQL, connection)
        'Cria um DataSet, ou seja, uma representação em memória da informação
        ds = New DataSet
        ' Coloca a informação da tabela definida no DataSet
        da.Fill(ds, "quotas")
        ' Define que a fonte de dados da DataGridView é a nossa DataSet
        ' criando automáticamente as colunas e linhas de dados
        Me.DataGridView1.DataSource = ds.Tables("quotas")
        ' Limpa a ligação à base de dados. Não é necessário fechar a ligação
        ' porque esta não foi aberta através do comando .Open()
        connection = Nothing
        'total de quotas

Depois obtive o total das quotas e fazer o sumatorio com a textbox

For Each Linha As DataGridViewRow In Me.DataGridView1.Rows
            Dim valor As Integer
            If Not Linha.IsNewRow Then
                Dim ValorSemE As String = Linha.Cells(0).Value.ToString
                ValorSemE = ValorSemE.Replace("€", "")
                'Retira todos os € aos valores da coluna 1
                Linha.Cells(0).Value = ValorSemE
                'Executa a soma dos valores da coluna 1
                valor += Linha.Cells(0).Value
                'coloca a soma para a label já sem os €, não precisa substituir nada
                Me.lblTexto.Text = valor

                Dim contabilistico As Integer
                contabilistico = valor + txtSaldo.Text
                lblTexto.Text = contabilistico
            End If
        Next

Até aki tive sucesso,mas  para o "Saldo Disponivel" eu tenho que subtrair o "Saldo Contabilistico" com as "despesas"

O que eu pretendo é: No evento do clicar do botão,obter os resultados "Saldo Contabilistico" e o "Saldo Disponivel", clicando uma so vez.

Como posso fazer ????

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Blackvelvet

Pois,o problema é mesmo esse.

É que, quando acedo á 2ª bd,o programa  pára e diz que não encontra a o caminho para a bd.  :hmm:

Eu estava a pensar se há possibilidade de criar uma classe á parte para obter os valores e depois no evento do botão fazer as contas.

Isso é possivel?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Blackvelvet

a bd está em SQL.

Aqui vai o codigo completo do form,para uma melhor ajuda.

Imports System.Data.SqlClient
Public Class financeira
    Private Sub Conta_quota()
        'ligação à base de dados "quotas"
        Dim myConnectionString As String = _
            "Data Source=.\SQLEXPRESS; Initial Catalog=Garimpeiros; Integrated Security=SSPI;"
        ' Cria uma nova ligação à base de dados 
        Dim connection As New SqlConnection(myConnectionString)
        ' Cria um novo SqlDataAdapter que servirá para actualizar o DataSet 
        Dim SQL As String = "SELECT valor FROM quotas"
        da = New SqlDataAdapter(SQL, connection)
        'Cria um DataSet, ou seja, uma representação em memória da informação
        ds = New DataSet
        ' Coloca a informação da tabela definida no DataSet
        da.Fill(ds, "quotas")
        ' Define que a fonte de dados da DataGridView é a nossa DataSet
        ' criando automáticamente as colunas e linhas de dados
        Me.DataGridView1.DataSource = ds.Tables("quotas")
        ' Limpa a ligação à base de dados. Não é necessário fechar a ligação
        ' porque esta não foi aberta através do comando .Open()
        connection = Nothing
        'total de quotas
    End Sub
    Private Sub Total_Disponivel()
        'ligação à base de dados "quotas"
        Dim myConnectionString As String = _
            "Data Source=.\SQLEXPRESS; Initial Catalog=Garimpeiros; Integrated Security=SSPI;"
        ' Cria uma nova ligação à base de dados 
        Dim connection As New SqlConnection(myConnectionString)
        ' Cria um novo SqlDataAdapter que servirá para actualizar o DataSet 
        Dim SQL As String = "SELECT valor FROM despesas"
        da = New SqlDataAdapter(SQL, connection)
        'Cria um DataSet, ou seja, uma representação em memória da informação
        ds = New DataSet
        ' Coloca a informação da tabela definida no DataSet
        da.Fill(ds, "despesas")
        ' Define que a fonte de dados da DataGridView é a nossa DataSet
        ' criando automáticamente as colunas e linhas de dados
        Me.DataGridView1.DataSource = ds.Tables("despesas")
        ' Limpa a ligação à base de dados. Não é necessário fechar a ligação
        ' porque esta não foi aberta através do comando .Open()
        connection = Nothing
        'total de quotas
    End Sub
    Private ds As New DataSet
    Private da As New SqlDataAdapter
    Private Sub btnVer_Click(sender As System.Object, e As System.EventArgs) Handles btnVer.Click
        Conta_quota()
        For Each Linha As DataGridViewRow In Me.DataGridView1.Rows
            Dim valor As Integer
            If Not Linha.IsNewRow Then
                Dim ValorSemE As String = Linha.Cells(0).Value.ToString
                ValorSemE = ValorSemE.Replace("€", "")
                'Retira todos os € aos valores da coluna 1
                Linha.Cells(0).Value = ValorSemE
                'Executa a soma dos valores da coluna 1
                valor += Linha.Cells(0).Value
                'coloca a soma para a label já sem os €, não precisa substituir nada
                Me.lblTexto.Text = valor
                Dim contabilistico As Integer
                contabilistico = valor + txtSaldo.Text
                lblTexto.Text = contabilistico

                Total_Disponivel()
                For Each Linhas As DataGridViewRow In Me.DataGridView1.Rows
                    Dim Valor_ As Integer
                    If Not Linhas.IsNewRow Then
                        Dim ValorSem As String = Linhas.Cells(0).Value.ToString
                        ValorSem = ValorSem.Replace("€", "")
                        'Retira todos os € aos valores da coluna 1
                        Linhas.Cells(1).Value = ValorSem
                        'Executa a soma dos valores da coluna 1
                        Valor += Linhas.Cells(1).Value
                        'coloca a soma para a label já sem os €, não precisa substituir nada
                        Me.lblSaldo.Text = Valor_
                        Dim disponivel As Integer
                        disponivel = Valor_ - contabilistico
                        lblSaldo.Text = disponivel
                    End If
                Next
            End If
        Next
    End Sub

Mais uma vez agradeço a ajuda.  :-[

Ja agora...como posso inserir uma imagem aqui para verem o form?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Blackvelvet

Sim...a BD é a mesma....Eu peço desculpa pelo titulo,sei que deduz em erro, mas eu quero é buscar valores a tabelas diferentes (dentro da mesma bd, é claro)

Se estou a ser confuso,digam pf.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Caça

Se existir alguma possibilidade de relacionamento entre elas, podes fazer um Join e obter ambos os valores na mesma query.


Pedro Martins

Não respondo a duvidas por PM

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Blackvelvet

Eu ja tentei fazer o relacionamento,mas nao deixa.

Vou tentar mudar a bd e fazer então o join para obter os valores de ambas tabelas.

Caça, obrigado pela ajuda.

Se continuar com problemas eu volto cá. Até lá....bebe mais um copo, que pago eu    :)    :)

Fica bem

Um abraço

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.