Ir para conteúdo
Fórum Script Brasil

Elber Carretoni

Membros
  • Total de itens

    260
  • Registro em

  • Última visita

Tudo que Elber Carretoni postou

  1. Carlo...acredito que dessa forma não seja a melhor... fiz isso uma vez, só que fiz de outra maneira: na sua própria consulta, no modo design, vai no critério do campo data o qual você quer filtrar seus dados, e lá você digita a seguinte expressão: =[Formulários]![Nome_Do_Seu_Formulário]![Nome_Do_Seu_Campo_Txt] =[Formulários]![frmEmprestimoConsultar]![txt_data_emprestimo] deu pra entender? quando você mandar executar a consulta sem estar pelo formulário, vai aparecer uma caixa de mensagem pedindo pra você inserir o valor parâmetro do campo data... mas quando você mandar abrir a consulta através do próprio formulário em que você tem o tal campo 'txt_data_emprestimo', na hora a consulta vai ser aberta com o valor digitado nesse campo... portanto, é possível você determinar o critério da consulta através de um objeto txt de um formulário... bom, se isso ainda não resolver seu problema, tenta fazer as seguintes alterações na sua programação: 'Dim stDocName As String 'Dim stLinkCriteria As String 'stDocName = "frmEmprestimoConsultar" 'stLinkCriteria = "[Data_Emprestimo]= " & me.txt_data_emprestimo 'DoCmd.OpenForm stDocName, , , stLinkCriteria [/codebox] porém, dessa forma não sei se vai funcionar, porque não cheguei a fazer os testes aqui...estou apens supondo! faça os testes aí e retorne para a comunidade o resultado da solução... abraços!
  2. Elber Carretoni

    Novo Cadastro

    opa! ótimo... sempre que precisar de qualquer coisa e eu souber, manda aí... vlw!
  3. opa...se quase conseguiu cara... nunca fiz o seu exemplo, mas akbei de realizar uns testes aqui e deu muito certinhu... no botão salvar, você faz quase igual ao que fez, só que dessa forma: If IsNull(me.caixa) = True Then me.caixa.Enabled = True Else me.caixa.Enabled = False End If ps.: use a função "éNulo", coloque o End If depois que terminar a função e não se esqueça do me. antes de declarar os objetos... agora...pra fazer a mesma coisa quando você estiver navegando pelos registros, você vai ter que fazer a mesma programação nos botões "Próximo Registro", "Registro Anterior"... pra isso, tira a Barra de Navegação do padrão access que tem embaixo de todos formulários e relatórios e crie os seus próprios botões de comando... se você não souber tirar a Barra de Navegação, vai nas Propriedades do seu FORMULÁRIO, na guia TODAS procura o item Barra de Navegação...coloca como "não" que ela já sai... aqui em baixo vou mandar um exemplo da programação de um botão "Próximo Registro" com os IF's pra fazer os campos bloquearem e desbloquearem do jeito que você quer: Private Sub Comando4_Click() On Error GoTo Err_Comando4_Click 'vai para o próximo registro DoCmd.GoToRecord , , acNext 'depois que for para o próximo registro, verificar quais campos estão em branco e habilitálos/desabilitálos If IsNull(Me.CAMPO) = True Then Me.CAMPO.Enabled = True Else Me.CAMPO.Enabled = False End If Exit_Comando4_Click: Exit Sub Err_Comando4_Click: MsgBox Err.Description Resume Exit_Comando4_Click[/codebox] como você viu, é a mesma coisa que no botão salvar... faz os testes aí e nos retorna seu resultado, ok? abraço...fique com Deus!
  4. fala akuma...tranquilo? pra ser bem sincero nunca utilizei de uma busca por like aqui no access, mas acredito que as síntaxes sqls nunca mudam... na sua linha de código, em vez de = para comparar os campos no critério, tenta colocar justamente o like... stLinkCriteria = "[usuário] like" & "'" & Me![CampoNome] & "'" vê aí o que que dá, e nos retorne...ok? abraços!
  5. AUaUHHAUHua....o problema da BIOS foi ótimo...rsrs que isso cara...não só por te ajudar...também aprendo demais aqui!! sempre que precisar, chega aí que debatemos e tento fazer o que eu souber... fique com Deus, abraços!!
  6. cara, sua dúvida está morrendo... não sei como fazer isso aí nãoo...rs... ainda não conseguiu uma solução? se sim, dá um retorno aí... abraços!
  7. wagner...o que formos solucionando pelo de e-mail, vai tentando explicar aqui, pra deixar disponível a solução pro pessoal do fórum que tiver a mesma dúvida... vlw! abraços!
  8. o problema de não cadastrar os dados na outra tabela do banco de dados para que ela apareça no relacionamento, é que você vai acabar corrompendo todo seu banco...concorda? acredito que, na tabela onde você cadastra os itens tenha mais campos em relação a este item...e estes outros campos, vão ficar sem preenchimento? não seria o caso de criar um formulário/subformulário protegido por sua senha para que se tenha uma interface mais fácil no cadastro de novos itens...sendo assim você não precisaria incluir os dados do novo item direto na tabela do banco de dados... desculpe-me se não entendi perfeitamente sua situação... se for realmente o que estou pensando e descrevi logo acima, vamos debater mais para tentar achar a melhor situação possível... aguardando retorno, abraço...
  9. bah! eu, ajudando o pessoal do fórum? AUHAUHa...se só pode tá é doido...vivo fazendo minhas gambiarras aqui, e é raro eu solucionar o problema de alguém...rs putz cara, pra ser bem sincero não tinha pensando nessa idéia...de, após confirmar a senha, fechar o form da senha e enviar o foco para o form principal...rsrs...bem esperto... mas...tem um problema... não sei se você entendeu perfeitamente minha dúvida, ou eu que sou bizonho demais e não percebi qual era sua intenção, mas...mandando o foco pra campo não consigo fazer nada... estive pensando na seguinte lógica: - se a senha for correta, fecha o form_senha, manda o foco pro um campo_qualquer e troca seu valor para X - ao abrir/ativar/focar o form_principal, verifica o valor do campo_qualquer... se for X, deleta o registro, caso contrário, num faz nada... - OU, ao alterar/enviarfoco/atualizar o campo_qualquer, verifica qual seu valor e faz a mesma função do item acima... o problema é que quando chamo um form ou mudo o valor de um campo por progamação, os eventos não funcionam... por exemplo, usando o terceiro item (aplicando o evento no campo), se eu fizesse a verificação no evento ao alterar, e enviasse por progamação que o campo_qualquer recebe X, ele altera e atualiza o campo, mas não efetua o evento... bom, a única forma que pensei pra entender o motivo que me mandou jogar o foco para o campo foi esse... é uma gambiarra boa, mas não deixa de funcionar...o problema é as barreiras que encontro! me perdoe a ignorância e a falta de conhecimentos...mas, kiki eu faço?rs bom trabalho e boa sorte aí nas suas apurações...no que der, conta comigo... abraços! vlw a atenção!!!
  10. galera...tenho a seguinte condição... em um formulário tenho uma ação que necessita de senha para poder ser executada... então, quando o usuário clica no botão para executar esta ação, eu chamo outro formulário com o campo senha e, a partir da senha dele, verifico se a mesma se encontrada correta e executo a ação... porém, essa ação eu tenho que fazer no formulário anterior, não no formulário em que digito a senha... teria como fazer alguma lógica no evento ao abrir do formulário principal e trabalhar com valores de variáveis de controle...porém, também não sei fazer o valor de uma variável declarada num form passar para outro form... a tal ação que quero executar é excluir um registro... enfim, de modo geral, o que falta é um pouco de liberdade pra poder trabalhar e interagir entre os formulários...alguém me dá uma luz? desde já, vlw a atenção!! abraços!
  11. Elber Carretoni

    Novo Cadastro

    neguim... quando você vai fazer um documento no word, você cria um arquivo NOVO em branco, e depois quando você termina você SALVA pra guardar as informações...certo? é isso o que você tem que fazer cara... primeiro você adiciona um novo registro em branco, digita os dados e depois salva... entendeu? pelo que estive reparando em sua linha de código, você está só salvando os dados...limpa os dados, e salva...limpa, e salva...é a mesma coisa que se você estivesse editando um registro, várias vezes por cima...por isso que você não consegue salvar os dados em outro registro... " DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 " agora, depende do que você queira fazer...abrir o formulário e depois criar um botão para ADICIONAR primeiro e depois outro botão pra SALVAR...ou já entrar no formulário com um novo registro em branco para depois só salvar... você pode também, assim que clicar no botão SALVAR, salvar os dados que tinha digitado e já criar um NOVO registro pra outros dados...uma espécie de rotina... qualquer coisa que você não saiba fazer ou programar, dá um toque que tentamos te ajudar melhor... abraços, fique com Deus!
  12. opa...que bom que conseguiu! qualquer coisa que eu souber, estamos aí... abraços!
  13. salve salve galera... to finalizando meu sistema, e agora acredito que apareça apenas dúvidas simples agora... tenho um formulário bloqueado...este não possui barras de navegações e nem botões para controle de registros... fiz uma rotina em que sempre na tela se está cadastrando um novo registro...então o usuário não consegue visualizar os dados anteriormente cadastrados...os campos sempre ficam em branco pedindo a entrada de dados... porém, quando uso o Scroll do mouse (botão de rolagem de tela), consigo passar de um registro pro outro e isso acaba mostrando todos os outros registros cadastrados anteriormente...tem como bloquear esta propriedade? Fica complicado chegar pro cliente e dizer pra ele não usar mouse que possua Scroll...rsrs além dessa dúvida, tenho outra menos primordial... nos botões da barra de navegação de registros ou nos botões que você mesmo cria pra navegar nos registros, quando se está no ultimo registro e se clica no botões 'próximo registro', o access insere um novo registro em branco, como se fizesse a função 'adicionar novo'... tem como retirar esta propriedade também? de qualquer forma, isso não me atrapalha muito...a primeira dúvida é o principal... vlw a atenção e a força! abraços!!!
  14. Maljjj...deu certinhu amigo!!! criei o relatório conforme dito, e no critério chave primária de minha tabela coloquei a expressão [Formulários]![MeuFormulário]![MeuCampoChavePrimária]... está funcionando que é uma beleza... e, na programação, pra gerar a impressão, usei a linha de código openreport... docmd.OpenReport "MeuFormulário", acViewNormal vlw a força... abraços!!!
  15. Opa! jóia camaleão cerrano? cara...fiz os testes aqui conforme você disse...criar um formulário para depois indicar a fonte de controle... e aqui funcionou direitinhu meu...tenta daruma olhada nas propriedades do campo que você puxa da tabela, e na fonte de controle ve se eles estão indicando o campo certo da tabela... qual versão do access você usa? pra fazer um form com mais uma tabela, você terá que criar uma consulta... crie uma consulta, indique as tabelas que você quer que apareça e coloque todos os campos...isso acho que dá certo... deve haver mais alguma forma pra criar o formulário do jeito que você quer...talvez gerando expressões e igualando campos...mas acho que fica mais complicado e é menos provável que de certo... e dae, na fonte de controle do formulário, indique a consulta que você criou, que vai aparecer todos os campos juntos...ok? só espero que dessa vez a fonte de controle do formulário dê certo...rsrs boa sorte!, abraços!
  16. Mario... estava procurando alguns artigos e encontrei alguma coisa parecida com sua dúvida... o artigo está lincado aqui no próprio fórum, como indicação de sites que justamente possam conter artigos... VB - Usando a área de transferência http://www.macoratti.net/d250902.htm pra ser bem sincero nunca utilizei deste recurso, e muito menos sei afirmar condições de versões do access...não sei também dizer se o VBA possui as tais funções citadas no tal artigo VB.... também não fiz os testes pra dizer se funciona ou não... dê uma olhada, e nos retorne! abraços,
  17. Elber Carretoni

    Novato

    paveiro...fica meio difícil te iniciar no que fazer, te indicar qual a estrutura sem saber realmente o que você quer... descreva mais como você quer que seja seu sistema, como você imagina as telas, os formulários, o relatórios, e dae agente tenta te dar uma luz... abraços,
  18. JDalcin... no post anterior eu mencionei sobre o FORMATO do campo Data/Hora... peço desculpas se me expressei mal e você não entendeu, mas é através deste formato agora que você vai definir se quer que apareça só a hora ou a data e hora juntos... continue usando a função NOW pra HORAS, e DATE pra DATAS que dá certinhu sim... você tem que mexer no formato do campo quando ele estiver no formulário...na tabela apenas não dá certo... então, quando o campo data/hora da tabela estiver no formulário, vá nas PROPRIEDADES dele, na "aba" FORMATO, e no item FORMATO selecione uma das 3 ultimas opções (Hora Completa, Hora Normal, Hora Abreviada)... por segurança, akbei de fazer os testes aqui e te garanto a solução... sobre a função interna HORA(<número>), pra ser bem sincero, não sei não cara...fiz os testes também e vi que dá erro... porém, com a dica aqui de cima você vai conseguir fazer aparecer apenas as horas, e assim acho que isso nãó será necessário... mesmo assim se você ainda quiser saber, agente tenta dar uma corrida atrás...ok? faz os testes aí e nos retorna o resultado... vlw! abração... gracias!
  19. hummm...é verdade...rsrs não tinha pensando nisso cara... ótimo raciocínio...
  20. malj...se Deus quiser amanhã de manhã vou estar mexendo nisso e dae já fexamos o tópico... a sua proposta de solução realmente é mais fácil...vou fazer os testes! abraço!
  21. _________________________________________________________________________________________ IHÁÁÁÁÁÁ...CONSEGUIIIIIIIIIIIIIIIIIIIIIIIIIIII!!!! a solução é o seguinte... andei fazendo uns testes aqui, e verifiquei que a função DLOOKUP não funcionava para comparar campos do tipo texto, apenas no tipo número...ao executar a linha de códgo com a função comparando critérios do tipo texto, o depurador enviava uma mensagem de erro indicando incompatibilidade de tipos de dados!!! a primeira idéia que tive foi transformar o campo da minha tabela para INTEIRO LONGO...porém, fazendo ainda mais uns testes, verifiquei que quando se digitava mais de 10 números (caracteres) no campo tipo inteiro longo, ele dava erro indicando também incompatibilidade de tipos na entrada de dados... (talvez vocÊ tenha digitado texto num campo número) até aqui já deu duas ressalvas: campos do tipo INTEIRO LONGO não aceitam mais que 10 caracteres...além desse limite ocorre incompatibilidade de tipos de dados; a tão famosa função DLOOKUP não funciona para comparar campos do tipo texto, apenas número......não funciona parcialmente!!! ainda aqui no fórum lendo o post sobre construção de sql em tempo de execução do mrMalj no tópico que criei sobre pesquisa avançada em sql com vários critérios simultaneamente, tive uma outra idéia na hora de construir o critério de comparação para a função dlookup... na verdade, tal função aceita sim comparações do tipo texto, desde que você UTILIZE DE ASPAS para indicar uma string!!! portanto, fiz da seguinte forma... 'declarei uma variável do tipo string para receber o valor digitado (no meu caso, RG); dim vrg as string 'mandei a variável receber o valor digitado no original campo rg; vrg = me.RG 'complementei o valor da variável vrg concatenando aspas em torno da mesma vrg = """" & vrg & """" dessa forma, o valor da variável rg não é mais simplesmente o valor que o usuário digitou no campo rg, e sim o novo valor agora é "ValorDigitadoNoCampoRG" ... AS ASPAS AGORA FAZEM PARTE DO VALOR DIGITADO NO CAMPO TAMBÉM!!! (como se o usuário tivesse colocado aspas antes e aspas depois do rg dele) sendo assim, agora só faltou usar a função DLOOKUP normalmente indicando como critério de comparação diretamente a variável VRG... Me.Nome = DLookup("[NomeCliente]", "TabelaCliente", "[RGCliente] =" & vrg) obs: a complementação da variável para gerar as aspas em volta do valor original não pode ser feita diretamente na função dlookup, pois a mesma não aceita, confundindo as aspas, conforme o post do mrMalJ sobre isntrução SQL (http://scriptbrasil.com.br/forum/index.php?showtopic=96569)[/codebox] espero que as dicas ajudem aí o pessoal que tanto também procura soluções que envolvem a tal função DLOOKUP!!! grande abraço,
  22. ok wel, hj a noite te mando um exemplo no seu e-mail sobre a função dlookup, se sobrar tempo... abraço!
  23. Camaleão... pra ser bem sincero não entendi o porque de criar caixas de textos (não-acopladas) no formulário e depois vinculá-las à campos da tabela, já que dá pra fazer isso diretamente usando os próprios campos da tabela... de qualquer forma vou tentar solucionar seu problema... há várias hipóteses para seu erro...então vou tentar axar onde você errou e tentar dar uma solução, ok? Caso uma das hipóteses não seja seu caso, ignore-a... você tem uma tabela criada, e seu formulário foi criado com a determinada tabela também...certo? se não, talvez seja por isso que você não consiga vincular suas caixas de texto à sua tabela!!! quando se cria um formulário, se pode criá-lo de forma independente através do modo design como também pode criá-lo usando uma tabela base...nesse segundo caso, todos os campos da sua tabela (conforme criados) vão estar disponíveis para você colocar no formulário diretamente, não gerando o seu problema... se esse é o seu problema, deve haver uma solução sim...talvez, quando o usuário clique no botão Salvar Registro, você indique POR PROGRAMAÇÃO que os campos de sua tabela recebe os valores das caixas de textos não acopladas... no entanto acho que o trabalho pra fazer isso não vale a pena, além de várias complicações que você pode ter como salvar registros um em cima do outro, etc... Para criar um formulário usando como base uma tabela já criada, dependendo da versão do seu Access, vá em Inserir, Formulário, selecione o modo de como queira fazer o formulário e na caixa de combinação que tem logo abaixo com a legenda "escolha a tabela ou consulta de onde os dados de objeto vêm:", INDIQUE A SUA TABELA!!! você tem um formulário criado já com base em uma tabela, porém não quer usar diretamente os campos de sua tabela... bom, nesse otro caso eu acho que você já fez káka por não usar os próprios campos da tabela diretamente...rsrs...mas se é esse o problema, espero que tenha seus motivo.... de qualquer forma, todos os objetos Não-Acoplados que você coloca num formulário, dá para ser vinculado diretamente aos campos de sua tabela... o resultado é que os campos não-acoplados assumem igualmente todas as características dos campos originais de sua tabela... formato, máscara, tamanho dos campos que você criou na tabela etc... para vincular um objeto não-acoplado á um campo da tabela, vá nas propriedades do objeto, no guia DADOS, e em FONTE DE CONTROLE indique o campo de sua tabela! outra forma de fazer o vínculo dos campos é também por programação...porém, já que você tem uma primeira solução, evite usar a segunda solução (programação) que é mais complicado... se ainda assim preferir usar a segunda solução, dá um toque que eu te passo os procedimentos e as linhas de códigos...ok? bom, acho que com isso dá pra você dar uma pensada aí no seu banco de dados e ter uma luz para o que te encomoda... espero retorno, e caso a solução já proposta seja seu problema e dê certo, confirme a "vitória" para nós, ok? abraço,
  24. wagner...respondi seu e-mail cara... vai lá dar uma olhada e me retorne ok? abraços,
  25. ótimo post...perfeito ao entendimento... quando estava lendo sobre o mesmo lembrei-me que em Delphi também colocava-se quatro aspas seguidas... pra ser bem sincero não lembrava-me o porque das 4 aspas seguidas...agora tá jóia!rsrs vlw a força mrMalj!! mas ainda tenho um problema principal... após determinar uma instrução sql conforme os exemplos e tals, enfim, como eu mando essa variável string com a instrução sql para a consulta? entendeu? mandar o critério de pesquisa e fazer executar a pesquisa.... estive pensando, e reparei que em vba existe a função docmd.RunSQL...se eu executar uma instrução sql indicando a própria tabela principal e não a consulta, e no meu formulário colocasse um subformulário com a determinada tabela, daria certo? ainda não fiz os testes...mas to trabalhando nisso... de qualquer forma, se você tiver um parecer ou alguma outra dica, por favor... abração! fique com Deus...
×
×
  • Criar Novo...