Jump to content
Fórum Script Brasil

André Basílio

Membros
  • Posts

    12
  • Joined

  • Last visited

About André Basílio

André Basílio's Achievements

0

Reputation

  1. CONSEGUI! Troquei os "Dim" por "Global" e deu certo! O código ficou assim: Option Explicit Global AntecAvisoTrocas As Integer Global DirSis As String Global DirFotosFunc As String Global DirFotosProd As String Global DirFotosVeic As String Public Static Function DeclaraVariaveis() AntecAvisoTrocas = 10 DirSis = "C:\AB Frota\" DirFotosFunc = "C:\AB Frota\Fotos\Funcionários\" DirFotosProd = "C:\AB Frota\Fotos\Produtos\" DirFotosVeic = "C:\AB Frota\Fotos\vêículos\" End Function Agora, preciso saber como posso buscar essas variáveis diretamente de uma tabela, podendo ser o sistema configurável pelo próprio usuário, sem ter que mexer nas linhas de programação. Obrigado.
  2. Tentei fazer isso, mas não funcionou. Talvez eu esteja fazendo errado. Tentei da seguinte forma: Option Explicit Dim AntecAvisoTrocas As Integer Dim DirSis As String Dim DirFotosFunc As String Dim DirFotosProd As String Dim DirFotosVeic As String Public Static Function DeclaraVariaveis() AntecAvisoTrocas = 10 DirSis = "C:\AB Frota\" DirFotosFunc = "C:\AB Frota\Funcionários\" DirFotosProd = "C:\AB Frota\Funcionários\" DirFotosVeic = "C:\AB Frota\Funcionários\" End Function Criei a função DeclaraVariaveis() após a criação das variáveis porque, estando tudo dentro do Option Explicit não funciona. O Option Explicit não aceita criar variáveis como Static. Ainda não consegui deixar as variáveis públicas. Se alguém puder me ajudar, agradeço muito! Atenciosamente, André Basílio.
  3. Tenho um sistema em Access que busca arquivos JPG em certos diretórios, sendo que estes diretórios devem poder ser configurados pelo administrador do sistema. Criei uma tabela para poder armazenar as configurações. Defini o conteúdo de cada campo (com a configuração específica de cada campo), mas não consigo usar uma função que obtenha esse valor numa expressão em VB. Por exemplo: a tabela com o nome de "Configurações" tem um campo chamado "Localização das fotos dos funcionários", que tem o conteúdo "C:\AB Frota\Fotos\Funcionários\". Preciso utilizar isso no código abaixo: Me.ImagemFoto.Picture = [Localização das fotos dos funcionários] & "arquivo.jpg" Como não consegui fazer isso, tentei criar variáveis públicas definindo a localização do diretório das fotos. Criei um subprocedimento para isso, mas ele não pôde ser aberto com uma macro do tipo Autoexec devido a uma limitação do Access. Então, tive que mudar de subprocedimento para função, que pode ser aberta por um Autoexec. A função que criei é pública e estática, com variáveis também estáticas, conforme abaixo: Public Static Function DeclaraVariaveis() Static DirFotosFunc As String ... DirFotosFunc = "C:\AB Frota\Funcionários\" ... End Function Porém, mesmo definindo as variáveis como estáticas, ao término da execução da função, as variáveis ficam com seus valores inacessíveis a comandos como: PRINT DirFotosFunc. O estranho é que fiz um teste e percebi que as variáveis que criei mantêm seus dados armazenados, mas são lidos somente enquanto a função é executada. Ao término da execução, seus valores não ficam disponíveis normalmente ao sistema. Então, tenho duas dúvidas: 1 - Como buscar dados numa tabela para utilizar como configuração em qualquer parte do programa? 2 - Como criar uma variável pública para utilizá-la a qualquer momento? Obrigado pela atenção de todos!
  4. André Basílio

    Consulta

    Tenta colocar TOP n após o SELECT. Exemplo: SELECT TOP 10 [Clientes Faturados].[Nome Fantasia], ... Boa sorte!
  5. Lincoln, não quero lhe desanimar, mas parece que fazer isso é FODA! Eu lancei um tópico assim e tive um resultado de certa forma satisfatório, mas não serviu bem para o meu caso, que preciso fazer isso dentro de diferentes queries (Consulta em SQL). Leia o tópico: http://scriptbrasil.com.br/forum/index.php...topic=76629&hl= Eu fiz dois outros códigos também. Veja este primeiro: SELECT Tabela.Código, Tabela.Km, Tabela.Litros, ((Tabela.Km-Anterior.Km)/Tabela.Litros) AS Média FROM Tabela AS Anterior, Tabela WHERE (((Tabela.Código)=[Anterior].[Código]+1)) Porém, mais tarde, fui ver que o código acima não busca o primeiro registro e ele também não busca registros caso seja excluído algum registro no meio do banco de dados. Então, a partir desses problemas, criei mais um novo código, que é este abaixo: SELECT Tabela.Código, Tabela.Km, Tabela.Litros, ((Tabela.Km-Anterior.Km)/Tabela.Litros) AS Média FROM Tabela AS Anterior, Tabela WHERE Anterior.Km = (SELECT TOP 1 Km FROM Tabela) Este mostra o primeiro registro e calcula todos os registros mesmo após exclusões terem sido realizadas. Mas, no cálculo, ele não está buscando a quilometragem do registro anterior. Está buscando-a sempre do primeiro registro. Bem, acho que a partir disso aqui dá para estudarmos mais a respeito. Se você ficar sabendo de algo para fazer cálculos com o registro anterior, ME AVISE, POR FAVOR! Estou há mais de 2 meses procurando isso e não encontro! Boa sorte pra nós! Um abraço!
  6. Para você ter esse procedimento automático, num código de consulta salvo, clique na seta para baixo do botão "Tipo de Consulta", no modo Design (ou estrutura), e mude de "Consulta seleção" para "Consulta acréscimo". O Access lhe solicitará o nome da nova tabela. Depois, você terá apenas que especificar em quais campos serão gravados o resultado da sua consulta. É fácil, fácil... Boa sorte! Abraços!
  7. Aí, faça o seguinte: Para alterar o caminho de um conjunto de tabelas vinculadas: 1. Abra o banco de dados que contém vínculos com tabelas. 2. No menu Ferramentas, aponte para Utilitários de banco de dados e clique em Gerenciador de Tabelas Vinculadas. 3. Marque a caixa de seleção Sempre emitir aviso para novo local. 4. Marque a caixa de seleção para as tabelas cujos vínculos você deseja alterar e, em seguida, clique em OK. 5. Na caixa de diálogo Selecionar novo local da <nome da tabela >, especifique o novo local, clique em Abrir e, em seguida, clique em OK. Faça isso acima digitando exatamente o endereço que você deseja (sem selecionar, porque dá pau!). Numa rede interna, você pode fazer isso digitando, por exemplo: \\Micro\Pasta\Tabela.mdb. Veja o endereço exato na internet e o digite lá (sem aspas!). Você também precisa verificar se o seu site aceitará logins anônimos (não recomendável, obviamente). Verifique no seu provedor de hospedagem como os seus usuários poderão alterar um arquivo dentro do seu site, talvez com login e senha. É isso. Abraços! Fui!
  8. Para imprimir ó Código em Barras, basta que você tenha uma fonte de letra apropriada. Tentei postar um arquivo de uma dessas fontes aqui pra você, mas não deu certo. Tente procurar na Internet a fonte 3OF9.TTF. Ela é uma das fontes que imprime códigos em barra. Se não me engano, você especifica o início do código com um asterisco. Não estou bem certo disso. Há fontes de Códigos em Barras que é necessário fazer isso. Então, ao invés de imprimir um código tipo: 12345 você o imprime como *12345* Aí, o código fica legível pelo leitor, sacou? Boa sorte! Um abraço! B)
  9. Valeu, Kuroi! Funcionou beleza! Muito chique! Parabéns pelos conhecimentos em SQL! Percebi que vou ter que aprender muito SQL ainda... Nesta semana, vou estar bem apertado. Na próxima semana, vou tentar colocar esse código na consulta do programa que estou fazendo, que tem tabelas vinculadas e faz a procura por ordem de data e hora, além de filtrar os registros por placa do vêículo. Caso eu não consiga, vou lhe enviar um e-mail e contratar uma consultoria sua. Você merece! Gostei do seu trabalho! Muito fino! Um grande abraço! Pode contar comigo no que precisar! Valeu!
  10. Obrigado, Kuroi! Tentei fazer aqui, mas não deu certo. O código que usei foi o seguinte: Select Tabela.Km, Tabela.Litros, ((Tabela.Km - Anterior.Km) / Tabela.Litros) as Media LEFT JOIN (Select * from Tabela) as Anterior ON Tabela.Código - 1 = Anterior.Código (Código é o nome do campo AutoNumeração) Após digitar o código na exibição SQL da consulta, quando tento visualizar o modo Design (estrutura), surge a seguinte mensagem: "A instrução SELECT inclui uma palavra reservada ou um nome de argumento que está incorreto ou faltando, ou a pontuação está incorreta". Após clicar em OK, a palavra LEFT fica selecionada no vídeo e não consigo sair disso. Reduzi a tabela a apenas 3 campos para facilitar o teste na consulta. Os campos são: Código: AutoNumeração Km: Número Inteiro Longo Litros: Número Simples Não existe o campo [Média] porque este campo deveria ser calculado através da consulta e não precisaria existir "fisicamente". Estou certo? Em outras linguagens, isso é muito simples de ser feito, mas estou quebrando a cabeça com o Access/SQL! Se puder me ajudar novamente, fico muitíssimo grato! Se puder me ajudar até aqui, já é uma grande ajuda! Isso já funciona em algumas situações que preciso. Porém, se o registro anterior for excluído, a consulta deixa de funcionar perfeitamente, não é mesmo? Agora, quanto à minha necessidade exata pra essa consulta, é o seguinte: estou fazendo um sistema que, dentre suas funções, mostraria a média de consumo de cada vêículo da empresa durante cada registro de abastecimento. Então, na verdade, preciso saber qual foi o último abastecimento anterior de certa placa de vêículo (há o campo Placa na tabela também) ou de acordo com a data e hora do abastecimento (há esses campos também na tabela). Pelo que entendi você dizendo, o código vai ser mais complicado para funcionar dessa forma, não? Se puder me ajudar, ficarei IMENSAMENTE agradecido! Já perdi vários dias quebrando a cabeça com isso! Mais uma vez, muito obrigado!
  11. Você quer dizer "hierarquia" ou "estrutura"? Se estiver se referindo à estrutura, esta deve ser feita primeiro, após uma análise minuciosa do que o sistema irá precisar. Só depois disso você deverá trabalhar no desenvolvimento do aplicativo. Assim, evita-se retrabalho. Espero ter ajudado.
  12. Oi, pessoal! Estou precisando muito de uma informação sobre como obter um dado de um campo do registro anterior ao que está sendo usado no momento. Isso seria utilizado num programa para mostrar a média de consumo de combustíveis. Exemplo dos campos: Km . . . Litros .. Média (km/l) 25660 . 56,0 26640 . 70,0 .. 14,0 27000 . 25,0 .. 14,4 No exemplo acima, no primeiro registro não há como calcular a média porque não há uma quilometragem anterior. Mas, a partir do segundo registro, dá para calcular a média utilizando uma fórmula semelhante a: (Km atual - Km anterior) / Litros atual Preciso utilizar o exemplo acima numa consulta. Já vi algumas coisas a respeito de subconsulta em SQL, mas não encontrei código algum que me forneça o conteúdo do campo de um registro específico tal como acontece facilmente em algumas linguagens como Visual FoxPro. Parece que o SQL, apesar de ser um banco de dados mais avançado, não tem apontador para ser utilizado como número do registro atual. Eu gostaria de buscar o conteúdo do campo do registro atual -1. Estou utilizando um arquivo do tipo MDB. Alguém pode me ajudar? Aproveito a oportunidade para parabenizar os responsáveis pelo site! Coisa fina! Muito bom mesmo! Parabéns! Abraços a todos! André Basílio.
×
×
  • Create New...