Ir para conteúdo

HELENO de Sant'Anna

Members
  • Total de itens

    40
  • Registro em

  • Última visita

Reputação

0 Comum

1 Seguidor

Sobre HELENO de Sant'Anna

Últimos Visitantes

410 visualizações
  1. HELENO de Sant'Anna

    numeração automática de documentos

    Olá Dan Borges, De antemão gostaria de agradecer a atenção dispensada no atendimento do meu questionamento. Porém, sinceramente não sei se esse código atende a minha necessidade. O que eu quero na verdade é o seguinte: imagine que eu tenha uma pasta do Windows dentro da pasta, por exemplo, Meus Documentos com o nome de Ofícios e essa pasta já contenha 5 ofícios, por exemplo. Então, quando eu criar um Novo documento Word dentro da referida pasta, lá no texto Ofício nº XX/2015, deverá aparecer AUTOMATICAMENTE o número 6 na posição de XX, ou seja, ficaria Ofício nº 6/2015. Tem como fazer isso, porque já ouvi relatos de pessoas que trabalham no Tribunal de Justiça "não sei da'onde" que lá eles tem um documento Modelo do Word que gera o número do Ofício automaticamente.
  2. HELENO de Sant'Anna

    numeração automática de documentos

    Olá a todos, Minha dúvida é bem simples: trabalho num escritório de uma prefeitura e o que faço lá é basicamente digitar documentos (ofícios, memorandos, convites etc.) e para fazer isso utilizo o editor de texto Word, como a maioria dos mortais. Um erro relativamente comum no meu trabalho é emitir dois ofícios com o mesmo número e tentando evitar esse erro realizei diversas buscas na web para algum código vba que possa gerar automaticamente um novo número de ofício toda vez que eu criar um documento do word dentro de uma pasta especifica, que seria a pasta Ofícios. Encontrei um código com essa finalidade na web mas era uma postagem muito antiga, que tratava de arquivos .INI, indicadores e macros. Não consegui implementar porque a explicação era muito vaga e sem um exemplo prático. Link: http://www.ativoaccess.com.br/forum/index.php?showtopic=46 Não estou seguro se esse assunto é realmente nesse fórum, se não for, de antemão peço desculpas, porém desde já agradecido pela atenção dispensada.
  3. HELENO de Sant'Anna

    could not convert variant of type (null) into type (integer)

    Acabei de resolver o problema. Era um erro em um campo calculado. Pense numa sofrência.
  4. HELENO de Sant'Anna

    could not convert variant of type (null) into type (integer)

    Boa tarde, Não consegui ainda resolver o problema acima descrito. No entanto pensei: se o erro só ocorre quando aciono o botão NOVO então ele (erro) deve estar relacionado ao código desse botão. Então deletei praticamente todo o código desse botão (numeração automática etc.) e deixei apenas a linha de código: dm_dadosSeduc.tbl_requerimentos.Append; Resultado: a mensagem não aparece mais quando aciono o botão NOVO, no entanto, não consigo inserir um novo registro pois digito qualquer valor no primeiro campo do formulário (que é um campo integer) e dou um TAB aí a irritante mensagem retorna a aparecer (Could not convert variant of type (Null) into type (Integer)). Ou seja, é como se existisse um problema de conexão entre o formulário e o banco, mas já olhei todo o código e não consegui descobrir. IMPORTANTE 01: Diretamente no banco consigo inserir registros normalmente. IMPORTANTE 02: Quando aciono o botão NOVO do formulário descrito nos posts anteriores, cria-se um registro em branco no DBGrid do formulário, mas não consigo inserir dados nesse registro. Alguém já teve alguma experiência semelhante? Aguardo resposta, por favor.
  5. HELENO de Sant'Anna

    could not convert variant of type (null) into type (integer)

    Olá Danicléo S. Teles, muito obrigado por responder. Veja, fiz as alterações que você propôs e o código ficou da seguinte maneira: dm_dadosSeduc.tbl_requerimentosNomePeriodo.AsString:= (IntToStr(dm_dadosSeduc.tbl_requerimentosREQ_PERIODO.AsInteger)+' '+'DIAS'+' '+'('+'DE:'+' '+DateToStr(dm_dadosSeduc.tbl_requerimentosREQ_DATAINICIO.AsDateTime)+ ' '+'ATÉ'+' '+DateToStr(dm_dadosSeduc.tbl_requerimentosREQ_DATATERMINO.AsDateTime)+')'); No entanto, continua apresentando o mesmo ERRO com algumas diferenças ESTRANHAS: 1ª) A sete verde não fica mais posicionada na linha de código acima; 2ª) A mensagem de erro agora é: 'Could not convert variant of type (Null) into type (Double)'. Anteriormente era: 'Could not convert variant of type (Null) into type (Integer)'.
  6. HELENO de Sant'Anna

    could not convert variant of type (null) into type (integer)

    Galera, Tô precisando muito dessa ajuda. No meu projeto tenho um formulário cujo nome é frmRequerimentos. Ele vinha funcionando normalmente, mas de uns dias pra cá passou apresentar o seguinte problema: quando clico no botão NOVO dá um erro com a mensagem: 'Could not convert variant of type (Null) into type (Integer)'. IMPORTANTE: A seta verde fica posicionada na seguinte linha de código: dm_dadosSeduc.tbl_requerimentos['NomePeriodo']:= (IntToStr(dm_dadosSeduc.tbl_requerimentos['REQ_PERIODO'])+' '+'DIAS'+' '+'('+'DE:'+' '+DateToStr(dm_dadosSeduc.tbl_requerimentos['REQ_DATAINICIO'])+ ' '+'ATÉ'+' '+DateToStr(dm_dadosSeduc.tbl_requerimentos['REQ_DATATERMINO'])+')'); Acontece que apaguei essa linha de código e continua apresentando o mesmo erro. Não sei mas como resolver. Um abraço, por favor me ajudem.
  7. HELENO de Sant'Anna

    Problemas entre Delphi e Banco MySQL

    Estou com esse mesmo problema. Vejam o meu caso: Tenho uma tabela no meu Projeto cujo nome é tbl_requerimentos. Nessa tabela tenho um campo calculado (NomePeriodo), cujo objetivo é levar para um relatório informações concatenadas do tipo: 30 DIAS (DE 07/01/2015 ATÉ 07/02/2015). Acontece que o formulário onde cadastro os requerimentos (frmRequerimentos) passou apresentar o seguinte problema: Toda vez que clico no botão NOVO para cadastrar um novo requerimento surge um erro com a seguinte mensagem: 'Could not convert variante of type (Null) into type (Integer). Script do campo calculado: dm_dadosSeduc.tbl_requerimentos['NomePeriodo'] :=(IntToStr(dm_dadosSeduc.tbl_requerimentos['REQ_PERIODO'])+' '+'DIAS'+' '+'('+'DE:'+' '+DateToStr(dm_dadosSeduc.tbl_requerimentos['REQ_DATAINICIO'])+ ' '+'ATÉ'+' '+DateToStr(dm_dadosSeduc.tbl_requerimentos['REQ_DATATERMINO'])+')' Campos envolvidos no script: NomePeriodo (campo calculado) do tipo String; req_periodo (campo físico) do tipo Integer; req_dataInicio (campo físico) do tipo TimeStamp; req_dataTermino (campo físico) do tipo TimeStamp. O que poderá estar ocasionando este erro? OBS.: As demais funcionalidades do formulário frmRequerimentos continuam inalteradas (funcionam corretamente), só o quando clico no botão NOVO que está ocorrendo este erro e em vista disso não consigo mais cadastrar os requerimentos. Sem mais... Agradeço desde já.
  8. HELENO de Sant'Anna

    Campo calculado

    Olá galera, Tenho uma tabela no meu Projeto cujo nome é tbl_requerimentos. Nessa tabela tenho um campo calculado (NomePeriodo), cujo objetivo é levar para um relatório informações concatenadas do tipo: 30 DIAS (DE 07/01/2015 ATÉ 07/02/2015). Acontece que o formulário onde cadastro os requerimentos (frmRequerimentos) passou apresentar o seguinte problema: Toda vez que clico no botão NOVO para cadastrar um novo requerimento surge um erro com a seguinte mensagem: 'Could not convert variante of type (Null) into type (Integer). Script do campo calculado: {code} dm_dadosSeduc.tbl_requerimentos['NomePeriodo'] :=(IntToStr(dm_dadosSeduc.tbl_requerimentos['REQ_PERIODO'])+' '+'DIAS'+' '+'('+'DE:'+' '+DateToStr(dm_dadosSeduc.tbl_requerimentos['REQ_DATAINICIO'])+ ' '+'ATÉ'+' '+DateToStr(dm_dadosSeduc.tbl_requerimentos['REQ_DATATERMINO'])+')'); {/code} Campos envolvidos no script: NomePeriodo (campo calculado) do tipo String; req_periodo (campo físico) do tipo Integer; req_dataInicio (campo físico) do tipo TimeStamp; req_dataTermino (campo físico) do tipo TimeStamp. O que poderá estar ocasionando este erro? OBS.: As demais funcionalidades do formulário frmRequerimentos continuam inalteradas (funcionam corretamente), só o quando clico no botão NOVO que está ocorrendo este erro e em vista disso não consigo mais cadastrar os requerimentos. Sem mais... Agradeço desde já.
  9. HELENO de Sant'Anna

    ERRO: Dataset not in edit or insert mode

    Olá a todos, Tenho um formulário cujo nome é frmEscolaOrgao, onde é realizado o cadastro de escolas municipais. Neste formulário tenho um botão (btnAlterar) cujo código é o seguinte: procedure TfrmEscolaOrgao.btnAlterarClick(Sender: TObject); begin dm_dadosSeduc.tbl_escolaOrgao.Edit; btnNovo.Enabled:= False; btnSalvar.Enabled:= True; btnVoltar.Enabled:= False; btnAlterar.Enabled:= False; btnPesquisar.Enabled:= False; btnCancelar.Enabled:= True; btnExcluir.Enabled:= False; btnImprimir.Enabled:= False; dbINEP.Enabled:= True; dbNomeEscola.Enabled:= True; cbxLogradouro.Enabled:= True; dbEndereco.Enabled:= True; dbNumero.Enabled:= True; dbComplemento.Enabled:= True; dbBairro.Enabled:= True; cbxCidade.Enabled:= True; cbxUF.Enabled:= False; dbCEP.Enabled:= True; dbTelefone.Enabled:= True; dbEmail.Enabled:= True; rgpLocalizacao.Enabled:= True; dbNumAlunos.Enabled:= True; dbDataCadastro.Enabled:= True; dbCadEscolar.Enabled:= True; dbPortaria.Enabled:= True; dbDataPortaria.Enabled:= True; dbCNPJ.Enabled:= True; rgpTipoInstituicao.Enabled:= True; dbObservacoes.Enabled:= True; dbMatDirecao.Enabled:= True; cbxDiretor.Enabled:= True; dbMatAdjunto.Enabled:= True; cbxAdjunto.Enabled:= True; dbMatSecretario.Enabled:=True; cbxSecretario.Enabled:= True; Foto.Enabled:= True; carregarImagem.Enabled:= True; end; Neste formulário (frmEscolaOrgao), tenho também o botão Salvar (btnSalvar), cujo código é o seguinte: procedure TfrmEscolaOrgao.btnSalvarClick(Sender: TObject); begin if dm_dadosSeduc.tbl_escolaOrgao.State in [dsEdit] then begin if (MessageDlg('DESEJA SALVAR AS ALTERAÇÕES NO REGISTRO ATUAL?', mtConfirmation, [mbYes,mbNo],0) = mrYes) then begin dm_dadosSeduc.tbl_escolaOrgao.Post; btnNovo.Enabled:= True; btnSalvar.Enabled:= False; btnVoltar.Enabled:= True; btnAvancar.Enabled:= True; btnAlterar.Enabled:= True; btnPesquisar.Enabled:= True; btnCancelar.Enabled:=False; btnExcluir.Enabled:= True; btnImprimir.Enabled:= True; dbINEP.Enabled:= False; dbNomeEscola.Enabled:= False; cbxLogradouro.Enabled:= False; dbEndereco.Enabled:= False; dbNumero.Enabled:= False; dbComplemento.Enabled:= False; dbBairro.Enabled:= False; cbxCidade.Enabled:= False; cbxUF.Enabled:= False; dbCEP.Enabled:= False; dbTelefone.Enabled:= False; dbEmail.Enabled:= False; rgpLocalizacao.Enabled:= False; dbNumAlunos.Enabled:= False; dbDataCadastro.Enabled:= False; dbCadEscolar.Enabled:= False; dbPortaria.Enabled:= False; dbDataPortaria.Enabled:= False; dbCNPJ.Enabled:= False; rgpTipoInstituicao.Enabled:= False; dbObservacoes.Enabled:= False; dbMatDirecao.Enabled:= False; cbxDiretor.Enabled:= False; dbMatAdjunto.Enabled:= False; cbxAdjunto.Enabled:= False; dbMatSecretario.Enabled:=False; cbxSecretario.Enabled:= False; Foto.Enabled:= False; carregarImagem.Enabled:= False; MessageDlg('ALTERAÇÕES SALVAS COM SUCESSO!', mtInformation,[mbOK],0); end else begin dm_dadosSeduc.tbl_escolaOrgao.Cancel; MessageDlg('AS ALTERAÇÕES NÃO FORAM SALVAS!', mtInformation,[mbOK],0); end; end else begin if ((dbINEP.Text <> '') and (dbNomeEscola.Text <> '') and (cbxLogradouro.Text <> '') and (dbEndereco.Text <> '') and (dbNumero.Text <> '') and (dbComplemento.Text <> '') and (dbBairro.Text <> '') and (cbxCidade.Text <> '') and (cbxUF.Text <> '') and (dbCEP.Text <> '') and (rgpLocalizacao.ItemIndex <> -1) and (dbNumAlunos.Text <> '') and (rgpTipoInstituicao.ItemIndex <> -1)) then begin dm_dadosSeduc.tbl_escolaOrgao.Post; btnNovo.Enabled:= True; btnSalvar.Enabled:= False; btnVoltar.Enabled:= True; btnAvancar.Enabled:= True; btnAlterar.Enabled:= True; btnPesquisar.Enabled:= True; btnCancelar.Enabled:=False; btnExcluir.Enabled:= True; btnImprimir.Enabled:= True; dbINEP.Enabled:= False; dbNomeEscola.Enabled:= False; cbxLogradouro.Enabled:= False; dbEndereco.Enabled:= False; dbNumero.Enabled:= False; dbComplemento.Enabled:= False; dbBairro.Enabled:= False; cbxCidade.Enabled:= False; cbxUF.Enabled:= False; dbCEP.Enabled:= False; dbTelefone.Enabled:= False; dbEmail.Enabled:= False; rgpLocalizacao.Enabled:= False; dbNumAlunos.Enabled:= False; dbDataCadastro.Enabled:= False; dbCadEscolar.Enabled:= False; dbPortaria.Enabled:= False; dbDataPortaria.Enabled:= False; dbCNPJ.Enabled:= False; rgpTipoInstituicao.Enabled:= False; dbObservacoes.Enabled:= False; dbMatDirecao.Enabled:= False; cbxDiretor.Enabled:= False; dbMatAdjunto.Enabled:= False; cbxAdjunto.Enabled:= False; dbMatSecretario.Enabled:=False; cbxSecretario.Enabled:= False; Foto.Enabled:= False; carregarImagem.Enabled:= False; MessageDlg('ESCOLA OU ÓRGÃO CADASTRADO(A) COM SUCESSO!',mtInformation,[mbOK],0); end else begin MessageDlg('ERRO AO CADASTRAR: CAMPO OBRIGATÓRIO NÃO PREENCHIDO!', mtError,[mbOK],0); end; end; end; O problema é o seguinte, quando clico no botão Alterar e realizo alguma alteração em qualquer campo desse formulário (com exceção dos campos Diretor, Diretor Adjunto e Secretário) e clico no botão Salvar tudo ocorre bem. No entanto, quando essa alteração é em um dos campos Diretor, Diretor Adjunto ou Secretário, então aparece o seguinte erro: "Project SeducLi.exe raised exception class EDatabaseError with message 'tbl_escolaOrgao: Dataset not in edit or insert mode'. Process stopped. Use Step or Run to continue." Alguém já passou por uma experiência semelhante? Como resolver?
  10. HELENO de Sant'Anna

    Campo calculado no FIREBIRD

    Mas eu trouxe o código, ou seja, na tabela escolaOrgao, no firebird, consta o código do diretor (e não o nome) através de uma chave estrangeira. No formulário é que aparece o nome através de um DBLokupComboBox.
  11. HELENO de Sant'Anna

    Campo calculado no FIREBIRD

    Tabela funcionarios - Chave primaria: fun_codigo integer not null Tabela escolaOrgao - Chave estrangeira: esc_diretor integer Então tá tudo ok com relação a esse ponto. Estou quase decidido a retirar o campo esc_diretor da tabela escolaOrgao, mas aí fica muito estranho ter uma tabela de cadastro de escolas sem o nome do diretor.
  12. HELENO de Sant'Anna

    Campo calculado no FIREBIRD

    Fiz as alterações que você propos Motta e continua apresentando o mesmo erro: ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCADJUNTO_FK" FOREIGN KEY ("ESC_ADJUNTO") REFERENCES "FUNCIONARIOS" ("FUN_CODIGO"); ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCCID_FK" FOREIGN KEY ("ESC_CIDADE") REFERENCES "CIDADES" ("CID_CODIGO"); ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCDIRETOR_FK" FOREIGN KEY ("ESC_DIRETOR") REFERENCES "FUNCIONARIOS" ("FUN_CODIGO"); ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCESTADO_FK" FOREIGN KEY ("ESC_ESTADO") REFERENCES "ESTADOS" ("EST_CODIGO"); ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCSECRETARIO_FK" FOREIGN KEY ("ESC_SECRETARIO") REFERENCES "FUNCIONARIOS" ("FUN_CODIGO"); ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESLOG_FK" FOREIGN KEY ("ESC_LOGRADOURO") REFERENCES "LOGRADOUROS" ("LOG_CODIGO"); IMPORTANTE: o mais engraçado é que quando eu faço qualquer alteração na tabela escolaOrgao e dou um post ela salva normalmente as alterações, mas quando essa alteração diz respeito ao diretor de uma escola aí dá aquele erro. Mas descobri uma coisa importante, o problema deve ser no delphi, porque se eu faço as alterções diretamente no banco (firebird) e dou um commit não dá erro. Porém não entendo porque tá dando esse erro no delphi, porque, como já falei a cima, no formulário Escolas/Órgão, se eu faço uma alteração em qualquer outro campo e salvo dá tudo normal, porém se essa alteração é no campo diretor, diretor adjunto ou chefe de secretaria então aparece aquele erro: Project SeducLi.exe raised exception class EDatabaseError with message 'tbl_escolaOrgao: Dataset not in edit or insert mode'. Process stopped. Use Step or Run to continue.
  13. HELENO de Sant'Anna

    Campo calculado no FIREBIRD

    TABELA: escolaOrgao /* Table: ESCOLAORGAO, Owner: SYSDBA */ CREATE TABLE "ESCOLAORGAO" ( "ESC_CODIGO" INTEGER NOT NULL, "ESC_NOME" VARCHAR(50) NOT NULL, "ESC_CODINEP" VARCHAR(8), "ESC_LOGRADOURO" INTEGER NOT NULL, "ESC_ENDERECO" VARCHAR(60), "ESC_NUMERO" VARCHAR(10), "ESC_BAIRRO" VARCHAR(40), "ESC_CIDADE" INTEGER NOT NULL, "ESC_ESTADO" INTEGER NOT NULL, "ESC_TELEFONE" VARCHAR(15), "ESC_EMAIL" VARCHAR(40), "ESC_CEP" VARCHAR(9), "ESC_ALUNOS" VARCHAR(5), "ESC_LOCALIZACAO" CHAR(1), "ESC_DATACADASTRO" TIMESTAMP, "ESC_OBSERVACOES" VARCHAR(150), "ESC_CNPJ" VARCHAR(18), "ESC_LOGO" VARCHAR(50), "ESC_CADASTROESCOLAR" VARCHAR(10), "ESC_PORTARIA" VARCHAR(10), "ESC_DATAPORTARIA" TIMESTAMP, "ESC_COMPLEMENTO" VARCHAR(20), "ESC_TIPOINSTITUICAO" CHAR(1), "ESC_DIRETOR" VARCHAR(8), "ESC_ADJUNTO" VARCHAR(8), "ESC_SECRETARIO" VARCHAR(8), CONSTRAINT "ESCOLAORGAO_PK" PRIMARY KEY ("ESC_CODIGO") ); /* Index definitions for ESCOLAORGAO */ CREATE INDEX "IND_COD_ESCOLAORGAO" ON "ESCOLAORGAO"("ESC_CODIGO"); CREATE INDEX "IND_NOME_ESCOLAORGAO" ON "ESCOLAORGAO"("ESC_NOME"); ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCADJUNTO_FK" FOREIGN KEY ("ESC_ADJUNTO") REFERENCES "FUNCIONARIOS" ("FUN_MATRICULA"); ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCCID_FK" FOREIGN KEY ("ESC_CIDADE") REFERENCES "CIDADES" ("CID_CODIGO"); ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCDIRETOR_FK" FOREIGN KEY ("ESC_DIRETOR") REFERENCES "FUNCIONARIOS" ("FUN_MATRICULA"); ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCESTADO_FK" FOREIGN KEY ("ESC_ESTADO") REFERENCES "ESTADOS" ("EST_CODIGO"); ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCSECRETARIO_FK" FOREIGN KEY ("ESC_SECRETARIO") REFERENCES "FUNCIONARIOS" ("FUN_MATRICULA"); ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESLOG_FK" FOREIGN KEY ("ESC_LOGRADOURO") REFERENCES "LOGRADOUROS" ("LOG_CODIGO"); ---------------------------------------------------------------------------------------------------------------------------------------------------- TABELA: funcionarios /* Table: FUNCIONARIOS, Owner: SYSDBA */ CREATE TABLE "FUNCIONARIOS" ( "FUN_CODIGO" INTEGER NOT NULL, "FUN_NOME" VARCHAR(60) NOT NULL, "FUN_VINCULOEMPREGATICIO" INTEGER NOT NULL, "FUN_CARGO" INTEGER NOT NULL, "FUN_FUNCAO" INTEGER NOT NULL, "FUN_DATAADMISSAO" TIMESTAMP, "FUN_ESCOLAORGAO" INTEGER NOT NULL, "FUN_CARGAHORARIA" VARCHAR(7), "FUN_TURNO" INTEGER, "FUN_PISPASEP" VARCHAR(15), "FUN_CTPS" VARCHAR(12), "FUN_FUNDEB" CHAR(1), "FUN_LOGRADOURO" INTEGER, "FUN_ENDERECO" VARCHAR(60), "FUN_NUMERO" VARCHAR(10), "FUN_BAIRRO" VARCHAR(40), "FUN_CIDADE" INTEGER NOT NULL, "FUN_ESTADO" INTEGER NOT NULL, "FUN_CEP" VARCHAR(9), "FUN_RG" VARCHAR(12), "FUN_ORGEXP" INTEGER, "FUN_UF" INTEGER, "FUN_CPF" VARCHAR(14), "FUN_DATANASCIMENTO" TIMESTAMP, "FUN_NATURALIDADE" INTEGER, "FUN_TELEFONE" VARCHAR(15), "FUN_CELULAR" VARCHAR(15), "FUN_EMAIL" VARCHAR(30), "FUN_OBS" VARCHAR(200), "FUN_ESCOLARIDADE" INTEGER, "FUN_RESERVISTA" VARCHAR(13), "FUN_TITULOELEITOR" VARCHAR(13), "FUN_ZONA" VARCHAR(3), "FUN_SECAO" VARCHAR(4), "FUN_PAI" VARCHAR(60), "FUN_MAE" VARCHAR(60), "FUN_SEXO" CHAR(1), "FUN_PORTARIA" VARCHAR(8), "FUN_CONTRATO" VARCHAR(8), "FUN_ESTADOCIVIL" INTEGER, "FUN_BANCO" VARCHAR(20), "FUN_AGENCIA" VARCHAR(10), "FUN_CONTA" VARCHAR(10), "FUN_PROFPOLIVALENTE" CHAR(1), "FUN_EDUCACAOCAMPO" CHAR(1), "FUN_DATACADASTRO" TIMESTAMP, "FUN_FOTO" VARCHAR(50), "FUN_MATRICULA" VARCHAR(8), "FUN_COMPLEMENTO" VARCHAR(20), "FUN_UFNAT" INTEGER, "FUN_SALAAULA" CHAR(1), CONSTRAINT "FUNCIONARIOS_PK" PRIMARY KEY ("FUN_CODIGO"), CONSTRAINT "FUN_MATRICULAUNICO" UNIQUE ("FUN_MATRICULA") ); /* Index definitions for FUNCIONARIOS */ CREATE INDEX "IND_COD_FUNCIONARIOS" ON "FUNCIONARIOS"("FUN_CODIGO"); CREATE INDEX "IND_MATRICULA_FUNCIONARIOS" ON "FUNCIONARIOS"("FUN_MATRICULA"); CREATE INDEX "IND_NOME_FUNCIONARIOS" ON "FUNCIONARIOS"("FUN_NOME"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNCAR_PK" FOREIGN KEY ("FUN_CARGO") REFERENCES "CARGOFUNCAO" ("CAR_CODIGO"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNCID_PK" FOREIGN KEY ("FUN_CIDADE") REFERENCES "CIDADES" ("CID_CODIGO"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNCIV_PK" FOREIGN KEY ("FUN_ESTADOCIVIL") REFERENCES "ESTADOCIVIL" ("CIV_CODIGO"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNESC_PK" FOREIGN KEY ("FUN_ESCOLAORGAO") REFERENCES "ESCOLAORGAO" ("ESC_CODIGO"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNEST_FK" FOREIGN KEY ("FUN_ESTADO") REFERENCES "ESTADOS" ("EST_CODIGO"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNFUNC_PK" FOREIGN KEY ("FUN_FUNCAO") REFERENCES "CARGOFUNCAO" ("CAR_CODIGO"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNLOG_PK" FOREIGN KEY ("FUN_LOGRADOURO") REFERENCES "LOGRADOUROS" ("LOG_CODIGO"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNNAT_PK" FOREIGN KEY ("FUN_NATURALIDADE") REFERENCES "CIDADES" ("CID_CODIGO"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNOEX_PK" FOREIGN KEY ("FUN_ORGEXP") REFERENCES "ORGEXPEDIDOR" ("OEX_CODIGO"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNTUR_PK" FOREIGN KEY ("FUN_TURNO") REFERENCES "TURNOS" ("TUR_CODIGO"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNUF_FK" FOREIGN KEY ("FUN_UF") REFERENCES "ESTADOS" ("EST_CODIGO"); ALTER TABLE "FUNCIONARIOS" ADD CONSTRAINT "FUNVIN_PK" FOREIGN KEY ("FUN_VINCULOEMPREGATICIO") REFERENCES "VINCULOEMPREGATICIO" ("VIN_CODIGO"); ---------------------------------------------------------------------------------------------------------------------------------------------------- DATASET: tbl_escolaOrgao no Delphi unit uEscolaOrgao; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, IBCustomDataSet, IBTable, ExtCtrls, StdCtrls, Mask, DBCtrls, Buttons, ComCtrls, StdActns, DBActns, ActnList, XPStyleActnCtrls, ActnMan, ExtDlgs; type TfrmEscolaOrgao = class(TForm) tbl_auxEscolaOrgao: TIBTable; Panel1: TPanel; btnNovo: TSpeedButton; btnSalvar: TSpeedButton; btnAlterar: TSpeedButton; btnCancelar: TSpeedButton; btnExcluir: TSpeedButton; btnPesquisar: TSpeedButton; btnImprimir: TSpeedButton; DataSource1: TDataSource; Label1: TLabel; dbCodigo: TDBEdit; Label2: TLabel; dbINEP: TDBEdit; Label3: TLabel; dbNomeEscola: TDBEdit; PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet3: TTabSheet; Label4: TLabel; dbEndereco: TDBEdit; Label6: TLabel; dbNumero: TDBEdit; Label7: TLabel; dbComplemento: TDBEdit; Label8: TLabel; dbBairro: TDBEdit; Label9: TLabel; Label10: TLabel; Label11: TLabel; dbCEP: TDBEdit; Label12: TLabel; dbTelefone: TDBEdit; Label13: TLabel; dbEmail: TDBEdit; Label18: TLabel; dbLogo: TDBEdit; Label23: TLabel; dbCNPJ: TDBEdit; Label24: TLabel; dbCadEscolar: TDBEdit; Label25: TLabel; dbPortaria: TDBEdit; Label26: TLabel; Label27: TLabel; dbObservacoes: TDBEdit; Foto: TImage; cbxLogradouro: TDBLookupComboBox; cbxCidade: TDBLookupComboBox; cbxUF: TDBLookupComboBox; rgpLocalizacao: TDBRadioGroup; btnRetornar: TSpeedButton; carregarImagem: TBitBtn; abreFoto: TOpenPictureDialog; tbl_auxEscolaOrgaoESC_CODIGO: TIntegerField; btnVoltar: TSpeedButton; btnAvancar: TSpeedButton; rgpTipoInstituicao: TDBRadioGroup; Label5: TLabel; dbDataCadastro: TDBEdit; dbDataPortaria: TDBEdit; Label14: TLabel; dbNumAlunos: TDBEdit; TabSheet2: TTabSheet; GroupBox1: TGroupBox; Label15: TLabel; dbMatDirecao: TDBEdit; GroupBox2: TGroupBox; Label16: TLabel; dbMatAdjunto: TDBEdit; GroupBox3: TGroupBox; Label17: TLabel; dbMatSecretario: TDBEdit; cbxDiretor: TDBLookupComboBox; cbxAdjunto: TDBLookupComboBox; cbxSecretario: TDBLookupComboBox; Label19: TLabel; Label20: TLabel; Label21: TLabel; procedure FormShow(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure carregarImagemClick(Sender: TObject); procedure DBLookupComboBox8Click(Sender: TObject); procedure btnRetornarClick(Sender: TObject); procedure btnPesquisarClick(Sender: TObject); procedure dbDataCadastroEnter(Sender: TObject); procedure FormCreate(Sender: TObject); procedure btnNovoClick(Sender: TObject); procedure btnSalvarClick(Sender: TObject); procedure btnVoltarClick(Sender: TObject); procedure btnAvancarClick(Sender: TObject); procedure btnAlterarClick(Sender: TObject); procedure btnCancelarClick(Sender: TObject); procedure btnExcluirClick(Sender: TObject); procedure btnImprimirClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmEscolaOrgao: TfrmEscolaOrgao; implementation uses uDM_DadadosSeduc, uConEscola, uConEscolaOrgao, uRptFichaEscola; {$R *.dfm} procedure TfrmEscolaOrgao.FormShow(Sender: TObject); begin dm_dadosSeduc.tbl_escolaOrgao.Open; dm_dadosSeduc.tbl_logradouros.Open; dm_dadosSeduc.tbl_cidades.Open; dm_dadosSeduc.tbl_estados.Open; dm_dadosSeduc.tbl_funcionarios.Open; if (dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value <> '') then Foto.Picture.LoadFromFile(dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value); end; procedure TfrmEscolaOrgao.FormClose(Sender: TObject; var Action: TCloseAction); begin dm_dadosSeduc.tbl_escolaOrgao.Close; dm_dadosSeduc.tbl_logradouros.Close; dm_dadosSeduc.tbl_cidades.Close; dm_dadosSeduc.tbl_estados.Close; dm_dadosSeduc.tbl_funcionarios.Close; end; procedure TfrmEscolaOrgao.carregarImagemClick(Sender: TObject); begin if abreFoto.Execute then begin Foto.Picture.LoadFromFile(abreFoto.FileName); dm_dadosSeduc.tbl_escolaOrgao.Edit; dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value:=abreFoto.FileName; end; end; procedure TfrmEscolaOrgao.DBLookupComboBox8Click(Sender: TObject); begin if (dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value <> '') then Foto.Picture.LoadFromFile(dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value); end; procedure TfrmEscolaOrgao.btnRetornarClick(Sender: TObject); begin Close; end; procedure TfrmEscolaOrgao.btnPesquisarClick(Sender: TObject); begin try Application.CreateForm(TfrmConEscolaOrgao,frmConEscolaOrgao); frmConEscolaOrgao.ShowModal; finally FreeAndNil(frmConEscolaOrgao); end; end; procedure TfrmEscolaOrgao.dbDataCadastroEnter(Sender: TObject); begin dm_dadosSeduc.tbl_escolaOrgaoESC_DATACADASTRO.Value:= Date; end; procedure TfrmEscolaOrgao.FormCreate(Sender: TObject); begin btnNovo.Enabled:= True; btnSalvar.Enabled:= False; btnVoltar.Enabled:= True; btnAvancar.Enabled:= True; btnAlterar.Enabled:= True; btnPesquisar.Enabled:= True; btnCancelar.Enabled:= False; btnExcluir.Enabled:= True; btnImprimir.Enabled:= True; dbINEP.Enabled:= False; dbNomeEscola.Enabled:= False; cbxLogradouro.Enabled:= False; dbEndereco.Enabled:= False; dbNumero.Enabled:= False; dbComplemento.Enabled:= False; dbBairro.Enabled:= False; cbxCidade.Enabled:= False; cbxUF.Enabled:= False; dbCEP.Enabled:= False; dbTelefone.Enabled:= False; dbEmail.Enabled:= False; rgpLocalizacao.Enabled:= False; dbNumAlunos.Enabled:= False; dbDataCadastro.Enabled:= False; dbCadEscolar.Enabled:= False; dbPortaria.Enabled:= False; dbDataPortaria.Enabled:= False; dbCNPJ.Enabled:= False; rgpTipoInstituicao.Enabled:= False; dbObservacoes.Enabled:= False; dbMatDirecao.Enabled:= False; cbxDiretor.Enabled:= False; dbMatAdjunto.Enabled:= False; cbxAdjunto.Enabled:= False; dbMatSecretario.Enabled:=False; cbxSecretario.Enabled:= False; Foto.Enabled:= False; carregarImagem.Enabled:= False; end; procedure TfrmEscolaOrgao.btnNovoClick(Sender: TObject); var codAut:integer; begin dm_dadosSeduc.tbl_escolaOrgao.Append; dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value:='C:\SeducLI\Imagens\Fotos\sem_foto.jpg'; Foto.Picture.LoadFromFile(dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value); tbl_auxEscolaOrgao.Open; tbl_auxEscolaOrgao.Last; codAut:= tbl_auxEscolaOrgaoESC_CODIGO.Value + 1; dm_dadosSeduc.tbl_escolaOrgaoESC_CODIGO.Value:=codAut; tbl_auxEscolaOrgao.Close; dbINEP.Enabled:= True; dbINEP.SetFocus; btnNovo.Enabled:= False; btnSalvar.Enabled:= True; btnVoltar.Enabled:= False; btnAvancar.Enabled:= False; btnAlterar.Enabled:= False; btnPesquisar.Enabled:= False; btnCancelar.Enabled:= True; btnExcluir.Enabled:= False; btnImprimir.Enabled:= False; dbNomeEscola.Enabled:= True; cbxLogradouro.Enabled:= True; dbEndereco.Enabled:= True; dbNumero.Enabled:= True; dbComplemento.Enabled:= True; dbBairro.Enabled:= True; cbxCidade.Enabled:= True; cbxUF.Enabled:= True; dbCEP.Enabled:= True; dbTelefone.Enabled:= True; dbEmail.Enabled:= True; rgpLocalizacao.Enabled:= True; dbNumAlunos.Enabled:= True; dbDataCadastro.Enabled:= True; dbCadEscolar.Enabled:= True; dbPortaria.Enabled:= True; dbDataPortaria.Enabled:= True; dbCNPJ.Enabled:= True; rgpTipoInstituicao.Enabled:= True; dbObservacoes.Enabled:= True; dbMatDirecao.Enabled:= True; cbxDiretor.Enabled:= True; dbMatAdjunto.Enabled:= True; cbxAdjunto.Enabled:= True; dbMatSecretario.Enabled:=True; cbxSecretario.Enabled:= True; Foto.Enabled:= True; carregarImagem.Enabled:= True; end; procedure TfrmEscolaOrgao.btnSalvarClick(Sender: TObject); begin if dm_dadosSeduc.tbl_escolaOrgao.State in [dsEdit] then begin if (MessageDlg('DESEJA SALVAR AS ALTERAÇÕES NO REGISTRO ATUAL?', mtConfirmation, [mbYes,mbNo],0) = mrYes) then begin dm_dadosSeduc.tbl_escolaOrgao.Post; btnNovo.Enabled:= True; btnSalvar.Enabled:= False; btnVoltar.Enabled:= True; btnAvancar.Enabled:= True; btnAlterar.Enabled:= True; btnPesquisar.Enabled:= True; btnCancelar.Enabled:=False; btnExcluir.Enabled:= True; btnImprimir.Enabled:= True; dbINEP.Enabled:= False; dbNomeEscola.Enabled:= False; cbxLogradouro.Enabled:= False; dbEndereco.Enabled:= False; dbNumero.Enabled:= False; dbComplemento.Enabled:= False; dbBairro.Enabled:= False; cbxCidade.Enabled:= False; cbxUF.Enabled:= False; dbCEP.Enabled:= False; dbTelefone.Enabled:= False; dbEmail.Enabled:= False; rgpLocalizacao.Enabled:= False; dbNumAlunos.Enabled:= False; dbDataCadastro.Enabled:= False; dbCadEscolar.Enabled:= False; dbPortaria.Enabled:= False; dbDataPortaria.Enabled:= False; dbCNPJ.Enabled:= False; rgpTipoInstituicao.Enabled:= False; dbObservacoes.Enabled:= False; dbMatDirecao.Enabled:= False; cbxDiretor.Enabled:= False; dbMatAdjunto.Enabled:= False; cbxAdjunto.Enabled:= False; dbMatSecretario.Enabled:=False; cbxSecretario.Enabled:= False; Foto.Enabled:= False; carregarImagem.Enabled:= False; MessageDlg('ALTERAÇÕES SALVAS COM SUCESSO!', mtInformation,[mbOK],0); end else begin dm_dadosSeduc.tbl_escolaOrgao.Cancel; MessageDlg('AS ALTERAÇÕES NÃO FORAM SALVAS!', mtInformation,[mbOK],0); end; end else begin if ((dbINEP.Text <> '') and (dbNomeEscola.Text <> '') and (cbxLogradouro.Text <> '') and (dbEndereco.Text <> '') and (dbNumero.Text <> '') and (dbComplemento.Text <> '') and (dbBairro.Text <> '') and (cbxCidade.Text <> '') and (cbxUF.Text <> '') and (dbCEP.Text <> '') and (rgpLocalizacao.ItemIndex <> -1) and (dbNumAlunos.Text <> '') and (rgpTipoInstituicao.ItemIndex <> -1)) then begin dm_dadosSeduc.tbl_escolaOrgao.Post; btnNovo.Enabled:= True; btnSalvar.Enabled:= False; btnVoltar.Enabled:= True; btnAvancar.Enabled:= True; btnAlterar.Enabled:= True; btnPesquisar.Enabled:= True; btnCancelar.Enabled:=False; btnExcluir.Enabled:= True; btnImprimir.Enabled:= True; dbINEP.Enabled:= False; dbNomeEscola.Enabled:= False; cbxLogradouro.Enabled:= False; dbEndereco.Enabled:= False; dbNumero.Enabled:= False; dbComplemento.Enabled:= False; dbBairro.Enabled:= False; cbxCidade.Enabled:= False; cbxUF.Enabled:= False; dbCEP.Enabled:= False; dbTelefone.Enabled:= False; dbEmail.Enabled:= False; rgpLocalizacao.Enabled:= False; dbNumAlunos.Enabled:= False; dbDataCadastro.Enabled:= False; dbCadEscolar.Enabled:= False; dbPortaria.Enabled:= False; dbDataPortaria.Enabled:= False; dbCNPJ.Enabled:= False; rgpTipoInstituicao.Enabled:= False; dbObservacoes.Enabled:= False; dbMatDirecao.Enabled:= False; cbxDiretor.Enabled:= False; dbMatAdjunto.Enabled:= False; cbxAdjunto.Enabled:= False; dbMatSecretario.Enabled:=False; cbxSecretario.Enabled:= False; Foto.Enabled:= False; carregarImagem.Enabled:= False; MessageDlg('ESCOLA OU ÓRGÃO CADASTRADO(A) COM SUCESSO!',mtInformation,[mbOK],0); end else begin MessageDlg('ERRO AO CADASTRAR: CAMPO OBRIGATÓRIO NÃO PREENCHIDO!', mtError,[mbOK],0); end; end; end; procedure TfrmEscolaOrgao.btnVoltarClick(Sender: TObject); begin dm_dadosSeduc.tbl_escolaOrgao.Prior; btnAvancar.Enabled:= True; if dm_dadosSeduc.tbl_escolaOrgao.Bof then begin btnVoltar.Enabled:= False; end; if (dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value <> '') then begin Foto.Picture.LoadFromFile(dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value); end; end; procedure TfrmEscolaOrgao.btnAvancarClick(Sender: TObject); begin dm_dadosSeduc.tbl_escolaOrgao.Next; btnVoltar.Enabled:= True; if dm_dadosSeduc.tbl_escolaOrgao.Eof then begin btnAvancar.Enabled:= False; end; if (dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value <> '') then begin Foto.Picture.LoadFromFile(dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value); end; end; procedure TfrmEscolaOrgao.btnAlterarClick(Sender: TObject); begin dm_dadosSeduc.tbl_escolaOrgao.Edit; btnNovo.Enabled:= False; btnSalvar.Enabled:= True; btnVoltar.Enabled:= False; btnAlterar.Enabled:= False; btnPesquisar.Enabled:= False; btnCancelar.Enabled:= True; btnExcluir.Enabled:= False; btnImprimir.Enabled:= False; dbINEP.Enabled:= True; dbNomeEscola.Enabled:= True; cbxLogradouro.Enabled:= True; dbEndereco.Enabled:= True; dbNumero.Enabled:= True; dbComplemento.Enabled:= True; dbBairro.Enabled:= True; cbxCidade.Enabled:= True; cbxUF.Enabled:= False; dbCEP.Enabled:= True; dbTelefone.Enabled:= True; dbEmail.Enabled:= True; rgpLocalizacao.Enabled:= True; dbNumAlunos.Enabled:= True; dbDataCadastro.Enabled:= True; dbCadEscolar.Enabled:= True; dbPortaria.Enabled:= True; dbDataPortaria.Enabled:= True; dbCNPJ.Enabled:= True; rgpTipoInstituicao.Enabled:= True; dbObservacoes.Enabled:= True; dbMatDirecao.Enabled:= True; cbxDiretor.Enabled:= True; dbMatAdjunto.Enabled:= True; cbxAdjunto.Enabled:= True; dbMatSecretario.Enabled:=True; cbxSecretario.Enabled:= True; Foto.Enabled:= True; carregarImagem.Enabled:= True; end; procedure TfrmEscolaOrgao.btnCancelarClick(Sender: TObject); begin dm_dadosSeduc.tbl_escolaOrgao.Cancel; if (dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value <> '') then begin Foto.Picture.LoadFromFile(dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value); end; btnNovo.Enabled:= True; btnSalvar.Enabled:= False; btnVoltar.Enabled:= True; btnAvancar.Enabled:= True; btnAlterar.Enabled:= True; btnPesquisar.Enabled:= True; btnCancelar.Enabled:= False; btnExcluir.Enabled:= True; btnImprimir.Enabled:= True; dbINEP.Enabled:= False; dbNomeEscola.Enabled:= False; cbxLogradouro.Enabled:= False; dbEndereco.Enabled:= False; dbNumero.Enabled:= False; dbComplemento.Enabled:= False; dbBairro.Enabled:= False; cbxCidade.Enabled:= False; cbxUF.Enabled:= False; dbCEP.Enabled:= False; dbTelefone.Enabled:= False; dbEmail.Enabled:= False; rgpLocalizacao.Enabled:= False; dbNumAlunos.Enabled:= False; dbDataCadastro.Enabled:= False; dbCadEscolar.Enabled:= False; dbPortaria.Enabled:= False; dbDataPortaria.Enabled:= False; dbCNPJ.Enabled:= False; rgpTipoInstituicao.Enabled:= False; dbObservacoes.Enabled:= False; dbMatDirecao.Enabled:= False; cbxDiretor.Enabled:= False; dbMatAdjunto.Enabled:= False; cbxAdjunto.Enabled:= False; dbMatSecretario.Enabled:=False; cbxSecretario.Enabled:= False; Foto.Enabled:= False; carregarImagem.Enabled:= False; end; procedure TfrmEscolaOrgao.btnExcluirClick(Sender: TObject); begin if (MessageDlg('DESEJA EXCLUIR O CADASTRO DESTE/DESTA ESCOLA/ÓRGÃO?', mtConfirmation, [mbYes, mbNo], 0) = mrYes) then begin dm_dadosSeduc.tbl_escolaOrgao.Delete; if (dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value <> '') then begin Foto.Picture.LoadFromFile(dm_dadosSeduc.tbl_escolaOrgaoESC_LOGO.Value); end; MessageDlg('CADASTRO DE ESCOLA OU ÓRGÃO EXCLUÍDO COM SUCESSO!',mtInformation,[mbOK],0); Exit; end else begin MessageDlg('CADASTRO DE ESCOLA/ÓRGÃO NÃO FOI EXCLUÍDO!',mtInformation,[mbOK],0); Exit; end; end; procedure TfrmEscolaOrgao.btnImprimirClick(Sender: TObject); begin try Application.CreateForm(TfrmRptFichaEscola,frmRptFichaEscola); frmRptFichaEscola.QuickRep1.Preview; finally FreeAndNil(frmRptFichaEscola); end; end; end. --------------------------------------------------------------------------------------------------------------------------------------------------- IMPORTANTE: erro quando que aparece toda vez que vou cadastrar o diretor no formulário frmEscolaOrgao, no Delphi: Project SeducLi.exe raised exception class EDatabaseError with message 'tbl_escolaOrgao: Dataset not in edit or insert mode'. Process stopped. Use Step or Run to continue. OBSERVAÇÃO IMPORTANTE: Apesar do erro, os dados são cadastrados na tabela escolaOrgão, no firebird.
  14. HELENO de Sant'Anna

    Campo calculado no FIREBIRD

    Eu fiz isso, mas não sei porque cargas d'água não tava dando erro.
  15. HELENO de Sant'Anna

    Campo calculado no FIREBIRD

    Veja Motta, o campo fun_escolaOrgão da tabela funcionarios é um campo integer que está ligado ao campo esc_código da tabela escolaOrgao. O problema que ocorreu é que o campo esc_diretor da tabela escolaOrgao também era um campo integer que estava ligado ao campo fun_codigo da tabela funcionarios. Aí, acho que tava dando um conflito, sei lá! Então resolvi deletar o campo físico esc_diretor da tabela escolaOrgao e sustituí-lo por um campo calculado através do COMPUTED BY e utilizando um select dentro desse COMPUTED BY para apenas exibir o nome do diretor nas consultas que fazem referência a tabela escolaOrgao. O que eu não estou conseguindo fazer é encontrar um select que retorne o diretor conforme foi cadastrado na tabela funcionarios. Veja detalhes do problema. Será que não tem solução? https://drive.google.com/file/d/0B6HCR6gfW4mRSzdMdnpMd3hBMVE/view?usp=sharing Tentei esse código agora pouco mas retorna o mesmo diretor para todas as escolas: alter table escolaOrgao add esc_diretor computed by ((select fun_nome from funcionarios join cargoFuncao on (fun_codigo = car_codigo) join escolaOrgao on (fun_escolaOrgao = esc_codigo) where car_nome = 'DIRETOR(A)' and fun_escolaOrgao = esc_codigo));
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.