ERRO EM SQL

USUARIO.EXCLUIDOS 07/08/2007 16:00:16
#229846
Por favor me ajudem, qundo executo minha query, da um erro, estou usando o Access, e já usei a Sql pura no Access e funcionou. Minhas rotinas são essas!

FUNÇÃO PARA GRAVAR:

Private Sub Gravar()

Dim vConfMsg As Integer
Dim vErro As Boolean
Dim strCampos As String
Dim strValores As String
Dim strTabela As String

strTabela = "TBUsuarios"

On Error GoTo errGravacao

'INICIALIZA AS VARIÁVEIS AUXILIARES:
vConfMsg = vbExclamation + vbOKOnly + vbSystemModal
vErro = False

'VERIFICA OS DADOS DIGITADOS:
If txtNome.Text = Empty Then
MsgBox "O Campo Nome Não Pode Ser Nulo!", vConfMsg, "Erro"
vErro = True
ElseIf txtLogin.Text = Empty Then
MsgBox "O Login Nome Não Pode Ser Nulo!", vConfMsg, "Erro"
vErro = True
ElseIf txtSenha.Text = Empty Then
MsgBox "O Campo Senha Não Pode Ser Nulo!", vConfMsg, "Erro"
vErro = True
ElseIf cbbNivel_Acesso.Text = Empty Then
MsgBox "O Campo Nome Não Pode Ser Nulo!", vConfMsg, "Erro"
vErro = True
End If

'SE ACONTECEU ALGUM ERRO DE DIGITAÇÃO, SAI DA SUB SEM GRAVAR:
If vErro Then Exit Sub

Screen.MousePointer = vbHourglass

'GRAVANDO DADOS
strCampos = "PKCodigo, Nome, Login, Senha, Gravar, Excluir, Alterar,Consultar, Nivel_Acesso"

strValores = " '" & txtCodigo.Text & "', '" & txtNome.Text & "', '" & txtLogin.Text & "'," & _
" '" & txtSenha.Text & "', '" & booGravar & "', '" & booExcluir & "', '" & booUpdate & "'," & _
" '" & booConsultar & "', '" & cbbNivel_Acesso.Text & "'"

F = Gravar_Dados(strCampos, strValores, strTabela)

MsgBox "Gravação Concluída Com Sucesso!", _
vbApplicationModal + vbInformation + vbOKOnly, _
"Gravação OK"

'CHAMA A SUB QUE LIMPA OS DADOS DO FORMULÁRIO:
Limpar_Tela

saida:
Screen.MousePointer = vbDefault
Exit Sub

errGravacao:
With Err
If .Number <> 0 Then
MsgBox "Houve Um Erro Durante a Gravação Dos Dados Na Tela!", _
vbExclamation + vbOKOnly + vbApplicationModal, "Erro"
.Number = 0
GoTo saida
End If
End With

End Sub



FUNÇÃO GRAVAR NO MODULO:

Public Function Gravar_Dados(strCampos As String, strValores As String, strTabela As String)

With cnnComando
.ActiveConnection = cnnBiblio
.CommandType = adCmdText
'VERIFICA A OPERAÇÃO E CRIA O COMANDO SQL CORRESPONDENTE:
.CommandText = "INSERT INTO " & strTabela & " " & _
"(" & strCampos & ") VALUES ('" & strValores & "');"
.Execute [txt-color=#ff0000]'Aqui dá o erro[/txt-color]
End With

End Function




ERRO:

.NUMBER = -2147217900

esse e o erro acontece no .Execute, se puderem me ajudar agradeço, abraços
USUARIO.EXCLUIDOS 07/08/2007 16:16:29
#229850
Só da o numero do erro...n tem nenhuma msg?
USUARIO.EXCLUIDOS 07/08/2007 17:14:49
#229858
Resposta escolhida
Try this:


strValores = " '" & txtCodigo.Text & "', " & _
" '" & txtNome.Text & "', " & _
" '" & txtLogin.Text & "', " & _
" '" & txtSenha.Text & "', " & _
Iif(booGravar=True,"True","False") & " , " & _
Iif(booExcluir=True,"True","False") & " , " & _
Iif(booUpdate=True,"True","False") & " , " & _
Iif(booConsultar=True,"True","False") & " , "
If Len(Trim$(cbbNivel_Acesso.Text) > 0 Then
strValores = strValores & " '" & cbbNivel_Acesso.Text & "' "
Else
strValores = strValores & " Null "
End If

USUARIO.EXCLUIDOS 07/08/2007 17:26:59
#229862

Tenta assim:

Public Function Gravar_Dados(strCampos As String, strValores As String, strTabela As String)

With cnnComando
.ActiveConnection = cnnBiblio
.CommandType = adCmdText
'VERIFICA A OPERAÇÃO E CRIA O COMANDO SQL CORRESPONDENTE:
.CommandText = "INSERT INTO " & strTabela & " (" & _
strCampos & ") VALUES ('" & strValores & "');"

.Execute '#ff0000'>'Aqui dá o erro
End With

End Function

Tópico encerrado , respostas não são mais permitidas