X3 and Visual Basic

Olá a Todos e Todas.

Preciso da Vossa ajuda por favor.

A empresa para a qual neste momento estou a desenvolver um trabalho, utiliza X3.

Para um dos trabalhos que efetuei, a responsavel efetuou um query com multiplos "case" e "left join" que resultou numa table onde os dados em vez que aparecerem numa so linha, aparecem em escada.

Para resolver esta questão acabei por desenvolver uma rotina em VBA e consegui reordenar os dados de acordo com o pretendido. No entanto, para que esta rotina possa ser executada, é necessário usar o Access com um ficheiro excel.

Ora, uma vez que nunca trabalhei com X3, foi a primeira vez que ouvi tal "palavrão", tenho uma pergunta.

Será que eu posso desenvolver codigo em Visual Basic para poder ler as tables e no fim criar uma tabela com os dados devidamente ordenados como pretendido?

Se sim, podem indicar-me como posso fazer isso?

Obrigado,

Joaquim

  • in reply to Joaquim Pinto

    Boa tarde,

    Isso é uma regra da linguagem SQL e sobre efetuar Joins entre tabelas.

    É necessário que haja uma relação, caso contrário, não conseguirá ligar as diferentes tabelas.

  • in reply to RuiSimoesSagePortugal

    Olá Rui.

    Mais uma pergunta por favor.

    Para poder fazer a query que pretendo, todas as tabelas têm de ter campos relacionados entre si em todas as tabelas?

    Por exemplo.

    Tenho um produto numa tabela que usa determinado produto de outra tabela, que por sua vez utiliza outro produto de outra tabela.

    Esta query tem de aceder a 7 tabelas diferentes.

  • in reply to Joaquim Pinto

    Boa tarde Joaquim,

    As Queries gráficas do X3, bem como as Queries SQL, é uma funcionalidade do X3 que permite a criação de Queries de uma forma muito semelhantes ao que pode ser feito numa query diretamente no SQL Server Management Studio. São Selects às tabelas da Base de Dados.

    Outra coisa é o print que envia, isso já é código Sage X3, denominado por 4GL. Que, pelo que percebo do código, ao carregar num Botão de ecrã, vai carregar uma lista de acordo com os filtros/links a determinadas tabelas e que deve apresentar o resultado em ecrã.

    No X3 não é possível usar outra linguagem que não o código fonte X3 (4GL).

    Fora do X3, pode usar a linguagem que entender, desde que tenha uma forma de se conectar à base de dados.

    Para saber mais sobre o Sage X3, pode aceder e fazer o registo no Sage University, que é a plataforma de formação da Sage.

    Ou então, para ter uma ideia do que se trata, pode pesquisar no google por "Sage X3 4GL"

  • in reply to RuiSimoesSagePortugal

    Olá Rui.

    Bom dia.

    Antes de mais obrigado por responder à minha questão.

    Neste momento não tenho acesso direto a base de dados já que estou em teletrabalho.

    A pessoa que está no escritório e que trabalha com o X3 criou uma query para ter determinados dados.

    Ora, uma vez que tais dados estão em diversas tabelas, que segundo me foi dado a conhecer, não estão relacionadas umas com as outras, os dados pretendidos saem em varias linhas quando o pretendido é que saiam numa linha só.

    A imagem abaixo é um ficheiro em Excel da query que foi efetuada. 

    E esta imagem é conforme se pretende que a query apresente os dados.

    Eu resolvi isto colocando os dados que me foram disponibilizados em Excel numa base de dados Access e criei uma rotina em VBA.

    Tenho acesso a X3 sempre que vou ao escritório.

    Estive a ler uns artigos e fiquei com a sensação que se calhar através da visualização grafica das tabelas poderia criar o query pretendido. Será que estou correto?

    Há alguns dias a pessoa que trabalha com o X3 disse-me e mostrou-me um query que apresenta alguns dados de outras tabelas da forma correta e reparei que existe um código a "correr" por trás.

    Este é parte do codigo.

    Portanto, a minha questão é saber se posso criar alguma rotina em Visual Basic, C# ou outra linguagem, para poder fazer a pesquisa que se pretende e apresentar os dados da forma correta, ou se tenho de suar esta linguagem. Será que isto é fazível usando a visualização grafica das tabelas e fazer a ligação entre elas?

    Independentemente da resposta do Rui, pode-me indicar algum livro ou artigo que possa ler para aprender sobre o X3? Quanto mais conhecimento melhor! Slight smile

    Obrigado e abraço,

    Joaquim Pinto

  • Bom dia Joaquim,

    Acabei por não perceber a expressão "dados em vez que aparecerem numa so linha, aparecem em escada.", a que se refere?

    Como é que o utilizador lhe passou a tabela com os dados? Por ficheiro de Excel? Ligação ao Sql Server? ODBC? Outro?

    Julgo que a melhor opção é trabalhar em conjunto com o utilizador de X3, para que possam otimizar a Query feita para consulta de dados.

    Ou então detalhar melhor o tipo de acesso que lhe foi dado aos dados, para que lhe possa indicar qual o caminho a seguir.