Inquiridor
Select Incorrecto??

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
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
-
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