Mestre / Detalhe

(pauloper) #1

Ola Pessoal,
Estou com o seguinte problema. Num formulario Mestre\Detalhe, inclusi o mesmo exemplo do SC.
Ocorre que quando executo os lanctos dos itens recebo um erro. coloquei em modo Debug e
verifiquei que o numero do Pedido Mestre esta em branco. refiz a ligacao e nada.

Esta é a linha que eu executo:
sc_lookup(dataset,“SELECT SUM(peditetotal) FROM pedidoitens WHERE pediteid = {pedidoid}”);

Esta é a linha do Debug:

SELECT SUM(peditevalortotal) FROM pedidoitens WHERE pediteid =

O NUMERO DO PEDIDO DO CABECALHO MESTRE ESTA VAZIO. PARECE QUE ELE NAO TRAZ O
NUMERO DA LIGACAO.

Alguem tem alguma dica ??

SC 4
PostgreSQL 8.2.9

(Rodrigo Lins) #2

Boa Tarde,

Este sc_lookup está sendo feito na aplicação mestre ou no detalhe?

Sendo na aplicação mestre e este campo “pediteid” for do tipo auto-incremento, de fato, depdendendo do evento, não estará disponível.

E se for na aplicação detalhe (fazendo referÊncia ao campo da aplicação mestre), não será possível, terá que criar uma variável global na mestre para utilizar na aplicação detalhe.

Outro detalhe importante, é no momento da ligação do “Form detalhes”, informar o campo chave das duas tabelas (provavelmente pedidoid).

Verifique estas informações.

Espero ter ajudado.

Rodrigo Lins.

(pauloper) #3

Ola Rodrigo,

Este sc_lookup está sendo feito na aplicação no detalhe.
“pediteid” esta OK em ambos, foi erro meu ao digitar a mensagem.

Valeu, vou testar com a tua dica.

Paulo.

(pauloper) #4

blza, Rodrigo, funcionou, com a tua dica de passar como variavel.
Ate pensei nisso, mas se vc pegar o exemplo do SC funciona sem passar variavel.
Sera que a maioria dos exemplos só funcionam no MySQL ???
é a pergunta que nao quer calar!!!

Abs,
Paulo.
SC 4.
PostgreSQL.

(Rodrigo Lins) #5

Boa,

Ok, então…

Creio que este não seria o caso, de funcionar somente com mysql, depende muito do que está sendo feito e de onde quer pegar o valor.

Sendo, como neste caso (pelo que entendi) está na aplicação detalhe e está querendo pegar um valor do Mestre, independente de banco de dados, isto não irá funcionar, pois são aplicações distintas, por isso que tem que utilizar variável global.

Teria que ser analisado a aplicação que você disse que funciona e a que não funciona para saber o que está sendo feito.

Mas, de quaquer maneira que bom que funcionou

Rodrigo Lins.