GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Formulário para obter números/registros idêncticos
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
Programador Pleno

Figura de  Gallo
postado
Pessoal,
Com a ajuda do Renato Santos, pude construir um BD que está funcionando bem, mas para ficar ótimo, e sei que o tempo dele é muito escasso, gostaria se pudessem me ajudar nesse sentido.

Tenho uma tabela VIAGENS com um campo [ViagemID], Autonumeração, chave primária, e com vários outros campos. Numa segunda tabela, PASSAGEIROS, com quatro campos o primeiro é [ViagemID], inteiro longo, [Passag], texto, [Viajou], sim/não e [Setor}, texto e as tabelas estão com relacionamento um para muitos.

No momento de gravar uma viagem informo todos os dados na primeira tabela e e os possíveis passageiros nasegunda, claro que todos com o primeiro campo com o mesmo número. No dia seguinte necessito acessar a tabela Passageiros e digitar em cada um dos campos [Viajou] se a pessoa viajou de fato, pois a partir dessa informação são efetuados cálculos contábeis, etc.

Como são dezenas de viagens e passageiros por dia, existe um risco potencial de errar ou o passageiro ou a viagem.

Assim gostaria de saber se seria possível construir um formulário onde eu digitasse o número da viagem, vamos supor 876, e o formulário me mostrasse um a um apenas os registros correspondentes àquela viagem , com o demais campos com a opção “if not me.newrecord then me.campo1.enabled=false” e assim sucessivamente, só deixando habilitado o campo viajou. (esse pedacinho eu já copiei do fórum)

Em outras palavras, a gravação de um novo registro na seria normal, mas se fosse um registro cuja chave já existisse na tabela VIAGENS o único campo que ficaria habilitado na passageiros seria [VIAJOU].

Espero ter sido claro com tanta lenga-lenga.

Bom final de semana para todos.

Gervásio Gallo


Quando o homem aprender a respeitar até o menor ser da criação, seja animal ou vegetal, ninguém precisará ensiná-lo a amar seu semelhante’. Albert Schwweitzer
 
Postagens: 193 | Localização: Aracaju (SE), Brasil | Registrado: 08 April 2007Reply With QuoteReport This Post
Estagiário

postado Hide Post
Que tal criar um formulário frmViagens com um sub formulário frmPassageiros relacionados como Filho/Mestre através do campo ViagemID? Assim quando vc for em qualquer registro no form principal (ligado a tabela Viagens) vão só aparecer os registros correspondentes no subform (ligado a tabela Passageiros).

Para ser ainda melhor o seu BD, a 2a tabela deveria ser a tabela DetalhesViagem com os campos ViagemID, ClienteID, Viajou e Setor. O subform seria então frmDetalhesViagem, relacionado com frmViagens através do campo ViagemID (tem que relacionar as tabelas Viagens e DetalhesViagens primeiro, é claro). A tabela passageiros deveria só conter dados dos passageiros (ClienteID, NomeCliente, CPF, Endereço, Telefone, etc.) e relacionado com a tabela DetalhesViagem através de ClienteID (o campo ClienteID seria um campo de pesquisa na tabela DetalhesViagem)...Enfim é só uma sugestão.

Qualquer coisa retorna...

Boa sorte,
Jaime
 
Postagens: 25 | Localização: Belém-PA | Registrado: 15 May 2007Reply With QuoteReport This Post
Analista Sênior

Figura de  Renato Santos
postado Hide Post

Gallo,

Desculpe-me pela demora em auxiliá-lo.
O tempo anda curto e suas dúvidas requeriam um pouco mais de atenção.
Preparei um exemplo para você com algumas dicas que podem lhe ser úteis.
No exemplo você poderá encontar, ainda, o relatório rptAgrupado que se baseia na consulta qryAgrupado.
Você observará que a SQL foi desenvolvida com o aninhamento de outras consultas. Tal procedimento se fez necessário para solucionar o questionamento que você me enviou por e-mail.
Temo que a complexidade lhe traga alguns fios brancos, porém não se trata de algo incompreensível.
As dicas do Jaime são muito pertinentes, espero que você as utilize.
Surgindo novas dúvidas, continuo ao seu dispor.
Abraços. Feliz

 
Postagens: 1705 | Localização: Belo Horizonte | Registrado: 22 November 2002Reply With QuoteReport This Post
Programador Pleno

Figura de  Gallo
postado Hide Post
Jaime e Renato,
Obrigado a ambos pela superatenção e dicas importantíssimas. O Exemplo do Renato está "10" e espero que sirva a vários outros principiantes como eu. A sugestão do Jaime também vou implementá-la em outro BD. Talvez assim aprenda um pouco mais e deixe de incomodar tantos vocês.
Muita paz para ambos.
Gallo


Quando o homem aprender a respeitar até o menor ser da criação, seja animal ou vegetal, ninguém precisará ensiná-lo a amar seu semelhante’. Albert Schwweitzer
 
Postagens: 193 | Localização: Aracaju (SE), Brasil | Registrado: 08 April 2007Reply With QuoteReport This Post
Programador Pleno

