Fórum Duvida com DBedit #265493

16/01/2005

0

Como manter um dado digitado em um dbedit para que não seja necessario informar esse numero todas as vezes.
Ex.: eu informo o numero da matricula uma vez no dbedit e ele se mantem ate eu informar outro, pois cada numero de matricula tem direito a fazer varios cursos então não quero ter que informar esse numero toda vez que for informar um novo curso. Obrigado Se possivel passo a passo


Cláudiogyn

Cláudiogyn

Responder

Posts

16/01/2005

Bon Jovi

O dbEdit do campo matricula deveria estar vinculado a um datasource q referencie a tabela de matricula e não ao datasource q referencie a tabela de curso. Senão.. use TEdit.


Responder

Gostei + 0

16/01/2005

Cláudiogyn

E como manter o numero da matricula para varios cursos, sem ter que digitar


Responder

Gostei + 0

16/01/2005

Carlosrm

claudiogyn

Restringindo a resposta ao foco da sua mensagem, quero contribuir com o seguinte:

Essa questão se refere à inclusão de cadastro, quando há muita repetição do conteúdo de alguns campos.
Realmente os digitadores ficam furiosos com a perda de tempo que é ficar digitando a mesma coisa a cada novo cadastro. E culpam, com toda a razão, o descuidado programador...
Existem diversas soluções possíveis, melhor adequadas a cada programa e rotinas envolvidas.
Uma solução pode ser armazenar o nome do último curso gravado em uma variável e passar essa informação para o dbeditNomeDoCurso, assim que for iniciar uma nova matrícula.
Por exemplo:
unit U_Matriculas;
... ... ...

var
F_Matriculas : T_FMatriculas;
ultimoCurso : string;

... ... ...

procedure TF_Matriculas.FormShow(...)
begin
... ... ...
ultimoCurso := tabelaCursos.FieldByName(´NomeDoCurso´).AsString;
... ... ...
end;

procedure TF_Matriculas.botaoIncluirClick(...);
begin
... ... ...
tabelaMatriculas.Append;
dbeditNomeDoCurso.text := ultimoCurso;
... ... ...
end;

procedure TF_Matriculas.botaoGravarClick(...)
begin
... ... ...
ultimoCurso := dbeditNomeDoCurso.text;
// para o caso de vc alterar o nome do curso...
... ... ...
tabelaMatriculas.post;
... ... ...
end;

Repito, há muitas soluções possíveis. A melhor será aquela que (sem comprometer a integridade e performance do seu sistema) melhor se adequar às necessidades e conforto dos usuários.

Alguns outros campos que tendem a se repetir são: data (obtida diretamente do sitema), série, turma, período, tipo de bolsa...). Vc pode usar o esquema acima.
Ou, como outra alternativa, usar simultaneamente um ComboBox e um Dbedit para o campo NomeDoCurso.
O Combobox se tornaria visível nas operações de Inclusão. Nas outras operações, o Dbedit ficaria vísivel. No OnShow do formulário vc preencheria o ComboBox com os nomes dos cursos e quando ele estivesse visível o Dbedit estaria ´visible := false´.
Neste caso, no momento da gravação, se for Inclusão, o campo ´NomeDoCurso´ da tabela de Matrículas seria: tabelaMatriculas.FieldByName(´NomeDoCurso´).AsString := comboboxNomeDoCurso.text;
Até onde eu sei, uma boa alternativa seria usar Mestre/Detalhe. Se vc não sabe o que é isso, não se preocupe, [b:4eb915a77c]por enquanto[/b:4eb915a77c]. Atenda seu cliente, mesmo que usando técnicas não tão sofisticadas. O período de matrículas é muito curto e limitado. Resolva o problema corretamente, mesmo que usando ferramentas (técnicas) menos modernas. [b:4eb915a77c]Depois[/b:4eb915a77c] do sufoco e da solução, aí sim comece a estudar mais profundamente... Sempre vale a pena !

Se vc estiver apenas querendo ´quebrar o galho´ para agilizar o período de matrículas (muitas matrículas num curto espaço de tempo), talvez a sugestão acima, junto com as de outros colegas, ajude a encontrar uma solução satisfatória.

E observe que um sistema profissional de administração de escolas (alunos, professores, cursos, turmas, matérias, notas, faltas, dependências, mensalidades, transferências, históricos, e outros...) exigirá profissionais experientes. Pelo menos se pensarmos num sistema que venha trazer ganhos reais para a instituição. Uma das agradáveis consequências é aumentar o valor do seu trabalho!

carlosrm :wink:


Responder

Gostei + 0

16/01/2005

Bon Jovi

Depois q a matrícula estiver gravada, basta setar o dataset como ReadOnly, dependendo do processo. Depois para inserção de cursos é só pegar o Id do dataset da matricula q ficará parado na dele.

Mostre sua modelagem de dados dessa parte pra ajuda poder ficar mais precisa. E o processo q é feito na janela em questao.


Responder

Gostei + 0

16/01/2005

Cláudiogyn

É amigos não consegui, sera que eu poderia enviar o projeto por e-mail para vc me ajudar?


Responder

Gostei + 0

16/01/2005

Bon Jovi

arquivostemp2005@yahoo.com.br
Mande tb a base de dados se nao for grande, caso contrário só a script do esquema.


Responder

Gostei + 0

16/01/2005

Cláudiogyn

Acabei de enviar ele é pequeno ainda so tem um form. Obrigado


Responder

Gostei + 0

17/01/2005

Cláudiogyn

Mas alguem pode me ajudar, me envie um e-mail


Responder

Gostei + 0

17/01/2005

Cláudiogyn

Alguem pode me ajudar eu mando o sistema por e-mail?


Responder

Gostei + 0

17/01/2005

Bon Jovi

Recebi o arquivo, mas ali vc está falando sobre mais outras questões, essas extras não posso te prometer agora por nao ter arrumado tempo ainda.

Sobre a questão deste tópico, sobre o dbEdit/Matrícula, nao vi em nenhum lugar no seu projeto e base de dados onde a matrícula está.


Responder

Gostei + 0

18/01/2005

Cláudiogyn

Desculpe-me é que eu alterei o bd mas no lugar da matricula é o codcliente. Eu estou no meu trabalho agora e não tenho o projeto aqui, mas se não me engano é codcliente mesmo. Obrigado
Codcliente, curso e a quantidade.


Responder

Gostei + 0

18/01/2005

Ulisses R.l.c

Olá amigo vamos ver se posso ajudar me passe o email do Form que vc criou para suporte_rede@hotmail.com


Responder

Gostei + 0

20/01/2005

Cláudiogyn

:?:


Responder

Gostei + 0

20/01/2005

Cláudiogyn

:?:


Responder

Gostei + 0

20/01/2005

Cláudiogyn

:?:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar