Ir para conteúdo
Fórum Script Brasil
  • 0

Delphi Com Access


Lucifer

Pergunta

E aí galera...

Já baxei 2 versões do FireBird, mas antes de usa-lo vou ter que dar uma estudada, e tenho que entregar um projeto em delphi amanhã. Vamos ao problema:

Componentens utilizados:

DataModule:

01 ADOConnection

12 DataSource

12 ADOTable

Correspondem as 12 tabelas em ACCESS, este projeto trata-se de um cadastramento de empresas. Na tabela EMPRESA que possui vários campos, entre eles:

cd_empresa (código da empresa)

nm_empresa (nome da empresa)

cd_grupo_empresarial (código do grupo empresarial) -->> este código é de uma tabela chamada GRUPO_EMPRESARIAL, para uma empresa ser cadastrada este campo tem que ser preenchido obrigatóriamente, pois é um relacionamentode de 1 p/ muitos entre GRUPO_EMPRESARIAL e EMPRESA.

Resumindo: Uma empresa deve pertencer a um grupo empresarial.

Então em um formulário para cadastramento de empresas eu coloquei os campos da empresa que devem ser preenchidos: Nome da empresa, CNPJ, Chefe, Ramal, Endereço, etc... e o 1º campo a ser preenchido é o do GRUPO_EMPRESARIAL, que disponibilizei um DBLookupComboBox, alterando as seguintes propriedades:

- ListSource: DataModule2.ds_grupo_empresarial

- KeyField: nm_grupo_empresarial

Com essas propriedades são exibidos os grupos empresariais, onde o usuário clica na setinha do DBLookupComboBox e seleciona o grupo empresarial desejado. A dúvida:

Como faço para resgatar o valor do campo: cd_grupo_empresarial da tabela GRUPO_EMPRESARIAL que o usuário selecionou no DBLookupComboBox e inseri-lo no campo correspondente (cd_grupo_empresarial) da tabela EMPRESA?

A mesma coisa acontece nessa mesma tabela EMPRESA quando é necessário selecionar o UF (Estado), fiz uma tabela (UF) com todos os estados do Brasil e o usuário deve selecionar o UF de um BDLookupComboBox que está na tabela UF e ao preencher todos os campos o programa deve resgatar o código do UF selecionado (ex: 01 - SC - Santa Catarina) e inserilo no campo cd_uf na tabela EMPRESA, alguém pode dar uma força?

Obs: não estou utilizando Query, consequentemente nem SQL, estou utilizando apenas ADO TABLES. vlw

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Hm...

Sou iniciante nisso, poderia explicar qual o modo correto de configura-lo, ou indicar um material que o faça?

Outra dúvida:

Seria possível fazer um formulário sem conexão alguma com a tabela contendo apenas componentes comuns como Edits, ComboBox, Memo, entre outros ao invés de DBEdits, etc.. Neste formulário também haveria um BitBtn para inserir os dados na tabela, mas antes de fazê-lo eu criaria um código para verificar se todos os campos estão preenchidos, caso tudo esteja certo os dados seriam inseridos na tabela, a pergunta é a seguinte: Existe um meio de resgatar valores de componentes comuns e inseri-los na tabela?

Exemplo:

If (TudoOk = True) Then

Begin

DataModule2.tabela_empresa.Field[codigo_empresa]:= Edit1.Text;

DataModule2.tabela_empresa.Field[nome_empresa]:= Edit2.Text;

DataModule2.tabela_empresa.Field[endereco_empresa]:= Edit3.Text;

DataModule2.tabela_empresa.Field[ramal_empresa]:= Edit4.Text;

End;

(Sei que desse modo está errado, é apenas um exemplo...)

falou...

Link para o comentário
Compartilhar em outros sites

  • 0
Então em um formulário para cadastramento de empresas eu coloquei os campos da empresa que devem ser preenchidos: Nome da empresa, CNPJ, Chefe, Ramal, Endereço, etc... e o 1º campo a ser preenchido é o do GRUPO_EMPRESARIAL, que disponibilizei um DBLookupComboBox, alterando as seguintes propriedades:

- ListSource: DataModule2.ds_grupo_empresarial

- KeyField: nm_grupo_empresarial

Com essas propriedades são exibidos os grupos empresariais, onde o usuário clica na setinha do DBLookupComboBox e seleciona o grupo empresarial desejado. A dúvida:

Como faço para resgatar o valor do campo: cd_grupo_empresarial da tabela GRUPO_EMPRESARIAL que o usuário selecionou no DBLookupComboBox e inseri-lo no campo correspondente (cd_grupo_empresarial) da tabela EMPRESA?

Lucifer, se você quer fazer deste modo porque não está utilizando a propriedade Datasource e DataField, então para obter o campo referente a KeyField que foi selecionado, você utiliza a propriedade KeyValue (DBLookupComboBox1.KeyValue).

Seria possível fazer um formulário sem conexão alguma com a tabela contendo apenas componentes comuns como Edits, ComboBox, Memo, entre outros ao invés de DBEdits, etc.. Neste formulário também haveria um BitBtn para inserir os dados na tabela, mas antes de fazê-lo eu criaria um código para verificar se todos os campos estão preenchidos, caso tudo esteja certo os dados seriam inseridos na tabela, a pergunta é a seguinte: Existe um meio de resgatar valores de componentes comuns e inseri-los na tabela?

Exemplo:

If (TudoOk = True) Then

Begin

DataModule2.tabela_empresa.Field[codigo_empresa]:= Edit1.Text;

DataModule2.tabela_empresa.Field[nome_empresa]:= Edit2.Text;

DataModule2.tabela_empresa.Field[endereco_empresa]:= Edit3.Text;

DataModule2.tabela_empresa.Field[ramal_empresa]:= Edit4.Text;

End;

(Sei que desse modo está errado, é apenas um exemplo...)

a idéia seria esta mesma e o inverso também. Mas se esta conversão tem que ser para ontem, porque não utilizar os componentes data-aware (os TDB...) que já tem todo um mecanismo pronto?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...