Problema com Mestre / Detalhe

(Bonotto) #1

Bom Dia.

Estou precisando da ajuda de vocês para poder sair desse sufoco.

Estou criando uma aplicação de Controle de Veículo, mas quando configuro para poder usar mestre/detalhe da problema (o detalhe não aparece) fica todo em branco, alguem ja passou por isso?

Preciso de ajuda, Obrigado.

(Bonotto) #2

Um detalhe importante.

A aplicação funciona com um corpo que seria o mestre, e o detalhe como todos devem imaginar funciona para cadastrar varias peças e serviços que foram executados no veículo.

Vlw…

(Haroldo) #3

na inclusão sim, pois o mestre temque ser salvo primeiro para criar a ligaçãocom o detalhe.

(gferrai) #4

Caraca, eu estou com o mesmo problema!!!

Criei um form Endereço (grid editável), outro de telefone (grid editável), e um form mestre chamado Cliente. Fiz a ligação mestre/detalhe dos filhgos com o pai e quando eu incluo um novo registro, nada aparece nos detalhes de endereço e telefone, a tela fica em branco. Entretanto se eu faço uma atualização, recuperando um registro, as abas de detalhe mostram a grid sem probloema algum.

Ninguém sabe o que pode estar acontecendo?

(Bonotto) #5

Esse é o problema.

O detalhe só aparece quando cadastra alguma coisa.

Não existe alguma forma de fazer isso tudo na mesma tela???

Obrigado.

(Haroldo) #6

crie o registro do mestre antes de chamar o formulario, e passe o id para o mesmo entrando em edição direto.

(gferrai) #7

Oi Bonotto,

Quando está na inclusão, os detalhes só aparecem após salvar o mestre, isso eu tb acho meio feio pq as abas ficam sendo mostradas e com o conteúdo vazio, mas pode tratar de alguma maneira.
O meu caso é pior, pois eu informo os dados do cliente e salvo o formulário, mas mesmo depois de salvar o formulário mestre as abas endereço e telefone continuam com o conteúdo vazio e o form mestre fica sem as informações salvas.
Certamente é uma bobagem, mas até agora ninguém conseguiu me responder certo sobre o que fazer.

Abs

(gferrai) #8

Harold, como passo o id do form mestre para ele mesmo após a inclusão, é no evento onload?
Como seria?
abs

(Haroldo) #9

na oninit ataves de um insert cria o registro, com um select pega oultimo registro inserido, para uma determinada flag vazia (situação=null por exemplo) e recarrega o proprio formulario passando o id como parametro. após salvar o registro altere o valor de situação.

(Diogo Toscano) #10

http://www.netmake.com.br/forum/index.php?topic=2246.0

(gferrai) #11

Ok, mas ele garante que essa recuperação será do registro que eu acabei de incluir, mesmo em um sistema com múltiplos usuários? A função criada está dentro da mesma transação?
Por exemplo, num banco SQLServer, se eu faço uma procedure de inclusão, posso usar o
@@identity para recuperar o Id criado para o registro que acaba de ser incluído, mas tudo isso dentro de uma mesma transação. Se a recuperação do último registro da função LAST_INSERT_ID(), não garantir a transação corrente, então quando eu tiver múltiplos acessos, sempre pegarei o último ID inserido, que poderá não ser o meu.

Posso usar sem medo? rsrsrs

Abraços,

(Diogo Toscano) #12

LAST_INSERT_ID() é diferente de select max.
last_insert_id garante a recuperação do ultimo registro inserido usando auto increment no mysql.
Se nao eu nem colocaria como exemplo, concorrencia ja era …
ia ter que usar dead lock no banco pra travar registro … n … hehehe

Deixa que o banco se vira :-p

(gferrai) #13

Mas isso vai funcionar com o SQLSERVER? É uma função do SC ou no MYSQL, vc falou algo a respeito disso.

abs

(Diogo Toscano) #14

LAST_INSERT_ID() é do MySQL

sc_lookup(rs , “SELECT LAST_INSERT_ID()”);
$last_id = {rs[0][0]}

e SELECT @@IDENTITY AS ‘Identity’ é para pegar no sqlserver

(Bonotto) #15

Aproveitando o problema…

Existe possibilidades de criar um detalhe como um formulario de registro unico?

Aguardo resposta…

Obrigado!

(Diogo Toscano) #16

Ai n precisaria ser mestre/detalhe, visto que o detalhe eh pra inserção de multiplos itens.
Voce pode fazer uma ligação normal do form1 para o form2, passando a chave necessário e liganção a opção de navegar apos incluir, alterar…

(gferrai) #17

Bonotto, pelo que um representante da Netmake me falou, não tem como não, somente com grid editável ou View.

Para o meu problema, nada de solução até agora.

Abs

(Diogo Toscano) #18

qual a sua ideia?
pois voce pode utilizar abas e colocar o formulario mestre na primeira e o detalhe na segunda aba e fazer as trocas dinamicas. Procura pela utilização de aba no forum …

(Haroldo) #19

No meu ponto de vista em uma aplicação mestre detalhe, o detalhe pode também ser em forma de formulário, pois mestre detalhe, esta ligado as tabelas e como elas se relacionam, se a inclusão dos itens for em formato grid, um registros por vez não interessa.

(Haroldo) #20

para pegar um registro inserido cria um campo para guarda a sessão do php, e faça um select com max(id) where sessaophp=’$SESSION…