none
Select Incorrecto?? RRS feed

  • Pergunta

  •  

    Alguém me podia dizer se este select está correcto???

     

    Dim sqlsearch As New OleDb.OleDbCommand("SELECT Agregado_Familiar.codigo_agregado, Agregado_Familiar.ident_proge, Agregado_Familiar.localidade, Agregado_Familiar.data_nascimento, Agregado_Familiar.contacto, Acompanhamento.RSI, Acompanhamento.accao_social, Acompanhamento.CPCJ, Acompanhamento.Processos_ppj, Acompanhamento.Habitacao_social, Acompanhamento.outras, [Eixos de Intervenção].educacao_parental, [Eixos de Intervenção].gestao_domestica, [Eixos de Intervenção].competencias_sociais, [Eixos de Intervenção].competencias_profissionais, [Eixos de Intervenção].planeamento_familiar, [Eixos de Intervenção].outra, Sinalizar.violencia_domestica, Sinalizar.toxicodependencia, Sinalizar.alcoolismo, Sinalizar.gravidez_adolescencia, Sinalizar.maus_tratos, Sinalizar.exclusao_social, Sinalizar.desemprego, Sinalizar.baixo_nivel_escolar, Sinalizar.baixo_nivel_qualificacao, Sinalizar.abandono_absentismo, Sinalizar.negligencia, Sinalizar.outra FROM ((Agregado_Familiar INNER JOIN [Eixos de Intervenção] ON Agregado_Familiar.codigo_agregado = [Eixos de Intervenção].codigo_agregado) INNER JOIN Acompanhamento ON Agregado_Familiar.codigo_agregado = Acompanhamento.codigo_agregado) INNER JOIN Sinalizar ON Agregado_Familiar.codigo_agregado = Sinalizar.codigo_agregado WHERE (((agregado_familiar.data_nascimento) BETWEEN @dataini and @datafim), ((acompanhamento.RSI)=@rsi), ((acompanhamento.accao_social)=@accao_social), ((acompanhamento.cpcj)=@cpcj), ((acompanhamento.processos_ppj)=@ppj), ((acompanhamento.habitacao_social)=@habitacao), ((acompanhamento.outras=@outra), (([eixos de intervenção].educacao_parental) BETWEEN @educa_ini and @educa_fim), (([eixos de intervenção].gestao_domestica) BETWEEN @gestao_ini and @gestao_fim), (([eixos de intervenção].competencias_sociais) BETWEEN @compes_ini and @compes_fim), (([eixos de intervenção].competencias_profissionais) BETWEEN @compep_ini and @compep_fim), (([eixos de intervenção].planeamento_familiar) BETWEEN @planea_ini and @planea_fim), ((Sinalizar.violencia_domestica)=@violencia), ((Sinalizar.toxicodependencia)=@toxico), ((Sinalizar.alcoolismo)=@alcoolismo), ((Sinalizar.gravidez_adolescencia)=@gravidez), ((Sinalizar.maus_tratos)=@maus), ((Sinalizar.exclusao_social)=@exclusao), ((Sinalizar.desemprego)=@desemprego), ((Sinalizar.baixo_nivel_escolar)=@baixo_esc), ((Sinalizar.baixo_nivel_qualificacao)=@baixo_qual), ((Sinalizar.Abandono_Absentismo)=@abandono), ((Sinalizar.negligencia)=@negligencia), ((Sinalizar.outra)=@outros_s))", sqlconn)

     

    Obrigado pela ajuda

    segunda-feira, 7 de julho de 2008 17:20