Figura de  Gallo
postado Hide Post
Renato,
Essa é de morrer de vergonha. Como você já tinha previsto os cabelos brancos estão mais escasssos, tentando entender como você fez a coisa, mas está ficando legal. Só que tem uma coisa que não estou conseguindo entender: Estou tentando redimensionar o formulário para caber certinho na tela e ficar igual aos demais e não tem jeito. O danado do form que me enviou não aumenta, não diminui, não redimensiona, não configura a página, não quer mudar de tamanho de jeito nenhum. O que será que está havendo? Meu access é o 2000.
Paz e um abração,
Gervásio Gallo


Quando o homem aprender a respeitar até o menor ser da criação, seja animal ou vegetal, ninguém precisará ensiná-lo a amar seu semelhante’. Albert Schwweitzer
 
Postagens: 193 | Localização: Aracaju (SE), Brasil | Registrado: 08 April 2007Reply With QuoteReport This Post
Analista Sênior

Figura de  Renato Santos
postado Hide Post

Gallo,

Existem duas propriedades do formulário que podem ajudá-lo: Estilo da borda e AutoRedimensionar.
Porém sugiro que crie um novo, ao seu gosto, utilizando os recursos que você tenha gostado no exemplo que disponibilizei.
Assim, novas dúvidas surgirão e você aprenderá muito mais.
Continuo ao seu dispor. Feliz

 
Postagens: 1705 | Localização: Belo Horizonte | Registrado: 22 November 2002Reply With QuoteReport This Post
Programador Pleno

Figura de  Gallo
postado Hide Post
Renato,

Problema resolvido quanto ao formulário. Acho que é com a versão do access. Esse problema não acontece com o 2000, mas só com o 2003.

Sua rotina ficou ótima demais da conta e agora estou criando os demais relatórios e formulários. Mas gostaria que desse uma examinada em umas coisinhas:

Quando eu uso no campo “Destino” o critério “Porto Alegre”, por exemplo, ele me mostra tantas viagens quantas estejam gravadas, vamos supor duas. Tentei clicar em uma e imprimir os dados apenas daquela viagem e não funcionou. Se ambas tiverem a mesma data de saída e chegada o sistema lista ambas.

Numa outro teste localizei duas viagens, com saída em 01/01/2001, só que cliquei a data de retorno errada, um mês para a frente, e embora uma viagem tivesse retorno para 02/01/2001 e a outra para 03/01/2001, foram listadas todas as viagens no período que eu tinha informado indevidamente. Ou seja, aparentemente o sistema lista as viagens sem considerar as datas de saída e retorno de cada uma, mas pelas datas de “início” e “término” dos campos do formulário.

Acho que o problema pode estar nesse procedimento abaixo (não estranhe a mudança de alguns nomes. Estou adaptando-os para ficar semelhantes aos demais que já uso):
------------------------------------------------------------------
Private Sub btnVisualizar_Click()
Dim strReport As String

If Not IsNull(Me.cboRelatorio) And Not IsNull(Me.dtI) And Not IsNull(Me.dtF) Then
Select Case Me.cboRelatorio
Case "Custos"
strReport = "rptAgrupado"
Case "Rateio"
strReport = "rptApropriacao"
Case "Planos"
strReport = "rptSetorizado"
Case "Viagens"
strReport = "rptViagens"
End Select
DoCmd.OpenReport strReport, acViewPreview
End If
End Sub
----------------------------------------------------------------------------------------

Irmão. Desculpe o abuso. Estou mesmo estudando as suas rotinas e peço a liberdade de quando estiver tudo pronto lhe mandar pelo correio para você ver como ficou legal, tudo a partir do seu trabalho. Já mexi em consultas, tabelas, relatórios e formulários e está sendo muito bom para mim. Mas é que estou querendo deixar o sistema o melhor e o mais funcional possível possível. Conto com a generosidade de sua compreensão.


Quando o homem aprender a respeitar até o menor ser da criação, seja animal ou vegetal, ninguém precisará ensiná-lo a amar seu semelhante’. Albert Schwweitzer
 
Postagens: 193 | Localização: Aracaju (SE), Brasil | Registrado: 08 April 2007Reply With QuoteReport This Post
Analista Sênior

Figura de  Renato Santos
postado Hide Post

Gallo,

1) Os dados filtrados para visualização no formulário não interferem no resultado das consultas.
Para obter tal resultado você precisará inserir nas consultas, os critérios desejados.

2) Você determinou que os dados fossem filtrados para saídas entre as datas digitadas.

3) A rotina apresentada determina apenas a abertura dos relatórios. Os critérios para filtragem dos dados estão inseridos nas consultas.

4) Não se preocupe. Não interpreto como "abuso".
Fico feliz por poder fazer parte de sua caminhada.

Abraços fraternos. Feliz

 
Postagens: 1705 | Localização: Belo Horizonte | Registrado: 22 November 2002Reply With QuoteReport This Post
  Powered by Social Strata  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Formulário para obter números/registros idêncticos

©