Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Inserir no Banco

Boa tarde, possuo um relatório de vendas diário, eu preciso que esse relatório tenha um botão, que faça um insert em um banco MySQL a informação que aqueles dados já estão conferidos, essa informação pode ser um OK, ou S e N. Preciso dessa informação, porque acontecem vendas retroativas, e gravando essa informação no banco posso filtrar se aquela venda ja foi conferida ou não. Espero que possam me ajudar.

Labels (3)
14 Replies
Clever_Anjos
Employee
Employee

Essa extensão é uma possível saída: https://community.qlik.com/docs/DOC-5970#comment-45102

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Gabriel,

tem este modelo que faz o writeback.

Tem uma outra forma que daria para fazer usando Dynamic Update, que faz com que você altere dados que estão em RAM do Qlik.

Assim, teria que salvar depois em QVD......Quem sabe outro post....

furtado@farolbi.com.br
Not applicable
Author

Obrigado pelo retorno, vou testar as opções para ver qual se comporta melhor.

Not applicable
Author

Bom dia, deu certo os exemplos estou conseguindo gravar no banco, minha duvida é, como que eu posso pegar a data que o usuário selecionou, criar um campo com S, N para gravar alteração, e fazer um update no banco. O usuário vai fazer a verificação das vendas, quando todas estiverem ok, vai clicar nesse botão que vai alterar o campo verificado que esta com valor N e alterar para S, isso para todas as vendas daquela data. Fico no aguardo.

Essa é a macro que funcionou, para fazer a gravação no banco.

Function GetAgentConnection

    Dim oConection

    'Dim SLXServerName

    'Dim SLXDataBaseName

    'Dim SLXUserPassword

    'Dim SLXUserName

    Dim sConnectionString

   sConnectionString = "Provider=MSDASQL.1;Persist Security Info=True;User ID=root;Data Source=Mysql;Extended Properties=DSN=Mysql;UID=root;Initial Catalog=qlikview] (XPassword is QUNbQbdNSDbIWPFGSZMAH)"

    Set oConection = CreateObject ("ADODB.Connection")

    oConection.ConnectionString = sConnectionString

    oConection.Open

    Set GetAgentConnection = oConection

End Function

Sub QV2SQL

  SET Connection= GetAgentConnection()

  dim uSQL

  dim RegAfectados

  dim importe

  RegAfectados = 0

  set val=ActiveDocument.Fields("campo1").GetPossibleValues

  set val2=ActiveDocument.Fields("campo2").GetPossibleValues

  set val3=ActiveDocument.Fields("campo3").GetPossibleValues

  for i=0 to val.Count-1

  Connection.Execute "INSERT INTO  campo (Coluna1, Coluna2, Coluna3) VALUES ('','',val3.Item(i).Text )"

  next

End Sub

Também estou enviando imagem, de como o usuário seleciona a data.Capturar2.PNG

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Gabriel,

se fizer na macro um   if exists select registro, entao update senao insert ?

furtado@farolbi.com.br
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

lembrar que coloquei a ideia e não a sintaxe....

furtado@farolbi.com.br
Not applicable
Author

Boa tarde Alessandro, sim lembro, agora estou conseguindo fazer o update no banco, com o seguinte qvw, porem ele não funciona no qlikview server. Sera que estou fazendo alguma coisa errado? Outra coisa estranha também, é que ele não esta pegando a descrição que deveria vir de uma seleção, ele pega a primeira letra código. Espero que possa me ajudar. Fico no aguardo.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Rodar no server nem todas as macros rodam......

furtado@farolbi.com.br
Not applicable
Author

Mas sera que esse modelo de macro que faz update, existe alguma maneira de fazer funcionar?