MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Insert Into

    Compartilhe
    avatar
    rogeriorcds
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 26/06/2013

    [Resolvido]Insert Into

    Mensagem  rogeriorcds em Qua 03 Fev 2016, 13:08

    Mestres, estou com uma problema que eta me tirando o sono, porque eu não consigo gravar os dados em uma tabela com este código?
    eu já comparei todos os campos e estão todos corretos.

    Private Sub btnsalvar_Click()
    Dim I As Integer
    Dim total As String
    Dim Strtotal As String
    Dim Strkmini As String
    Dim intervalo As String
    Dim mts As String
    Dim tabelalan As String
    If (txtdata) Then
    If Not IsNull(txttotal) And Not IsNull(txtequipe) Then
    mts = 1
    tabelalan = (txtatividade)
    intervalo = (txttotal)
    For I = 1 To intervalo
    Strkmini = Me.txtkmini
    Strtotal = (I + Strkmini - "1")
    CurrentDb.Execute "INSERT INTO " & tabelalan & " (data,atividade,kmini,equipe,obs,usuario,dataalter,mts)" _
    & " Values(#" & Format(txtdata, "mm/dd/yyyy") & "#, """ & Me.txtatividade & """, """ & Strtotal & """, """ & Me.txtequipe & """, """ & Me.txtobs & """, """ & Me.txtusuario & """, #" & Format(txtdataalter, "mm/dd/yyyy") & "#, """ & mts & """);"
    Next I
    Else
    MsgBox "Informe todos os dados da Produção.", vbExclamation, "Produção"
    End If
    End If
    End sub

    Desde já agradeço a ajuda.
    avatar
    rogeriorcds
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 26/06/2013

    Re: [Resolvido]Insert Into

    Mensagem  rogeriorcds em Qua 03 Fev 2016, 14:09

    Silvio,

    Muito obrigado pela resposta, mas acho que consegui achar o problema.
    Acontece assim, eu tenho uma rotina que cria a tabela pra mim conforme os campos que tenho no meu formulário, ao criar esta tabela o campo texto fica com a opção de "Permitir comprimento zero" e "Compactação Unicode" ele atribui não e precisaria estar sim para ele aceitar a gravação.
    como eu consigo fazer esta alteração no código vba?

    With NovaTbl
    ' Vamos criar os campos.
    Set fld(0) = .CreateField("Codlancamento", dbLong)
    fld(0).Attributes = dbAutoIncrField 'Autonumeração.
    Set fld(1) = .CreateField("data", dbDate, Cool
    Set fld(2) = .CreateField("Atividade", dbText, 50)
    Set fld(3) = .CreateField("kmini", dbLong, 5)
    Set fld(4) = .CreateField("equipe", dbText, 30)
    Set fld(5) = .CreateField("obs", dbText, 100)
    Set fld(6) = .CreateField("usuario", dbText, 15)
    Set fld(7) = .CreateField("dataalter", dbDate, Cool
    Set fld(Cool = .CreateField("mts", dbLong, 5)
    'Adiciona os campos criados à tabela.
    For I = 0 To UBound(fld())
    .Fields.Append fld(I)
    .Fields.Refresh

    Muito Obrigado.
    avatar
    rogeriorcds
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 26/06/2013

    Re: [Resolvido]Insert Into

    Mensagem  rogeriorcds em Qui 04 Fev 2016, 11:03

    Galera,

    Consegui resolver usando a instrução " & tabelalan & "

    CurrentDb.Execute "INSERT INTO " & tabelalan & " (data,atividade,kmini,equipe,obs,usuario,dataalter,mts)" _
    avatar
    rogeriorcds
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 26/06/2013

    Re: [Resolvido]Insert Into

    Mensagem  rogeriorcds em Qui 04 Fev 2016, 11:10

    Senhores, as tabelas tem que estar com o campo permitir comprimento zero.

    Conforme instrução a seguir:

    With NovaTbl
    ' Vamos criar os campos.
    Set fld(0) = .CreateField("Codlancamento", dbLong)
    fld(0).Attributes = dbAutoIncrField 'Autonumeração.
    Set fld(1) = .CreateField("data", dbDate, Cool
    Set fld(2) = .CreateField("Atividade", dbText, 50)
    fld(2).AllowZeroLength = True

      Data/hora atual: Ter 26 Set 2017, 10:16