INSERT INTO EM TABELA
Olá pessoal estou tentato incluir os dados em minha tabela com insert into, mais está indo dereto pra linha erro. Segue o código que estou usando.
Private Sub cmdGravar_Click()
Dim sSQL As String
On Error GoTo erro
If Trim(atxtSml) = [Ô][Ô] Or Trim(atxtEscritorio) = [Ô][Ô] Then
MsgBox [Ô]Preencha os campos para inclusão do equipamento.[Ô], vbExclamation, [Ô]Campo vazio[Ô]
atxtSml.SetFocus
Exit Sub
End If
con.BeginTrans
sSQL = [Ô]INSERT INTO TBLPOCKET (SML,[Ô]
sSQL = sSQL & [Ô]ESCRITORIO,[Ô]
sSQL = sSQL & [Ô]APARELHO,[Ô]
sSQL = sSQL & [Ô]SN,[Ô]
sSQL = sSQL & [Ô]IMEI,[Ô]
sSQL = sSQL & [Ô]CHIPTIMNOVO,[Ô]
sSQL = sSQL & [Ô]RESPONSAVEL,[Ô]
sSQL = sSQL & [Ô]MANUTENCAO,[Ô]
sSQL = sSQL & [Ô]REPARO) VALUES ([ô][Ô]
sSQL = sSQL & atxtSml.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtEscritorio.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtsn.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtImei.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtChip.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtResp.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtManut.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtReparo.Text & [Ô][ô])[Ô]
con.Execute sSQL
con.CommitTrans
MsgBox [Ô]Registro incluso com sucesso![Ô], vbInformation, [Ô]Cadastro de Equipamento[Ô]
cmdNovo.Enabled = True
Limpa_Caixas_Texto
Habilita_Caixas
erro:
con.RollbackTrans
MsgBox [Ô]Ocorreu um erro ao gravar o cadastro[Ô], vbExclamation, [Ô]Erro[Ô]
End Sub
Segue estrutura da tabela.
Agradeço ajuda de todos.
Private Sub cmdGravar_Click()
Dim sSQL As String
On Error GoTo erro
If Trim(atxtSml) = [Ô][Ô] Or Trim(atxtEscritorio) = [Ô][Ô] Then
MsgBox [Ô]Preencha os campos para inclusão do equipamento.[Ô], vbExclamation, [Ô]Campo vazio[Ô]
atxtSml.SetFocus
Exit Sub
End If
con.BeginTrans
sSQL = [Ô]INSERT INTO TBLPOCKET (SML,[Ô]
sSQL = sSQL & [Ô]ESCRITORIO,[Ô]
sSQL = sSQL & [Ô]APARELHO,[Ô]
sSQL = sSQL & [Ô]SN,[Ô]
sSQL = sSQL & [Ô]IMEI,[Ô]
sSQL = sSQL & [Ô]CHIPTIMNOVO,[Ô]
sSQL = sSQL & [Ô]RESPONSAVEL,[Ô]
sSQL = sSQL & [Ô]MANUTENCAO,[Ô]
sSQL = sSQL & [Ô]REPARO) VALUES ([ô][Ô]
sSQL = sSQL & atxtSml.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtEscritorio.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtsn.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtImei.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtChip.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtResp.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtManut.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & atxtReparo.Text & [Ô][ô])[Ô]
con.Execute sSQL
con.CommitTrans
MsgBox [Ô]Registro incluso com sucesso![Ô], vbInformation, [Ô]Cadastro de Equipamento[Ô]
cmdNovo.Enabled = True
Limpa_Caixas_Texto
Habilita_Caixas
erro:
con.RollbackTrans
MsgBox [Ô]Ocorreu um erro ao gravar o cadastro[Ô], vbExclamation, [Ô]Erro[Ô]
End Sub
Segue estrutura da tabela.
Agradeço ajuda de todos.
Bom dia JPAULO101,
Pelo que pude analizar no seu código, esquecesse de informar o valor do campo [Ô]APARELHO[Ô], com isso ocorre o erro.
Acredito que você só precise incluir mais esse valor para seu comando funcionar.
Atenciosamente,
Jonathan Stecker
Pelo que pude analizar no seu código, esquecesse de informar o valor do campo [Ô]APARELHO[Ô], com isso ocorre o erro.
Acredito que você só precise incluir mais esse valor para seu comando funcionar.
Atenciosamente,
Jonathan Stecker
Olá amigo JONATHANSTECKER, incluie o valor do campo [Ô]APARELHO[Ô], mais continua indo para linha de erro.
MsgBox [Ô]Ocorreu um erro ao gravar o cadastro[Ô], vbExclamation, [Ô]Erro[Ô]
Agradeço.
MsgBox [Ô]Ocorreu um erro ao gravar o cadastro[Ô], vbExclamation, [Ô]Erro[Ô]
Agradeço.
Trate melhor o erro..
coloque:
erro:
con.RollbackTrans
MsgBox [Ô]Ocorreu um erro ao gravar o cadastro: [Ô] & err.description , vbExclamation, [Ô]Erro[Ô]
ai fica melhor de saber o q ta acontecendo, ai vc pega a mensagem de erro q aparece e posta aqui pra gente ver
coloque:
erro:
con.RollbackTrans
MsgBox [Ô]Ocorreu um erro ao gravar o cadastro: [Ô] & err.description , vbExclamation, [Ô]Erro[Ô]
ai fica melhor de saber o q ta acontecendo, ai vc pega a mensagem de erro q aparece e posta aqui pra gente ver
bom colega desta vez vou colocar o código explicando as regras
em ACCESS, quando o campo for numerico, não se coloca as aspas simples
quando o campo for texto coloca-se a aspa simples: exemplo [ô]marcelo[ô]
agora quando o campo for tipo data/hora deve-se colocar a data entre (#) isto vale somente pra campos data/hora, e o formato da data deve ser #mm/dd/yyyy# (mes/dia/ano)
em ACCESS, quando o campo for numerico, não se coloca as aspas simples
quando o campo for texto coloca-se a aspa simples: exemplo [ô]marcelo[ô]
agora quando o campo for tipo data/hora deve-se colocar a data entre (#) isto vale somente pra campos data/hora, e o formato da data deve ser #mm/dd/yyyy# (mes/dia/ano)
Private Sub cmdGravar_Click()
Dim sSQL As String
On Error GoTo erro
If Trim(atxtSml) = [Ô][Ô] Or Trim(atxtEscritorio) = [Ô][Ô] Then
MsgBox [Ô]Preencha os campos para inclusão do equipamento.[Ô], vbExclamation, [Ô]Campo vazio[Ô]
atxtSml.SetFocus
Exit Sub
End If
con.BeginTrans
sSQL = [Ô]INSERT INTO TBLPOCKET ([Ô]
sSQL = sSQL & [Ô]CODIGO,[Ô] [ô]aqui vc deve colocar o código pois está inserindo um novo registro
sSQL = sSQL & [Ô]SML,[Ô]
sSQL = sSQL & [Ô]ESCRITORIO,[Ô]
sSQL = sSQL & [Ô]APARELHO,[Ô]
sSQL = sSQL & [Ô]SN,[Ô]
sSQL = sSQL & [Ô]IMEI,[Ô]
sSQL = sSQL & [Ô]CHIPTIMNOVO,[Ô]
sSQL = sSQL & [Ô]RESPONSAVEL,[Ô]
sSQL = sSQL & [Ô]MANUTENCAO,[Ô]
sSQL = sSQL & [Ô]REPARO) VALUES ([Ô]
sSQL = sSQL & [Ô][Ô] & atxtCodigo.Text & [Ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtSml.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtEscritorio.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtsn.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtImei.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtChip.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtResp.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]#[Ô] & Format(atxtManut.Text,[Ô]mm/dd/yyyy[Ô]) & [Ô]#,[Ô]
sSQL = sSQL & [Ô]#[Ô] & Format(atxtReparo.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#)[Ô]
con.Execute sSQL
con.CommitTrans
MsgBox [Ô]Registro incluso com sucesso![Ô], vbInformation, [Ô]Cadastro de Equipamento[Ô]
cmdNovo.Enabled = True
Limpa_Caixas_Texto
Habilita_Caixas
Exit sub [ô] não esqueça de colocar esta linha antes do tratamento de erro
erro:
con.RollbackTrans
MsgBox [Ô]Ocorreu um erro ao gravar o cadastro[Ô], vbExclamation, [Ô]Erro[Ô]
End Sub
Qual é o erro que ocorre???
Inclui o err.description no msgbox para saber o erro:
MsgBox [Ô]Ocorreu um erro ao gravar o cadastro[Ô] & vbcrlf & err.description, vbExclamation, [Ô]Erro[Ô]
Inclui o err.description no msgbox para saber o erro:
MsgBox [Ô]Ocorreu um erro ao gravar o cadastro[Ô] & vbcrlf & err.description, vbExclamation, [Ô]Erro[Ô]
MARCELO-TREZE FIZ DO JEITO QUE FALOU, FICOU ASSIM
Dim sSQL As String
On Error GoTo erro
If Trim(atxtSml) = [Ô][Ô] Or Trim(atxtEscritorio) = [Ô][Ô] Then
MsgBox [Ô]Preencha os campos para inclusão do equipamento.[Ô], vbExclamation, [Ô]Campo vazio[Ô]
atxtSml.SetFocus
Exit Sub
End If
con.BeginTrans
sSQL = [Ô]INSERT INTO TBLPOCKET ([Ô]
sSQL = sSQL & [Ô]CODIGO,[Ô]
sSQL = sSQL & [Ô]SML,[Ô]
sSQL = sSQL & [Ô]ESCRITORIO,[Ô]
sSQL = sSQL & [Ô]APARELHO,[Ô]
sSQL = sSQL & [Ô]SN,[Ô]
sSQL = sSQL & [Ô]IMEI,[Ô]
sSQL = sSQL & [Ô]CHIPTIMNOVO,[Ô]
sSQL = sSQL & [Ô]RESPONSAVEL,[Ô]
sSQL = sSQL & [Ô]MANUTENCAO,[Ô]
sSQL = sSQL & [Ô]REPARO) VALUES ([Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtCodigo.Text & [Ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtSml.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtEscritorio.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtAparelho.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtsn.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtImei.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtChip.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtResp.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]#[Ô] & Format(atxtManut.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#,[Ô]
sSQL = sSQL & [Ô]#[Ô] & Format(atxtReparo.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#)[Ô]
con.Execute sSQL
con.CommitTrans
MsgBox [Ô]Registro incluso com sucesso![Ô], vbInformation, [Ô]Cadastro de Equipamento[Ô]
cmdNovo.Enabled = True
Limpa_Caixas_Texto
Habilita_Caixas
Exit Sub
erro:
con.RollbackTrans
MsgBox [Ô]Ocorreu um erro ao gravar o cadastro[Ô] & vbCrLf & Err.Description, vbExclamation, [Ô]Erro[Ô]
End Sub
FEDERHEN acrescentei a linha no erro, segue tela do erro.
Dim sSQL As String
On Error GoTo erro
If Trim(atxtSml) = [Ô][Ô] Or Trim(atxtEscritorio) = [Ô][Ô] Then
MsgBox [Ô]Preencha os campos para inclusão do equipamento.[Ô], vbExclamation, [Ô]Campo vazio[Ô]
atxtSml.SetFocus
Exit Sub
End If
con.BeginTrans
sSQL = [Ô]INSERT INTO TBLPOCKET ([Ô]
sSQL = sSQL & [Ô]CODIGO,[Ô]
sSQL = sSQL & [Ô]SML,[Ô]
sSQL = sSQL & [Ô]ESCRITORIO,[Ô]
sSQL = sSQL & [Ô]APARELHO,[Ô]
sSQL = sSQL & [Ô]SN,[Ô]
sSQL = sSQL & [Ô]IMEI,[Ô]
sSQL = sSQL & [Ô]CHIPTIMNOVO,[Ô]
sSQL = sSQL & [Ô]RESPONSAVEL,[Ô]
sSQL = sSQL & [Ô]MANUTENCAO,[Ô]
sSQL = sSQL & [Ô]REPARO) VALUES ([Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtCodigo.Text & [Ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtSml.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtEscritorio.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtAparelho.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtsn.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtImei.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtChip.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtResp.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]#[Ô] & Format(atxtManut.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#,[Ô]
sSQL = sSQL & [Ô]#[Ô] & Format(atxtReparo.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#)[Ô]
con.Execute sSQL
con.CommitTrans
MsgBox [Ô]Registro incluso com sucesso![Ô], vbInformation, [Ô]Cadastro de Equipamento[Ô]
cmdNovo.Enabled = True
Limpa_Caixas_Texto
Habilita_Caixas
Exit Sub
erro:
con.RollbackTrans
MsgBox [Ô]Ocorreu um erro ao gravar o cadastro[Ô] & vbCrLf & Err.Description, vbExclamation, [Ô]Erro[Ô]
End Sub
FEDERHEN acrescentei a linha no erro, segue tela do erro.
veja nesta linha
deve estar assim
repare que possui uma aspas simples que nà o deveria estar ai
sSQL = sSQL & [Ô][ô][Ô] & atxtCodigo.Text & [Ô],[Ô]
deve estar assim
sSQL = sSQL & [Ô][Ô] & atxtCodigo.Text & [Ô],[Ô]
repare que possui uma aspas simples que nà o deveria estar ai
OK MARCELO-TREZE CORRIGI ERRO, MAIS UM DETALHE ELE SÓ GRAVAR SE OS CAMPOS MANUTENCAO E REPASO NÃO FOREM VAZIO, EXISTE UMA FORMA DE CORRIGIR ISSO, POIS VAI TER CADASTRO QUE NÃO VAI PRECISAR PREENCHER ESSES CAMPOS.
AGRADEÇO.
AGRADEÇO.
Neste caso grave NULL (sem aspas)
sSQL = [Ô]INSERT INTO TBLPOCKET ([Ô]
sSQL = sSQL & [Ô]CODIGO,[Ô]
sSQL = sSQL & [Ô]SML,[Ô]
sSQL = sSQL & [Ô]ESCRITORIO,[Ô]
sSQL = sSQL & [Ô]APARELHO,[Ô]
sSQL = sSQL & [Ô]SN,[Ô]
sSQL = sSQL & [Ô]IMEI,[Ô]
sSQL = sSQL & [Ô]CHIPTIMNOVO,[Ô]
sSQL = sSQL & [Ô]RESPONSAVEL,[Ô]
sSQL = sSQL & [Ô]MANUTENCAO,[Ô]
sSQL = sSQL & [Ô]REPARO) VALUES ([Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtCodigo.Text & [Ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtSml.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtEscritorio.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtAparelho.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtsn.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtImei.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtChip.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtResp.Text & [Ô][ô],[Ô]
sSQL = sSQL & IIF(TRIM(atxtManut.Text)=[Ô][Ô],[Ô]NULL[Ô],[Ô]#[Ô] & Format(atxtManut.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]) & [Ô],[Ô]
sSQL = sSQL & IIF(TRIM(atxtReparo.Text)=[Ô][Ô],[Ô]NULL[Ô],[Ô]#[Ô] & Format(atxtReparo.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]) & [Ô])[Ô]
sSQL = [Ô]INSERT INTO TBLPOCKET ([Ô]
sSQL = sSQL & [Ô]CODIGO,[Ô]
sSQL = sSQL & [Ô]SML,[Ô]
sSQL = sSQL & [Ô]ESCRITORIO,[Ô]
sSQL = sSQL & [Ô]APARELHO,[Ô]
sSQL = sSQL & [Ô]SN,[Ô]
sSQL = sSQL & [Ô]IMEI,[Ô]
sSQL = sSQL & [Ô]CHIPTIMNOVO,[Ô]
sSQL = sSQL & [Ô]RESPONSAVEL,[Ô]
sSQL = sSQL & [Ô]MANUTENCAO,[Ô]
sSQL = sSQL & [Ô]REPARO) VALUES ([Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtCodigo.Text & [Ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtSml.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtEscritorio.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtAparelho.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtsn.Text & [Ô][ô],[ô][Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtImei.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtChip.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & atxtResp.Text & [Ô][ô],[Ô]
sSQL = sSQL & IIF(TRIM(atxtManut.Text)=[Ô][Ô],[Ô]NULL[Ô],[Ô]#[Ô] & Format(atxtManut.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]) & [Ô],[Ô]
sSQL = sSQL & IIF(TRIM(atxtReparo.Text)=[Ô][Ô],[Ô]NULL[Ô],[Ô]#[Ô] & Format(atxtReparo.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]) & [Ô])[Ô]
bom mude estas duas linhas
de
para
veja se funciona
de
sSQL = sSQL & [Ô]#[Ô] & Format(atxtManut.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#,[Ô]
sSQL = sSQL & [Ô]#[Ô] & Format(atxtReparo.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#)[Ô]
para
sSQL = sSQL & IIf(atxtManut.Text = [Ô][Ô], [Ô]Null,[Ô],[Ô]#[Ô] & Format(atxtManut.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#,[Ô])
sSQL = sSQL & IIf(atxtReparo.Text = [Ô][Ô],[Ô]Null)[Ô],[Ô]#[Ô] & Format(atxtReparo.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#)[Ô])
veja se funciona
Tópico encerrado , respostas não são mais permitidas