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

(Resolvido) copiar os registros anterios de um subformulario


Silveiranet

Pergunta

bom dia amigos,

estou quebrando a cabeça , tah fogo!, queria criar um botão que ao clicar fizesse a copia dos registros anteriores. Os registros estão em uma tabela relacionada a outra. existem duas tabelas uma "periodo" e a outra "funcionario" elas estão assssiadas pelo codigo do periodo, então existe um formulário principal período e outro subformulario funcionario, quando abrir um novo periodo o sub funcionario esta vazio... e ai que tá , gostaria de copiar os registro do sub anterior so o campo funcionario. tentei a consulta de acrescimo mas por causa do periodo a consulta não adiciona , acredito que devo acrescentar alguma condição na consulta mas tentei vario e nada !

alguém poderia ajudar !!

valeuuuu :wacko: :wacko: :wacko:

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0

Fera você pode utilizar a função DLOOKUP() para pegar esses dados, aqui no forum tem diversos exemplos de uso da mesma, utilize a busca e caso ainda não consiga apresente mas detalhes da sua aplicação.

Link para o comentário
Compartilhar em outros sites

  • 0

então , estou tentao usar o dlookup(), na seguinte forma ,

criei um botao e no evento click deste botao coloquei o seguinte codigo :

texto30 = DLookup("funcionario", "TBTESTE")

funcionario é o campo que contem os registros que quero copiar da tabela "TBTESTE", ao clicar no botao o campo funcionario que esta selecionado da no subform esta acrescentando um regsitro com a descrição "funcionário" e nã esta carregando os registros da tabela TBTESTE,

como corrigir ? já tentei várias formas , mas nada!

valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

ok! consegui resolver parte do problema, no código estava faltando colocar entre colchetes o campo funcionario

texto30 = DLookup("[funcionario]", "TBteste"),

beleza agora ele esta retornando o registro da tabela tbTEste, só que só me retorna o primeiro registro, como faço para que ele me retorne todos os outros do campo funcionario ?

Link para o comentário
Compartilhar em outros sites

  • 0

