Array
(
)

select inserir dados numa tabela

Oliverjer10
   - 25 ago 2008

Boa tarde, pessoal.

Preciso de uma ajuda tenho uma tabela no access ao qual jà fiz a conexão e fiz um select, porém preciso que a linha abaixo que contem o select insira os dados numa outra tabela já existente em c:\arquivos\ATV.mdb.

fiz da seguinte forma

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´
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´ Then
vdata_ini = Mid(vdata_ini, 1, 4) + ´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)

´*****************************************************************
If vtipo = ´Individual´ Then
Dim dr As Data.Odbc.OdbcDataReader
Dim sql As String = ´select * into JERRI 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))) + ´) or (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()

´If sql < 0 Then
´ MsgBox(´Erro ao localizar registros de horários.´, vbInformation, ´Aviso´)
´ Return
´End If

´Select Case ATV

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
Dim dr As Data.Odbc.OdbcDataReader
Dim sql As String = ´select * from tb_atvltr where ((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))) + ´) or (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

End If

End Sub

A primeira vez funciona porém não localizo a tabela e na segunda vez que executo o programa ele fala que a tabela já existe.

quem puder ajudar, grato !

Psergio.p
   - 06 set 2008

E se você tentar fazer da seguinte maneira:

insert into <tabela> select ...

ao invez de

select into <tabela> from ...

Oliverjer10
   - 08 set 2008

bom dia colega, Muito obrigado !!

funcionou. grato