Todas as Respostas

  • Boa Tarde,

     

    Acho pouco provável que alguém responda sua dúvida da forma como está. Eu sugeriria o seguinte:

     

    - Idente o seu código para que o mesmo possa ter manutenção

    - Encapsule instruções SELECT muito utilizadas em Views

    - Poste a mensagem de erro se houver

    - Procure o fórum mais adequado para postar o seu problema (dúvidas de SQL não ficam em fóruns de Mobile)

     

    Acho que com isso podemos começar a tentar ajudá-lo

     

    [ ]s,

     

    Gustavo

    segunda-feira, 7 de julho de 2008 17:57
  • Eu n me tinha apercebido que o forum era de mobile.

    A mensagem de erro que me dá é a seguinte: "Falta ), ] ou item na expressão de consulta '(((agregado_familiar.data_nascimento) BETWEEN @dataini and @datafim), ((acompanhamento.RSI)=@rsi), ((acompanhamento.accao_social)=@accao_social), ((acompanhamento.cpcj)=@cpcj), ((acompanhamento.processos_ppj)=@ppj), ((acompanhamento.habitacao_social)=@hab'."

    Eu tenho muitas dificuldades a criar select's, quer dizer eu percebo muito pouco de sql, so sei fazer uns selects simples.

    O meu objectivo é fazer filtros de dados.
    Eu estou a fazer este código para isso:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Try
                Dim sqlconn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Territorios_acess\territorios IN.mdb")
     Dim sqlsearch As New OleDb.OleDbCommand("SELECT Agregado_Familiar.codigo_agregado, Agregado_Familiar.ident_proge, Agregado_Familiar.localidade, Agregado_Familiar.data_nascimento, Agregado_Familiar.contacto, Acompanhamento.RSI, Acompanhamento.accao_social, Acompanhamento.CPCJ, Acompanhamento.Processos_ppj, Acompanhamento.Habitacao_social, Acompanhamento.outras, [Eixos de Intervenção].educacao_parental, [Eixos de Intervenção].gestao_domestica, [Eixos de Intervenção].competencias_sociais, [Eixos de Intervenção].competencias_profissionais, [Eixos de Intervenção].planeamento_familiar, [Eixos de Intervenção].outra, Sinalizar.violencia_domestica, Sinalizar.toxicodependencia, Sinalizar.alcoolismo, Sinalizar.gravidez_adolescencia, Sinalizar.maus_tratos, Sinalizar.exclusao_social, Sinalizar.desemprego, Sinalizar.baixo_nivel_escolar, Sinalizar.baixo_nivel_qualificacao, Sinalizar.abandono_absentismo, Sinalizar.negligencia, Sinalizar.outra FROM ((Agregado_Familiar INNER JOIN [Eixos de Intervenção] ON Agregado_Familiar.codigo_agregado = [Eixos de Intervenção].codigo_agregado) INNER JOIN Acompanhamento ON Agregado_Familiar.codigo_agregado = Acompanhamento.codigo_agregado) INNER JOIN Sinalizar ON Agregado_Familiar.codigo_agregado = Sinalizar.codigo_agregado WHERE (((agregado_familiar.data_nascimento) BETWEEN @dataini and @datafim), ((acompanhamento.RSI)=@rsi), ((acompanhamento.accao_social)=@accao_social), ((acompanhamento.cpcj)=@cpcj), ((acompanhamento.processos_ppj)=@ppj), ((acompanhamento.habitacao_social)=@habitacao), ((acompanhamento.outras=@outra), (([eixos de intervenção].educacao_parental) BETWEEN @educa_ini and @educa_fim), (([eixos de intervenção].gestao_domestica) BETWEEN @gestao_ini and @gestao_fim), (([eixos de intervenção].competencias_sociais) BETWEEN @compes_ini and @compes_fim), (([eixos de intervenção].competencias_profissionais) BETWEEN @compep_ini and @compep_fim), (([eixos de intervenção].planeamento_familiar) BETWEEN @planea_ini and @planea_fim), ((Sinalizar.violencia_domestica)=@violencia), ((Sinalizar.toxicodependencia)=@toxico), ((Sinalizar.alcoolismo)=@alcoolismo), ((Sinalizar.gravidez_adolescencia)=@gravidez), ((Sinalizar.maus_tratos)=@maus), ((Sinalizar.exclusao_social)=@exclusao), ((Sinalizar.desemprego)=@desemprego), ((Sinalizar.baixo_nivel_escolar)=@baixo_esc), ((Sinalizar.baixo_nivel_qualificacao)=@baixo_qual), ((Sinalizar.Abandono_Absentismo)=@abandono), ((Sinalizar.negligencia)=@negligencia), ((Sinalizar.outra)=@outros_s))", sqlconn)
              
       '-------- variaveis data de nascimento--------------------'
                Dim dataini As New OleDb.OleDbParameter("@dataini", OleDb.OleDbType.Date, 4)
                Dim datafim As New OleDb.OleDbParameter("@datafim", OleDb.OleDbType.Date, 4)
                '---------------------------------------------------------'
                '-------- variaveis acompahamento-------------------------'
                Dim rsi As New OleDb.OleDbParameter("@rsi", OleDb.OleDbType.Boolean, 4)
                Dim accao_social As New OleDb.OleDbParameter("@accao_social", OleDb.OleDbType.Boolean, 4)
                Dim cpcj As New OleDb.OleDbParameter("@cpcj", OleDb.OleDbType.Boolean, 4)
                Dim ppj As New OleDb.OleDbParameter("@ppj", OleDb.OleDbType.Boolean, 4)
                Dim habitacao As New OleDb.OleDbParameter("@habitacao", OleDb.OleDbType.Boolean, 4)
                Dim outra As New OleDb.OleDbParameter("@outra", OleDb.OleDbType.Boolean, 4)
                '---------------------------------------------------------'
                '---------------variaveis eixos---------------------------'
                Dim educa_ini As New OleDb.OleDbParameter("@educa_ini", OleDb.OleDbType.Integer, 4)
                Dim educa_fim As New OleDb.OleDbParameter("@educa_fim", OleDb.OleDbType.Integer, 4)
                Dim gestao_ini As New OleDb.OleDbParameter("@gestao_ini", OleDb.OleDbType.Integer, 4)
                Dim gestao_fim As New OleDb.OleDbParameter("@gestao_fim", OleDb.OleDbType.Integer, 4)
                Dim compes_ini As New OleDb.OleDbParameter("@compes_ini", OleDb.OleDbType.Integer, 4)
                Dim compes_fim As New OleDb.OleDbParameter("@compes_fim", OleDb.OleDbType.Integer, 4)
                Dim compep_ini As New OleDb.OleDbParameter("@compep_ini", OleDb.OleDbType.Integer, 4)
                Dim compep_fim As New OleDb.OleDbParameter("@compep_fim", OleDb.OleDbType.Integer, 4)
                Dim planea_ini As New OleDb.OleDbParameter("@planea_ini", OleDb.OleDbType.Integer, 4)
                Dim planea_fim As New OleDb.OleDbParameter("@planea_fim", OleDb.OleDbType.Integer, 4)
                '---------------------------------------------------------'
                '------------------variaveis sinalizar--------------------'
                Dim violencia As New OleDb.OleDbParameter("@violencia", OleDb.OleDbType.Boolean, 4)
                Dim toxico As New OleDb.OleDbParameter("@toxico", OleDb.OleDbType.Boolean, 4)
                Dim alcoolismo As New OleDb.OleDbParameter("@alcoolismo", OleDb.OleDbType.Boolean, 4)
                Dim gravidez As New OleDb.OleDbParameter("@gravidez", OleDb.OleDbType.Boolean, 4)
                Dim maus As New OleDb.OleDbParameter("@maus", OleDb.OleDbType.Boolean, 4)
                Dim exclusao As New OleDb.OleDbParameter("@exclusao", OleDb.OleDbType.Boolean, 4)
                Dim desemprego As New OleDb.OleDbParameter("@desemprego", OleDb.OleDbType.Boolean, 4)
                Dim baixo_esc As New OleDb.OleDbParameter("@baixo_esc", OleDb.OleDbType.Boolean, 4)
                Dim baixo_qual As New OleDb.OleDbParameter("@baixo_qual", OleDb.OleDbType.Boolean, 4)
                Dim abandono As New OleDb.OleDbParameter("@abandono", OleDb.OleDbType.Boolean, 4)
                Dim negligencia As New OleDb.OleDbParameter("@negligencia", OleDb.OleDbType.Boolean, 4)
                Dim outros_s As New OleDb.OleDbParameter("@outros_s", OleDb.OleDbType.Boolean, 4)
                '---------------------------------------------------------'
                Dim da As New OleDb.OleDbDataAdapter(sqlsearch)
                Dim ds As New DataSet
                '------------ordenar por data de nascimento---------------'
                dataini.Value = DateTimePicker1.Value
                sqlsearch.Parameters.Add(dataini)
                datafim.Value = DateTimePicker2.Value
                sqlsearch.Parameters.Add(datafim)
                '---------------------------------------------------'
                '------------ordenar por acompanhamento ------------'
                If RSI_check.Checked = True Then
                    rsi.Value = RSI_check.Checked
                    sqlsearch.Parameters.Add(rsi)
                End If
                If Accao_social_check.Checked = True Then
                    accao_social.Value = Accao_social_check.Checked
                    sqlsearch.Parameters.Add(accao_social)
                End If
                If CPCJ_check.Checked = True Then
                    cpcj.Value = CPCJ_check.Checked
                    sqlsearch.Parameters.Add(cpcj)
                End If
                If Processos_ppj_check.Checked = True Then
                    ppj.Value = Processos_ppj_check.Checked
                    sqlsearch.Parameters.Add(ppj)
                End If
                If Habitacao_check.Checked = True Then
                    habitacao.Value = Habitacao_check.Checked
                    sqlsearch.Parameters.Add(habitacao)
                End If
                If outras_check.Checked = True Then
                    outra.Value = outras_check.Checked
                    sqlsearch.Parameters.Add(outra)
                End If
                '---------------------------------------------------'
                '---------ordenar por eixos de intervenção----------'
                educa_ini.Value = TextBox1.Text
                sqlsearch.Parameters.Add(educa_ini)
                educa_fim.Value = TextBox2.Text
                sqlsearch.Parameters.Add(educa_fim)

                gestao_ini.Value = TextBox3.Text
                sqlsearch.Parameters.Add(gestao_ini)
                gestao_fim.Value = TextBox4.Text
                sqlsearch.Parameters.Add(gestao_fim)

                compes_ini.Value = TextBox5.Text
                sqlsearch.Parameters.Add(compes_ini)
                compes_fim.Value = TextBox6.Text
                sqlsearch.Parameters.Add(compes_fim)

                compep_ini.Value = TextBox7.Text
                sqlsearch.Parameters.Add(compep_ini)
                compep_fim.Value = TextBox8.Text
                sqlsearch.Parameters.Add(compep_fim)

                planea_ini.Value = TextBox9.Text
                sqlsearch.Parameters.Add(planea_ini)
                planea_fim.Value = TextBox10.Text
                sqlsearch.Parameters.Add(planea_fim)
                '---------------------------------------------------'
                '-------------ordenar por sinalizar-----------------'
                If Violencia_check.Checked = True Then
                    violencia.Value = Violencia_check.Checked
                    sqlsearch.Parameters.Add(violencia)
                End If
                If Toxico_check.Checked = True Then
                    toxico.Value = Toxico_check.Checked
                    sqlsearch.Parameters.Add(toxico)
                End If
                If Alcoolismo_check.Checked = True Then
                    alcoolismo.Value = Alcoolismo_check.Checked
                    sqlsearch.Parameters.Add(alcoolismo)
                End If
                If gravidez_check.Checked = True Then
                    gravidez.Value = gravidez_check.Checked()
                    sqlsearch.Parameters.Add(gravidez)
                End If
                If Maustratos_check.Checked = True Then
                    maus.Value = Maustratos_check.Checked
                    sqlsearch.Parameters.Add(maus)
                End If
                If exclusao_check.Checked = True Then
                    exclusao.Value = exclusao_check.Checked
                    sqlsearch.Parameters.Add(exclusao)
                End If
                If Desemprego_check.Checked = True Then
                    desemprego.Value = Desemprego_check.Checked
                    sqlsearch.Parameters.Add(desemprego)
                End If
                If baixo_escolar_check.Checked = True Then
                    baixo_esc.Value = baixo_escolar_check.Checked
                    sqlsearch.Parameters.Add(baixo_esc)
                End If
                If baixo_qualificacao_check.Checked = True Then
                    baixo_qual.Value = baixo_qualificacao_check.Checked
                    sqlsearch.Parameters.Add(baixo_qual)
                End If
                If Abandono_check.Checked = True Then
                    abandono.Value = Abandono_check.Checked
                    sqlsearch.Parameters.Add(abandono)
                End If
                If Negligencia_check.Checked = True Then
                    negligencia.Value = Negligencia_check.Checked
                    sqlsearch.Parameters.Add(negligencia)
                End If
                If Outro_check.Checked = True Then
                    outros_s.Value = Outro_check.Checked
                    sqlsearch.Parameters.Add(outros_s)
                End If

                '---------------------------------------------------'
                sqlsearch.Connection.Open()
                da.Fill(ds)
                sqlsearch.Connection.Close()
                Listar_filtros.Agregado_FamiliarDataGridView.DataSource = ds.Tables(0).DefaultView

            Catch ex As System.Exception

                System.Windows.Forms.MessageBox.Show(ex.Message)

            End Try
            Listar_filtros.Show()
            Me.Close()
        End Sub
    segunda-feira, 7 de julho de 2008 18:18