Fórum Duvida com DBedit #265493
16/01/2005
0
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
Curtir tópico
+ 0Posts
16/01/2005
Bon Jovi
Gostei + 0
16/01/2005
Cláudiogyn
Gostei + 0
16/01/2005
Carlosrm
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:
Gostei + 0
16/01/2005
Bon Jovi
Mostre sua modelagem de dados dessa parte pra ajuda poder ficar mais precisa. E o processo q é feito na janela em questao.
Gostei + 0
16/01/2005
Cláudiogyn
Gostei + 0
16/01/2005
Bon Jovi
Mande tb a base de dados se nao for grande, caso contrário só a script do esquema.
Gostei + 0
16/01/2005
Cláudiogyn
Gostei + 0
17/01/2005
Cláudiogyn
Gostei + 0
17/01/2005
Cláudiogyn
Gostei + 0
17/01/2005
Bon Jovi
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á.
Gostei + 0
18/01/2005
Cláudiogyn
Codcliente, curso e a quantidade.
Gostei + 0
18/01/2005
Ulisses R.l.c
Gostei + 0
20/01/2005
Cláudiogyn
Gostei + 0
20/01/2005
Cláudiogyn
Gostei + 0
20/01/2005
Cláudiogyn
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)