
Paulo H Grando
Membros-
Total de itens
55 -
Registro em
-
Última visita
Tudo que Paulo H Grando postou
-
Estou com uma aplicação rodando em uma rede wireless e tem acontecido problemas de gravação no banco devido a oscilação do sinal. Como tratar isso sem perder os dados e auxiliando o usuário?
-
Como faço para gerar um relatório cross tab no Rave? Preciso que nas linhas sejam exibidos os produtos e nas colunas as cotações dos fornecedores. Parecido com uma tabela em Excel.
-
(Resolvido) Não é possível iniciar nova transação pois o limite foi ex
pergunta respondeu ao Paulo H Grando de Paulo H Grando em SQL Server
Obrigado pela ajuda, mas o problema era no Delphi mesmo. O componente de acesso a dados tem uma limitação com o SQL Server. É necessário incluir uma instrução para lidar com isso. Segue abaixo o texto original: * When using dbExpress MSSQL and TClientDataSet.ApplyUpdates, you may encounter either of the following errors while applying updates, due to a SQLOLEDB.DLL limitation: "Cannot create new transaction because capacity was exceeded." "Cannot create new connection because in manual or distributed transaction mode." To resolve the errors, use one of the following workarounds: - On the DataSetProvider Options property, make sure poFetchBlobsOnDemand and poFetchDetailsOnDemand are False. - Use a BeforeApplyUpdates event to either call CloseDataSets or Close the connection: procedure TForm1.DataSetProvider1BeforeApplyUpdates(Sender: TObject; var OwnerData: OleVariant); begin SQLConnection1.CloseDataSets; // SQLConnection1.Close; end; -
Não é possível iniciar nova transação pois o limite foi excedido
pergunta respondeu ao Paulo H Grando de Paulo H Grando em Delphi, Kylix
Respondendo a mim mesmo: Encontrei um comentário no segundo update do Delphi 8, onde a Code Gear diz q esse problema é devido a uma limitação específica com SQL Server. Segue abaixo o texto original: * When using dbExpress MSSQL and TClientDataSet.ApplyUpdates, you may encounter either of the following errors while applying updates, due to a SQLOLEDB.DLL limitation: "Cannot create new transaction because capacity was exceeded." "Cannot create new connection because in manual or distributed transaction mode." To resolve the errors, use one of the following workarounds: - On the DataSetProvider Options property, make sure poFetchBlobsOnDemand and poFetchDetailsOnDemand are False. - Use a BeforeApplyUpdates event to either call CloseDataSets or Close the connection: procedure TForm1.DataSetProvider1BeforeApplyUpdates(Sender: TObject; var OwnerData: OleVariant); begin SQLConnection1.CloseDataSets; // SQLConnection1.Close; end; -
Não é possível iniciar nova transação pois o limite foi excedido
pergunta respondeu ao Paulo H Grando de Paulo H Grando em Delphi, Kylix
O problema descrito no link não parece o que estou enfrentando. No caso do arquivo de log estar cheio não poderia realizar nenhuma inserção até corrigí-lo. Mas o sistema voltou ao normal agora a tarde. Deve ser outra coisa. -
Excel - Solução para procurar valor num intervalo
pergunta respondeu ao SLuiz de Paulo H Grando em Microsoft Office
Veja se isso resolve: =SOMARPRODUTO(Produtos!$B$4:$B$8;Produtos!$D$4:$D$8)/SOMA(Produtos!$B$4:$B$8) Fiz a fórmula diretamente na célula S16 da planilha Controle. Mas você terá que alterar manualmente para os outros subprodutos a referência D, pois as duas planilhas (Controle e Produtos) possuem orientações diferentes. -
(Resolvido) ClientDataSet.Delete em SQL c/ LEFT JOIN
pergunta respondeu ao Paulo H Grando de Paulo H Grando em Delphi, Kylix
Jhonas, não é necessário separar as querys. Falei com um antigo instrutor e basta utilizar o procedimento abaixo: Para consultas que utilizem junção é necessário desabilitar as ProviderFlags Where e Updade para cada campo externo a tabela principal referenciada na cláusula FROM, tanto no SQLDataSet quanto no ClientDataSet. Todos os campos devem ser adicionados ao Fields Editor e a alteração feita. -
(Resolvido) ClientDataSet.Delete em SQL c/ LEFT JOIN
uma questão postou Paulo H Grando Delphi, Kylix
Tenho uma instrução em um SQLDataSet com LEFT JOIN. Ao utilizar o código para deletar um registro (ClientDataSet.Delete), o mesmo é removido do DBGrid e continua no banco. Fiz um teste removendo a instrução LEFT JOIN e a deleção ocorreu normalmente. Existe alguma restrição para uso do delete em tabelas com LEFT JOIN ou há alguma forma de contornar isso mantendo a instrução? -
Parece-me facilmente solucionável utilizando CONT.SE ou uma fórmula matricial. Mas está bastante confuso da forma como foi explicado. O ideal seria disponibilizar a planilha.
-
Criar uma plan onde as DZ serão constadas
pergunta respondeu ao xrfs de Paulo H Grando em Microsoft Office
Ficou pouco claro o que você pretende fazer. Em uma primeira olhada parece simples, mas é necessário que você disponibilize a planilha para podermos ajudar. -
Minha sugestão é montar uma tabela dinâmica e atualizá-la via código sempre que sua pasta for selecionada.
-
Para manter selecionado, altere a propriedade Value para True na Janela Propriedades. Para fazer isso via código: OptionButton1.Value = True
-
Provavelmente o arquivo está danificado. Não poderá ser utilizado.
-
Crie um novo perfil em Painel de Controle / Email / Mostrar perfis / Adicionar. Indique na caixa de combinação a opção Escolher perfil a ser usado. Na inicialização do Outlook, escolha o perfil recém criado. Selecione então Arquivo / Importar e exportar / Importar de outro programa ou arquivo. Clique em Next e marque na próxima tela a opção Arquivo de Pasta Particular (.pst). Na tela seguinte direcione para o arquivo e escolha a opção Substituir duplicatas por itens importados. Por último escolha importar todas as pastas e subpastas.
-
Não é uma solução muito elegante em termos de código, mas funciona: For I=2 to 65536 If Range("A" & I).Value = Range("B" & I).Value Then Range("A" & I).EntireRow.Delete I = I - 1 End If Next I
-
Aparentemente o arquivo está danificado. Tente importá-lo em um novo perfil ao invés de utilizá-lo diretamente como arquivos de pastas particulares.
-
Script para alterar dados de uma coluna a mudar o dia
pergunta respondeu ao Fabianox12 de Paulo H Grando em VBA
Não entendi muito bem o seu problema, mas você pode inserir uma fórmula em cada linha nova, juntamente com a inserção de dados. Seria algo como: Range("G2").FormulaR1C1 = "=RC[-2] - TODAY" -
Todos os seus problemas se resumem ao mesmo ponto. Quando você inclui uma linha antes de uma linha de função ou referência, o Excel não ajusta as referências pois a inclusão foi feita após o intervalo utilizado. Se você puder disponibilizar a planilha acredito que possa consertar.
-
Esse arquivo deve estar salvo com extensão pps. Basta você iniciar o PowerPoint e abrir o arquivo pelo Menu. Aí salve como Apresentação. A extensão vai mudar para ppt.
-
Macro copiar tabelas em único arquivo
pergunta respondeu ao rodbigod de Paulo H Grando em Microsoft Office
Você está usando o objeto Worksheets sem passar nenhum parâmetro. Aconselho a utilizar Sheets(1).Copy, caso seja a primeira planilha em cada arquivo. -
Tony, Enviei uma mensagem com o meu e-mail.
-
Pegar apenas a parte fracionaria de um número
pergunta respondeu ao helioceara de Paulo H Grando em VBA
Você pode fazer via função: =2,34 - ARREDONDAR.PARA.BAIXO(2,34;0) -
Um dos grandes problemas de cadastros são as duplicações de dados, principalmente pela fragilidade do campo Descrição. Qualquer abreviatura pode gerar um segundo registro muito similar ao primeiro postado. Uma das formas de minimizar isso seria habilitar umr recurso de auto completar, como no Excel. Assim o usuário poderia observar quais registros similares existem na base. Só não tenho a mínima idéia de como implementar isso. Alguém já tentou uma solução como essa?