[Então MrMALJ, criei uma consulta e troquei a tbteste pela consulta e mesmo assim só esta me retornando o primeiro registro e pelo que entendi os parametros do Dlookup não preciso pois não quero parametro tipo retorne o registro com o codigo tal, quero que retorne todos os registros , deve falatr um detalhezinho mas não to enxergando o problema

o dlookupa serve só para retornar um registro ? pois li vários tutorias e não achei nenhum que retorne todos os registros , mas vi tem várias formas de se retornar um determinado registro...

valeuu

Link para o comentário
Compartilhar em outros sites

  • 0

Veja bem Silveira, você faz a consulta em separado com os devidos critério no caso creio eu que você tenho alguma chave primária que possa ser usada para filtrar o registro desejado, a consulta pegando o registro anterior ao atual use o dlookup() apenas para recuperar os dados do registros, o critério para o filtro é você quem faz não tem como o Access saber do nada qual registro quer utilizar por par padrão ele traz o primeiro que encontrar, então se seu critério na consulta não estiver ok, esse metodo não servirá. Aconselho que você leia uma das apostilas que já foram postadas aqui no forum (usar busca) para você entender melhor a funcionalidade do access!

Link para o comentário
Compartilhar em outros sites

  • 0

ok ! entendido, mas olhe só o que eu fiz ,

criei uma consulta onde eu defini um parametro tipo qual periodo eu quero , essa consulta cria uma tabela, esta tabela tem exatamente os dados que eu preciso nem mais nem menos, desta tabela só preciso dos nomes dos funcionarios , não preciso de uma condição , pois ela foi criada exatamente na forma que preciso, bom beleza !

agora só preciso que os nomes que constam nesta tabela sejam carregados no subformulario que esta sem registros .

usando esta estrutura do dlookup()

texto30 = DLookup("[funcionario]", "tbteste") , so estou recebendo o primeiro registro da tabela criada, quero todos os registros, não preciso de critério pois quero todos, ou seja o critério é todos os registros do campo funcionário.

texto30 é o nome do textbox do meu subformulatio e que esta rcebendo o resultado do Dlookup()

tipo ---> texto30 = DLookup("[funcionario]", "tbteste", select funcionario from tbteste ), sei que esta última parte é besteira mas acho que é o que expressa melhor o que quero explicar.

talvez eu estaja dando uma volta gigante , mas se eu conseguir fazer desta forma pra mim já resolve, se der para usar o dlookup que retorne todos os registro desta tabela sem condição , seria o suficiente .

beleza MrMALJ,

cara, muitissímo obrigado por sua paciência... não manjo nada de programação , só to tentando melhorar algumas coisas aqui na empresa... e sua ajuda esta sendo de muita importância, e quando eu tiver melhor conhecimento!! terei o prazer de retribuir aos outros que precisarem...

valeuuu,

Link para o comentário
Compartilhar em outros sites

  • 0

É como disse se você tivesse pesquisado teria achado a sintaxe correta de utilizar, alguma coisa com segue abaixo:

texto30 = DLookup("[funcionario]", "tbteste", "[seuCampoParaFiltrar]=seuCritério")

Agora se vocÊ tivesse usando uma consulta em vez da propria tabela não precisaria de critéria, pois a mesma já traria os dados que você filtrou!

Agradeço se não utilizar quotes desnecessários nas resposta.

Link para o comentário
Compartilhar em outros sites

  • 0

desculpe amigo, mas dizer que não pesquisei.... não aceito não , pois esta expressão que você postou ai já utilizei, dentre outras, e não funcionou, usei várias expressões de todas as formas possiveis , testei várias e sempre tenho o mesmo resultado nas que funcionaram , só recebo o primeiro registro !

Texto30 = DLookup("[funcionario]", "consulta") == quando não retorna o primeiro registro retorna uma mensagem de erro

"VOCE CANCELOU AOPERAÇÃO ANTERIOR "

Texto30 = DLookup("[funcionario]", "TBTESTE", "[codper]=" & 30) === retorna um registro em branco

Dim t As String

t = """" & 30 & """"

Texto30 = DLookup("[funcionario]", "tbteste", "[codper]=" & t)=== retorna um registro em branco

Texto30 = DLookup("[funcionario]", "TBTESTE", "[codper]= 30") === retorna um registro em branco

dentre outras tentativas com base nos tutoriais que li , também sem acerto....

mas deixar de pesquisar não deixei não ... posso não ter entendido talvez ! mas é por isso que procurei este site , um site que pudesse ajudar a entender, se você tivesse postado esta estrutura que você fala que é a correta antes já teria te falado que tentei e não deu certo, há e antes que pense que esteja errado o relacionamento já falo que o CodPer = código periodo é o relacionamento entre a tabela funcionario e a tabela período. quero todos os funcionarios que tenham o um determinado codigo do periodo, (Texto30 = DLookup("[funcionario]", "TBTESTE", "[codper]= 30") )

e que raio é quotes???? a tah deve estar se referindo ao meus agradecimentos... beleza relaxa sem quotes daqui pra frente ! tirando esses de agora !

valeuuu

Editado por MrMALJ
Link para o comentário
Compartilhar em outros sites

  • 0

Quote é quando você cita uma das respostas já mencionadas no seu tópico, deve ser utilizada somente se houver várias e essa for relevante para o que será escrito, para os demais utilize RESPOSTA RAPIDA.

Quanto a sua como vocÊ não conseguiu, resolvi fazer um exemplo utilizando dlookup buscando dados utilizando uma consulta e outra passando os crítérios no próprio dlookup, acredito que depois disso você poderá solucionar sua duvida, descompacte e veja.

Aguardo retorno.

(anexo removido)

Link para o comentário
Compartilhar em outros sites

  • 0

MALJ,,

FINALMENTE CONSEGUI RESOLVER ESTE PROBLEMA ! MAS NÃO FOI USANDO O BENDITO DLOOKUP() ,NÃO.... LI ALGUNS TUTORIAIS SOBRE MACROS E AI ENTRE ERROS E ACERTOS CHEGUEI NO QUE EU PRECISAVA... CONSEGUI CRIAR AS MACROS PARA O QUE EU PRECISO E ESTA FUNCIONANDO PERFEITAMENTE,

O BOM É QUE APRENDI UM POUCO SOBRE O DLOOKUP() QUE SERÁ MUITO UTIL EM ALGUMAS COISAS QUE VOU PRECISAR...

VALEUUUUU MESMO PELA FORÇA AIII, AGORA VOU USAR UNS RELATÓRIOS ...E ADIVINHA VOU PRECISAR DE ALGUMAS DICAS...HEHEHEH MAS AI É OUTRO TÓPICO !

ATÉ MAIS...

Editado por Silveiranet
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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...