Ajuda com Select

Delphi

11/06/2006

Amigos,

Como faço esse select???

Tem como eu fazer com que um registro com deterninadas situações em um formulário X, seja cadastrado em outro?

Os Formulários são:

Formulário MOVIMENTAÇÃO

ID_REGISTRO (PK)
ID_MINUTA (FK)
TIPO_MINUTA
ASSUNTO_MINUTA
ID_ORGÃO (FK)
ID_SETOR (FK)
ID_SITUAÇÃO (FK)
DATA _ENVIO
DATA_RETORNO

Formulário PUBLICAÇÃO

ID_ATO (PK)
ID_REGISTRO (FK)
ID_MINUTA (FK)
TIPO_MINUTA
ASSUNTO_MINUTA
N_ATO
DT_ATO
DT_DIARIO

Além desses Form tenho: MINUTA, ORGÃO e SETOR (todos formulários de cadastros)

[color=red:3ce207db32]A situação é o seguinte:[/color:3ce207db32] No form MOVIMENTAR eu cadastro todos os movimentos das MINUTAS e quando chegar em um determinado ID_ORG com uma determinada ID_SITUAÇÃO gostaria de cadastrar essa ID_REGISTRO, referente a ID_MINUTA no form ATOS, sendo que, não estando com esses critério o usuário fique restringido em fazer o cadastro recebendo uma mensagem de aviso.

Seguindo uma dica, tentei assim, mas sem sucesso... continuo gravando:

[b:3ce207db32]// valor da query[/b:3ce207db32]

Select * from MOVIMENTAR
where MOVIMENTAR.ID_ORG = 4
and MOVIMENTAR.ID_SET = 8
and MOVIMENTAR.ID_SITUA = 6
and MOVIMENTAR.ID_M = :Pminuta
and MOVIMENTAR.ID_M not in (select ID_M from ATOS)

[b:3ce207db32]criamos uma função:[/b:3ce207db32]


function TFrmPublica.MinutaParaPublicar(codigoMinuta: integer): boolean; begin [color=white:3ce207db32]---[/color:3ce207db32]qryPraPublicar.Close; [color=white:3ce207db32]---[/color:3ce207db32]qryPraPublicar.ParamByName(´Pminuta´).AsInteger := codigoMinuta; [color=white:3ce207db32]---[/color:3ce207db32]qryPraPublicar.Open; [color=white:3ce207db32]-[/color:3ce207db32]If qryPraPublicar.Eof Then [color=white:3ce207db32]----[/color:3ce207db32]Result := false [color=white:3ce207db32]-[/color:3ce207db32]else [color=white:3ce207db32]----[/color:3ce207db32]Result := True; end;



E no botão gravar do form ATOS fiz:
.... .... If MinutaParaPublicar(StrToInt(EdID_M.Text)) Then begin [color=white:3ce207db32]---[/color:3ce207db32]Application.MessageBox(´MINUTA NÃO PRONTA´+#13+´ PARA PUBLICAÇÃO´,´AVISO´,mb_iconexclamation); [color=white:3ce207db32]---[/color:3ce207db32]Exit; end;


Estou usando D7 + IBO + Firebird

Obrigado


Jrcosmoluis

Jrcosmoluis

Curtidas 0
POSTAR