INSERT INTO EM TABELA

JPAULO101 27/05/2010 08:44:31
#342916
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.
JONATHANSTECKER 27/05/2010 09:19:26
#342919
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
JPAULO101 27/05/2010 09:33:51
#342921
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.
WILLVIDAL 27/05/2010 09:44:46
#342922
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
MARCELO.TREZE 27/05/2010 09:45:16
#342923
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)

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

FEDERHEN 27/05/2010 09:47:38
#342924
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[Ô]
JPAULO101 27/05/2010 10:21:17
#342927
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.
MARCELO.TREZE 27/05/2010 10:31:31
#342928
veja nesta linha

sSQL = sSQL & [Ô][ô][Ô] & atxtCodigo.Text & [Ô],[Ô]


deve estar assim

sSQL = sSQL & [Ô][Ô] & atxtCodigo.Text & [Ô],[Ô]


repare que possui uma aspas simples que nào deveria estar ai
JPAULO101 27/05/2010 11:09:07
#342937
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.
FEDERHEN 27/05/2010 11:19:47
#342940
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[Ô]) & [Ô]#[Ô]) & [Ô])[Ô]

MARCELO.TREZE 27/05/2010 11:21:21
#342942
Resposta escolhida
bom mude estas duas linhas

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

Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas