FUNCOES ESTA COM ERRO NO INSERT.

USUARIO.EXCLUIDOS 09/06/2005 14:57:48
#88034
Olá galera, gostaria de uma ajuda...

Bom tenho um projeto e estou fazendo ele todo com funções para facilitar a vida.. então tenho as seguintes rotinas:

no Modulo chamo a minha conexão
  Global cnn As ADODB.Connection
Global rs As ADODB.Recordset
Public Declare Function InitCommonControls Lib "comctl32.dll" () As Long
Sub Main()
Set rs = New ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & App.Path & "\DB\db_controle.Mdb;Jet OLEDB:Database password=;"
InitCommonControls
MDIPrimario.Show
End Sub


Apos isso, dentro do mesmo modulo eu criei uma função que faz monta o insert com os parametros que eu passar.

   Public Function GeraInsert(ByVal strVal, ByVal tb_Seg, ByVal strings As String) As String
Dim strCampo(0, 3)
'[========================
strCampo(0, 0) = "Nome, Sobrenome, Endereco, User, Senha, Data" '[== Tabela de Usuários ==
strCampo(0, 1) = "CodUsuario, LocalGasto, Valor, FormaPgto, DataPgto, Descricao, Data" '[== Tabela de Gastos ==
strCampo(0, 2) = "CodUsuario, Entrada, Valor, Descricao, Data" '[== Tabela de Caixa CP ==
strCampo(0, 3) = "CodUsuario, Entrada, Valor, Descricao, Data" '[== Tabela de Caixa CC ==
'[========================


Inser = "INSERT INTO " & _
tb_Seg & _
" (" & _
strCampo(0, strVal) & _
" ) VALUES ( " & _
strings & _
" )"
GeraInsert = Inser
End Function


apos isso eu tenho um form de Cadastro de clientes.. e no click do botão cadastrar eu coloquei esse codigo
 
Private Sub BtnCadastrar_Click()
Dim strings As String
strings = "'" & txtNome.Text & "', "
strings = strings & "'" & txtSobrenome.Text & "', "
strings = strings & "'" & txtEndereco.Text & "', "
strings = strings & "'" & txtUsuario.Text & "', "
strings = strings & "'" & txtSenha.Text & "', "
strings = strings & "'" & Date & "'"

txtCaption.Text = GeraInsert(0, "tb_usuario", strings)

cnn.Execute (GeraInsert(0, "tb_usuario", strings))

End Sub



So que esta dando erro no cnn.Execute (GeraInsert(0, "tb_usuario", strings))
ele fala que esta com erro de sintaxe na instrução INSERT INTO.
e que pego a query que ele me gera e executo no access e ele add os dados sem problemas...

o que pode estar acontecendo...

desde ja agradeço!!!
USUARIO.EXCLUIDOS 09/06/2005 17:32:51
#88095
Olá o problema é a data (o campo é do tipo data!!) se for é ele o problema e pra resolver vc tem que passar dentro da string o seguinte comando cvdate('12/12/1990') o comando cvdate deve estar dentro da string pois é uma função do access
Tópico encerrado , respostas não são mais permitidas