Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal Gostaria de criar uma rotina simples.
Tentei fazer sozinho. Mas acho que estou errado em algum lugar.
Toda vez que atualizar o Qlikview ele fazer a comparação através do NoConcatenate pela data, caso tenha modificação do arquivo mdb em anexo.
Anexo tem os arquivo.
Tabela em mdb
arquivo. qvw
arquivo qvd.
//Conexão com o Banco de Dados
ODBC CONNECT32 TO [MS Access Database;DBQ=C:\test\test.accdb];
//Movimento:
//LOAD `Código`,
// Filial,
// Data,
// Hora,
// Produto,
// Tamanho,
// `Estoque_Anterior`,
// Sequencia,
// Saida,
// `Valor_Saida`;
//SQL SELECT *
//FROM Movimentos;
//
//store Movimento into C:\test\movimento.qvd(qvd);
//**************************************
//Lendo o QVD
Movimento:
LOAD Código,
Filial,
Data,
Produto,
Tamanho,
Estoque_Anterior,
Sequencia,
Saida,
Valor_Saida
FROM
(qvd);
Sort_Movimento:
LOAD *
Resident Movimento
Order by Data;
LET 'vUpdateDate' = Peek('Data', -1,'Sort_Movimento');
DROP Table Movimento;
//**************************************
incremental:
NoConcatenate
LOAD Código,
Filial,
Data,
Produto,
Tamanho,
Estoque_Anterior,
Sequencia,
Saida,
Valor_Saida;
SQL SELECT *
FROM Movimento
where Data >= #$(vUpdateDate)#;
Eu acho que o que você queria é:
//Lendo o QVD
Movimento:
LOAD Código,
Filial,
Data,
Produto,
Tamanho,
Estoque_Anterior,
Sequencia,
Saida,
Valor_Saida
FROM [movimento.qvd](qvd);
Sort_Movimento:
noconcatenate LOAD *
Resident Movimento
Order by Data;
LET 'vUpdateDate' = Peek('Data', -1,'Sort_Movimento');
DROP Table Movimento;
//**************************************
incremental:
concatenate (Sort_Movimento) LOAD Código,
Filial,
Data,
Produto,
Tamanho,
Sequencia,
Saida,
Valor_Saida;
SQL SELECT *
FROM Movimentos
where Data >= #$(vUpdateDate)#;
temos 2 problemas ai
Na linha 39, os registros irão ser juntados na mesma tabela, pois tem os mesmos campos, deveria colocar um NOCONCATENATE antes do load
Na linha 48 você está tentando ler (Não seria um RESIDENT?) uma tabela que acabou de deletar
Não deu Certo Chaver,
Deu um problema.
Continua com o problema.
Caso você tenha algum exemplo mais simples ou mais automatizado. Ficarei Feliz
Poderia ser mais específico quanto ao problema?
Olhei seu access aqui, sua tabela não chama Movimento mas sim Movimentos e não existe o campo no access tb.
incremental:
NoConcatenate
LOAD Código,
Filial,
Data,
Produto,
Tamanho,
Estoque_Anterior,
Sequencia,
Saida,
Valor_Saida;
SQL SELECT *
FROM Movimentos
where Data >= #$(vUpdateDate)#;
Eu acho que o que você queria é:
//Lendo o QVD
Movimento:
LOAD Código,
Filial,
Data,
Produto,
Tamanho,
Estoque_Anterior,
Sequencia,
Saida,
Valor_Saida
FROM [movimento.qvd](qvd);
Sort_Movimento:
noconcatenate LOAD *
Resident Movimento
Order by Data;
LET 'vUpdateDate' = Peek('Data', -1,'Sort_Movimento');
DROP Table Movimento;
//**************************************
incremental:
concatenate (Sort_Movimento) LOAD Código,
Filial,
Data,
Produto,
Tamanho,
Sequencia,
Saida,
Valor_Saida;
SQL SELECT *
FROM Movimentos
where Data >= #$(vUpdateDate)#;
Funcionou, 100%
Agora ele vai carregar somente o incremental.
Obrigado
Desculpas, Sou novato e estava cansado.
De boa, acontece
Mantenha contato