AJUDA NUM SELECT

21/08/2008

0

ola pessoal,

será qua alguem pode me ajudar nesse select está apresentando erro:

segue uma parte do codigo:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
recebe_cookies()

Dim vMatricula, vMesini, vdata_ini, vdata_fim, vexercicio As String

vMatricula = lblMatricula.Text
´************************
vdata_ini = ´16/01/2000´
vdata_fim = ´15/02/2000´
vMesini = lblMes.Text
vexercicio = lblAno.Text

Select Case vMesini
Case ´Janeiro´
vMesini = ´01´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)
Case ´Fevereiro´
vMesini = ´02´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)

Case ´Março´
vMesini = ´03´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)
Case ´Abril´
vMesini = ´04´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)
Case ´Maio´
vMesini = ´05´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)
Case ´Junho´
vMesini = ´06´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)
Case ´Julho´
vMesini = ´07´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)
Case ´Agosto´
vMesini = ´08´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)
Case ´Setembro´
vMesini = ´09´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)
Case ´Outubro´
vMesini = ´10´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)
Case ´Novembro´
vMesini = ´11´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)
Case ´Dezembro´
vMesini = ´12´
vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)
End Select

If vtipo = ´Individual´ Then

Dim dr As Data.Odbc.OdbcDataReader


nesse select apresenta o erro:
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near ´6´.

Dim sql As String = ´select * from tb_atvltr where cod_cadusu = ´ + vMatricula + ´ and (year(dta_hor_atvltr) =´ + RTrim(Str(Year(vdata_ini))) + ´ or (year(dta_hor_atvltr) =´ + RTrim(Str(Year(vdata_fim))) + ´ and (month(dta_hor_atvltr) =´ + RTrim(Str(Month(vdata_ini))) + ´ and (month(dta_hor_atvltr) =´ + RTrim(Str(Month(vdata_fim))) + ´ ´´´


Dim conexao As Data.Odbc.OdbcConnection

conexao = New Data.Odbc.OdbcConnection(´Driver={Microsoft Access Driver (*.mdb)};DBQ=u:\Tradenet.mdb´)
conexao.Open()

Dim cmd As Data.Odbc.OdbcCommand = New Data.Odbc.OdbcCommand(sql, conexao)
dr = cmd.ExecuteReader()

vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)

DataGrid1.DataSource = dr
DataGrid1.DataBind()
dr.Close()
conexao.Close()
conexao = Nothing

Else



End If


´vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + ´/´ + Mid(vexercicio, 1, 4)
´vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + ´/´ + Mid(vexercicio, 1, 4)

´dr.Close()
´conexao.Close()
´conexao = Nothing

End Sub


grato.


Oliverjer10

Oliverjer10

Responder

Posts

22/08/2008

Emerson Nascimento

creio que estejam faltando alguns parêntesis nessa instrução.
Dim sql As String = ´select * from tb_atvltr where cod_cadusu = ´ + vMatricula +´ and [b:4ae96ceee9]([/b:4ae96ceee9](year(dta_hor_atvltr) = ´ + RTrim(Str(Year(vdata_ini))) + ´[b:4ae96ceee9])[/b:4ae96ceee9] or (year(dta_hor_atvltr) = ´ + RTrim(Str(Year(vdata_fim))) + ´[b:4ae96ceee9]))[/b:4ae96ceee9] and [b:4ae96ceee9]([/b:4ae96ceee9](month(dta_hor_atvltr) = ´ + RTrim(Str(Month(vdata_ini))) + ´[b:4ae96ceee9])[/b:4ae96ceee9] or (month(dta_hor_atvltr) = ´ + RTrim(Str(Month(vdata_fim))) + ´[b:4ae96ceee9]))[/b:4ae96ceee9] ´

creio também que o case possa ser resumido:
Select Case vMesini
  Case "Janeiro"
    vMesini = "01"
  Case "Fevereiro"
    vMesini = "02"
  Case "Março"
    vMesini = "03"
  Case "Abril"
    vMesini = "04"
  Case "Maio"
    vMesini = "05"
  Case "Junho"
    vMesini = "06"
  Case "Julho"
    vMesini = "07"
  Case "Agosto"
    vMesini = "08"
  Case "Setembro"
    vMesini = "09"
  Case "Outubro"
    vMesini = "10"
  Case "Novembro"
    vMesini = "11"
  Case "Dezembro"
    vMesini = "12"
End Select

if vMesini = "01"
  vdata_ini = Mid(vdata_ini, 1, 3) + "12/" + Str(Val(Mid(vexercicio, 1, 4)) - 1)
else
  vdata_ini = Mid(vdata_ini, 1, 3) + LTrim(Str(Val(vMesini) - 1)) + "/" + Mid(vexercicio, 1, 4) 
end if

vdata_fim = Mid(vdata_fim, 1, 3) + vMesini + "/" + Mid(vexercicio, 1, 4)



Responder

22/08/2008

Oliverjer10

Muito Obrigado emerson.en,
fico agradecido pela ajuda do colega.

um abraço.


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar