• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

esquima

sql ACESS duvida

13 mensagens neste tópico

tou a fazer um projecto em vb.net e tenho ligaçao com uma bd em acess..tenho duas tabelas uma com os fornecedores outra com bens, o cod_fornecedor e chave primaria da tabela fornecedores e chave estrangeira dos bens.. queria mostra numa combo box os os bens de um determinado fornecedor....para isso tou a utilizar este sql que axo que n esta correcto

SQl =" SELECT * FROM bens INNER JOIN fornecedores on bens.cod_fornecedor=fornecedores.cod_fornecedor and cod_fornecedor=" & combobox1.selectedvalue...

Alguem me pode dar uma ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

SQl =" SELECT * FROM bens INNER JOIN fornecedores on bens.cod_fornecedor=fornecedores.cod_fornecedor and cod_fornecedor=" & combobox1.selectedvalue...

SQl =" SELECT * FROM bens as B INNER JOIN fornecedores as F on B.cod_fornecedor=F.cod_fornecedor and F.cod_fornecedor=" & combobox1.selectedvalue...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

an unhandled exception of type 'system.data.oledb.oledbexception' occurred in system.data.dll

este erro vem da estrutura sql pq se eu meto uma simples com select * from bens eles corre

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        '****CODIGO PARA A COMBOBOX*****

        'define a string com o comando SQL e a string de conexão usando um provedor OLEDB
        Dim strSQL2 As String = "Select nome,cod_fornecedor from fornecedores"

        Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Esquima\Documentos\Proj fim curso\bdados.mdb;"

        'Abre a conexão com a fonte de dados
        Dim Conn As New OleDbConnection(strConn)

        Conn.Open()

        Try
            'cria o objecto DataAdapter
            Dim da As New OleDbDataAdapter(strSQL2, Conn)
            'Cria e preenche o DataSet 
            Dim ds3 As New DataSet
            da.Fill(ds3, "fornecedores")
            'Define o preenchimento da Combobox
            ComboBox1.ValueMember = "cod_fornecedor"
            ComboBox1.DisplayMember = "nome"
            ComboBox1.DataSource = ds3.Tables("fornecedores")

        Finally
            Conn.Close()
        End Try

    End Sub


    Private Sub ComboBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedValueChanged
        '****CODIGO PARA A COMBOBOX*****

        'define a string com o comando SQL e a string de conexão usando um provedor OLEDB

        Dim strSQL2 As String = "SELECT * FROM bens as b INNER JOIN fornecedores as f ON b.cod_fornecedor=f.cod_fornecedor AND f.cod_fornecedor =" & ComboBox1.SelectedValue


        Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Esquima\Documentos\Proj fim curso\bdados.mdb;"

        'Abre a conexão com a fonte de dados
        Dim Conn As New OleDbConnection(strConn)

        Conn.Open()

        Try
            'cria o objecto DataAdapter
            Dim da As New OleDbDataAdapter(strSQL2, Conn)
            'Cria e preenche o DataSet 

            Dim ds2 As New DataSet
            da.Fill(ds2, "bens")
            'Define o preenchimento da Combobox
            ComboBox2.ValueMember = "cod_bens"
            ComboBox2.DisplayMember = "designacao"
            ComboBox2.DataSource = ds2.Tables("bens")
        Finally
            Conn.Close()
        End Try
    End Sub
End Class






0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta por ...

        Dim strSQL2 As String = "SELECT * FROM bens as b INNER JOIN fornecedores as f ON b.cod_fornecedor=f.cod_fornecedor AND f.cod_fornecedor = '" & ComboBox1.SelectedValue & "'"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmm não estou a ver assim o que poderá ser. Mete um catch e vê qual a mensagem da excepção.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o erro que o catcjh apanha é: a expressao de associaçao nao e suportada

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hmm será que a última condição não é suportada?

Experimenta o seguinte.

        Dim strSQL2 As String = "SELECT * FROM bens as b INNER JOIN fornecedores as f ON b.cod_fornecedor=f.cod_fornecedor where f.cod_fornecedor = '" & ComboBox1.SelectedValue & "'"

0

Partilhar esta mensagem


Link 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