
Capablanca
Membros-
Total de itens
295 -
Registro em
-
Última visita
Tudo que Capablanca postou
-
Desculpe Lilia, mas até onde vc. pode me passar, fora os comentários que já fiz, não sei lhe dizer onde pode estar o erro.
-
Tente colocar assim: query2.parambyname('UF').AsString := #39 + ComboBoxEstado.Text + #39;
-
Vc. poderia me enviar o BD vazio mesmo... Por que vc. está utilizando '%', ao lado de "ComboBoxEstado.Text" ?
-
Bem, eu não consegui vislumbrar nenhum equívoco em seus códigos (exceto aqueles que eu já comentei e você já corrigiu). Se não houver problema, ZIPA seu projeto com o banco de dados e me manda que eu dou uma olhada hoje à noite. E-mail: mack@cordeirorodrigues.com.br ICQ: 4826639
-
Como assim? Se vc. colocou este código acima, ele vai cancelar a operação (por exemplo, de inclusão ou alteração), posteriormente vai fechar o seu QUERY e destruir a instância dele. Conseqüentemente, não vai funcionar mesmo.
-
Uhhhh.... Você fez o teste do DBGrid? Os dados aparecem nele?
-
Olá novamente LILIA, Estou sem o Delphi no momento, mas acredito que a configuração esteje certa. O problema parece ser o seguinte: quando você faz uma instrução SQL para consultar os dados de uma tabela onde UF_ASSOCIACAO seja igual a COMBOBOX.TEXT E UF_ASSOCIACAO seja diferente de COMBOBOX.TEXT, a princípio, só examinando pela lógica, não haverá retorno de nenhum registro. Pois, qual registro tem UF_ASSOCIACAO igual e diferente a COMBOBOX.TEXT? Entendeu? Exemplificando: sua consulta está assim: CONSULTE e me RETORNE todos os dados da tabela onde UF_ASSOCIACAO for igual a SP (de São Paulo) e diferente de SP. Ora, só é possível ser igual ou diferente (e não igual e diferente). Compreendeu? Em todo caso, a título de teste, ligue um DBGRID ao DATASOURCE correspondente, deixe o DATASET (ao qual o DATASOURCE faz referência) ativo, para ver se ele exibe algum dado (acredito que, pelas razões acima, ele não exibirá nenhum). Caso (a título de argumentação), ele exiba algum registro, me fale, pois daí o problema realmente está no relatório.
-
O procedimento abaixo foi feito em Delphi 7 (não sei se seria o mesmo no Delphi 4, pois não o tenho aqui). 1) Dê um clique com o botão direito do mouse em seu componente DATASET (por exemplo, IBQuery, ADOQuery, SQLDataSet, etc.); 2) Escolha a opção FIELDS EDITOR; 3) Clique com o botão direito do mouse na janelinha que se abre, e escolha a opção ADD ALL FIELDS ou ADD FIELD (conforme o seu caso em concreto); 4) Selecione o campo desejado e, no OBJECT INSPECTOR, selecione a opção EDITMASK; 5) Digite a sua máscara (por exemplo, 99/99/9999) ou dê um duplo-clique naquela propriedade e irão aparecer algumas máscaras prontas; 6) Pronto. Basta selecionar o seu DBEdit e especificar o DATASOURCE (na propriedade DATASOURCE) e o campo que vc. inseriu a máscara (na propriedade DATAFIELD). Qualquer esclarecimento ou dúvida quanto aos procedimentos acima descritos, dê um toque.
-
Olá LILIA, É possível incluir uma consulta dentro da outra, de modo que a primeira fique sendo uma subconsulta da principal. No entanto, algumas regras devem ser observadas na subconsulta. 1) uma subconsulta pode ter apenas uma coluna na cláusula SELECT, a menos que existam múltiplas colunas na consulta principal; 2) ORDER BY não pode ser usada em uma subconsulta. Desta forma, substituir ORDER BY por GROUP BY seria um boa idéia; 3) subconsultas que retornam mais de uma linha só podem ser usadas com operadores de vários valores, como o operador IN; ETC... Olhando os dois exemplos que você postou, me parece que ambos não preenchem a 2ª e a 3ª regra mencionadas acima. No caso do exemplo nº 1: SELECT * FROM associacao.db WHERE UF_ASSOCIACAO='MG'; (SELECT * FROM associacao.db ORDER BY UF_ASSOCIACAO); Por que vc. não altera para simplesmente: SELECT * FROM associacao.db WHERE UF_ASSOCIACAO='MG' ORDER BY UF_ASSOCIACAO Não vejo a necessidade de utilizar uma subconsulta, neste caso. Outra observação: qual a razão de vc. pedir para ordenar os registros pelo campo UF_ASSOCIACAO? Veja. Pela sua instrução SQL, somente irão retornar os registros onde UF_ASSOCIACAO for igual a "MG". Logo, salvo melhor juízo, não há utilidade alguma em utilizar ORDER BY UF_ASSOCIACAO. Teria se fosse, por exemplo, ORDER BY NOME (ou outro campo). No caso do exemplo nº 2: SELECT * FROM associacao.db WHERE UF_ASSOCIACAO='MG' ORDER BY MUNI_ASSOCIACAO UNION ALL (SELECT * FROM associacao.db WHERE UF_ASSOCIACAO<>'MG' ORDER BY UF_ASSOCIACAO); Faço a mesma observação. Creio não ser necessário uma outra subconsulta. Que tal: SELECT * FROM associacao.db WHERE UF_ASSOCIACAO='MG' AND UF_ASSOCIACAO<>'MG' ORDER BY MUNI_ASSOCIACAO Qualquer problema é só dar um toque. Abs.
-
Olá ARLON, Não é necessário fazer nenhuma conversão. Eu apenas coloco o código que eu mencionei e funciona (acabei de fazer o teste novamente, e o o arquivo foi movido da pasta de origem para a pasta de destino normalmente). Veja a minha UNIT completa: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin MoveFile('C:\origem\teste.doc','C:\destino\teste.doc'); end; procedure TForm1.Button2Click(Sender: TObject); begin CopyFile('C:\origem\teste.doc','C:\destino\teste.doc',false); end; end. Não sei te explicar por qual razão está dando esta mensagem. Com certeza você não está utilizando um exemplo tão simples quanto o que eu postei. Logo, acredito que seja algo relacionado às peculiaridades do seu código. Tente fazer um exemplo simples e veja se funciona e depois tente implementar novamente em seu código.
-
Valeu pelos esclarecimentos, S3C.
-
Tente modificar para: Parabéns, funcionou. Não entendi o resultado de acrescentar "+#0". Tem como explicar?
-
Olá Arlon, Eu tentei utilizar esta função e ela não moveu o arquivo (CorpoSemAlma, vc. chegou utilizá-la? Deu certo?). Porque você não usa os comandos MOVEFILE ou COPYFILE? Exemplo: procedure TForm1.Button1Click(Sender: TObject); begin MoveFile('C:\origem\teste.doc','C:\destino\teste.doc'); end; ou procedure TForm1.Button1Click(Sender: TObject); begin CopyFile('C:\origem\teste.doc','C:\destino\teste.doc',false); end; São simples e funcionam.
-
Respondam Qdo Puder (RESOLVIDO ENFIM)
pergunta respondeu ao Alessandro de Capablanca em Delphi, Kylix
É que vc. continou no bonde... risos. -
Beleza... Agente se vê no ICQ.
-
Respondam Qdo Puder (RESOLVIDO ENFIM)
pergunta respondeu ao Alessandro de Capablanca em Delphi, Kylix
Não vou me intrometer nas respostas, S3C, mas já que você ajudou o Alessandro até este estágio, não custa nada ir até o final. -
GFAV, suas dúvidas não acabam! () Beleza, me passa o seu ICQ e vamos tentar acabar com elas, caso contrário este TÓPICO não vai acabar nunca ... heheheheheh
-
Olá, Eu já mandei um e-mail pra você.
-
É, se você quer realmente utilizar aquele componente (seja apenas para enviar mensagens), vai precisar gastar algum tempo para estudar o código e implementar no seu programa.
-
Caramba... (o Felipe precisava ver esta... ) Mandou bem CSA.
-
Não é azar não. É porque vc. esta prestes a conseguir e faltam só alguns detalhes. Veja, vc. colocou o ADOQuery. Este tipo de erro ocorre quando nenhuma sentença SQL foi digitada na propriedade SQL do ADOQuery. Você pode até deixar de informar alguma sentença SQL na propriedade SQL do ADOQuery. No entanto, você deverá fazer referência a ela em alguma parte do programa (por exemplo, ADOQuery1.SQL.Add()). Qualquer coisa fala que agente tá quase resolvendo o seu problema.
-
=========================================================== Basicamente, podemos dizer que um código de barras é um identificador (ID) que contém uma determinada informação codificada, usada pelos sistemas de computação para localizar as informações mais específicas associadas ao seu ID. Por exemplo, o código de barras impresso no creme dental de um determinado fabricante contém uma seqüência de 13 números cujo resultado final é seu identificador (ID) único para o produto, assim como seu CPF e RG. É importante ressaltar que o código de barras por sí não qualifica um produto ou serviço, apenas o identifica. Voltando ao nosso exemplo, o código encontrado na embalagem do creme dental não contém seu nome, sua fórmula química, preço, etc., no entanto, ao passar pelo caixa de um supermercado, o escâner (equipamento reponsável por ler o código de barras gravado na embalagem de um produto) realiza a leitura do referido código, transformando-o em um seqüência de caracteres legíveis pelo sistema, que é então tranferido ao computador da loja que verifica o registro associado a ele em seu banco de dados. Tal registro contém uma descrição do produto, o nome do fornecedor, seu preço, quantidade em estoque, etc. Nesse instante o computador verifica seu preço, retornando-o para o caixa em forma de registro (a quantidade adquirida também é subtraída do estoque da loja) e toda a transação é feita em questão de segundos. =========================================================== Trecho extraído do livro DELPHI 7 - Portabilidade Delphi 8 - Vendas, Contas a Pagar e a Receber, do Carlos Oliviero e do William Pereira Alves. Os grifos são meus.
-
Você poderia utilizar uma rotina que checasse, já na abertura do sistema, se o dia do sistema do usuário é o dia primeiro do mês (assim todo dia primeiro o programa travaria). Caso fosse dia primeiro, seria aberta uma janela pedindo LOGIN e SENHA.
-
Sem comentários FELIPE. Lastimável esta sua atitude de criticar o fórum. Dê uma olhada lá no FÓRUM do Delphi e veja a quantidade de REPLIEs que o pessoal dá, tentando ajudar os outros colegas. Se você não conseguiu uma determinada resposta é porque a galera não sabia mesmo (nem sempre dá pra saber tudo). Já mencionei em outra ocasião que este fórum não exerce nenhuma função CONSULTIVA. Tudo o que ocorre aqui é na base da amizade e consideração uns pelos outros. Além disso, hoje eu ajudo, amanhã serei eu quem estarei precisando e assim agente vai caminhando. Pra você querer exigir alguma coisa, pague por ela (existem algumas empresas que fornecem consultoria em Delphi e você poderá pagar pelo serviços delas). Agora, não venha exigir nada aqui do pessoal. O pior é que sua dúvida é tão simples de ser resolvida (há dezenas de códigos prontos implementando esta função de retirar acentos), que mais parece que você sequer deu uma simples procurada. Já postou a dúvida e pronto, o pessoal que se vire em procurar algo pra mim. Bem, em todo caso, agente está sempre aqui pra tentar resolver qualquer questão. Não faça mais isto não. Valeu CorpoSemAlma pela demonstração de que "dois erros não justificam um" e pela consideração para com o Felipe.
-
Olá, Como o "CorpoSemAlma" disse, o seu DATASET (por exemplo, ADOQuery) parece conter todos os registros do seu banco de dados. Você mencionou que todas as pessoas aparecem no seu DBGrid mas quando você tenta selecionar uma delas (pelo próprio DBGrid) e imprimir, todas são impressas. Veja, não basta selecionar (clicar sobre o nome da pessoa) e mandar imprimir (pois o DATASET, aparentemente, contém todos os nomes). Um mecanismo bastante interessante consiste em utilizar uma opção de MARCAR os registros que serão impressos. Crie uma variável MARCAR junto com as demais informações de cada pessoa. Esta variável irá dizer se o registro deverá ser impresso ou não. Os valores que ela poderá receber são "S" (sim) ou "N" (não). Posteriormente, coloque um botão com algumas opções, tipo: 1) marcar os registros selecionados; 2) marcar todos os registros; etc. Ou até mesmo uma rotina que, assim que você clicar com o botão direito do mouse sobre determinado registro no DBGrid, aparecerá a opção MARCAR PARA IMPRESSÃO. Pronto. No momento que você clicar em IMPRIMIR, utilize uma sentença SQL para buscar todos aqueles que estão marcados com um "S".