Ir para conteúdo
Fórum Script Brasil

fulvio

Moderadores
  • Total de itens

    1.218
  • Registro em

  • Última visita

Tudo que fulvio postou

  1. fulvio

    Documentar Banco

    Boa tarde Amigo... Tem sim como saber, mas você teria que criar seu próprio script. O sql possui toda e qualquer função para resgatar estas informações. Sendo assim, você pode criar um script que recupere todas as informações necessárias. Nos casos do exemplo abaixo, você terá que ter acesso à base... Rode este script para saber o tamanho do banco (acrescente as informações necessárias): USE NomeSeuBanco Go DECLARE @Indice Int SELECT @Indice = SUM(reserved) FROM NomeSeuBanco..SYSINDEXES WHERE indid IN (0, 1, 255) SELECT CAST(name AS VARCHAR(30)) AS name, 'total mb' =((size*8)/1024) FROM sysfiles SET NOCOUNT ON Este para saber os nomes dos Bancos que possui: SELECT name FROM master..sysdatabases E assim por diante. você até me deu uma boa idéia. Fazer um aplicativo para resgatar estas informações. :.) Espero ter ajudado...
  2. Bom dia Daltro, Creio que seja o evento MouseMove. Clique no objeto que deseja colocar a funcionalidade. Vá até o evento MouseMove. Insira o código: SeuObjeto.ToolTipText = "Texto que deseja aparecer"
  3. Bom dia Viperino, Teste esta sintaxe: SELECT ta.TA_Id AS [Tipo de Analise], há.HA_Id AS [Analise Efectuada], há.HA_Ind_Suplem AS Variante, (select count(h.HA_TA_Id) from dbo.Historico_Analises h where h.HA_TA_Id=há.HA_TA_Id group by h.HA_TA_Id) AS Total FROM dbo.T_Ana_Ind tai INNER JOIN dbo.Historico_Analises há ON tai.TAI_TA_Id=há.HA_TA_Id INNER JOIN dbo.Tipo_Analise ta ON há.HA_TA_Id=ta.TA_Id GROUP BY ta.TA_Id, há.HA_Id, há.HA_Ind_Suplem, há.HA_TA_Id ORDER BY [Tipo de Analise] Caso dê erro, pode pegar meu MSN no meu perfil que conversaremos on line, ok?
  4. fulvio

    Criar View

    Boa tarde RLN, As colunas atributo1 e atributo2 são do mesmo tipo? As colunas valor1 e valor2 são do mesmo tipo? Caso sejam, poderá utilizar o UNION para realizar esta separação. Ex.: create table #Dados (id int, nome varchar(10), atributo1 varchar(10), atributo2 varchar(10), valor1 int, valor2 int) insert into #Dados values (1,'Teste', 'Atributo1', 'Atributo2', 1, 2) select id, nome, atributo1, valor1 from #Dados UNION select id, nome, atributo2, valor2 from #Dados
  5. rs.. ok, sem problemas. Não vou te esperar, mas pode deixar recado!!! rs.. Até.
  6. De nada... estamos aqui pra ajudar mesmo!! :.) O erro foi meu. A coluna 'TAI_TA_Id' não existe na tabela Historico_Analises. Sintaxe: SELECT ta.TA_Id AS [Tipo de Analise], há.HA_Id AS [Analise Efectuada], há.HA_Ind_Suplem AS Variante, (select count(h.HA_TA_Id) from dbo.Historico_Analises h where h.HA_TA_Id=há.HA_TA_Id group by h.HA_TA_Id) AS Total FROM dbo.T_Ana_Ind tai INNER JOIN dbo.Historico_Analises há ON tai.TAI_TA_Id=há.HA_TA_Id INNER JOIN dbo.Tipo_Analise ta ON há.HA_TA_Id=ta.TA_Id GROUP BY ta.TA_Id, há.HA_Id, há.HA_Ind_Suplem ORDER BY [Tipo de Analise] Não coloquei como CODE, pois está acentuando as palavras. Roda aí e vê se está ok. Caso dê certo, me fala que te explico.
  7. Estranho.... Refiz a estrutura do script, pois o Management coloca muita coisa. Ai você acaba se perdendo... rs. Refeito (o mesmo que postou acima): SELECT ta.TA_Id AS [Tipo de Análise], há.HA_Id AS [Análise Efectuada], há.HA_Ind_Suplem AS Variante, (select count(t.TA_Id) from dbo.Tipo_Analise t where t.TA_Id=ta.TA_Id group by t.TA_Id) AS Total FROM dbo.T_Ana_Ind tai INNER JOIN dbo.Historico_Analises há ON tai.TAI_TA_Id=há.HA_TA_Id INNER JOIN dbo.Tipo_Analise ta ON há.TAI_TA_Id=ta.TA_Id GROUP BY ta.TA_Id, há.HA_Id, há.HA_Ind_Suplem ORDER BY [Tipo de Análise] O que pode estar ocorrendo, é o resgate do campo TA_ID na tabela errada. Sendo assim, mesmo com vários "Tipo de Analise" de código 3, o contador está resgatando apenas uma inserção. A duplicidade do "Tipo de Analise" é o produto de um resultado entre as tabelas. Faça o teste ai. Mas ao invés de pegar o TA_ID da tabela dbo.Tipo_Analise, vou pegar o count da tabela dbo.Historico_Analises . Ficará assim: SELECT ta.TA_Id AS [Tipo de Análise], há.HA_Id AS [Análise Efectuada], há.HA_Ind_Suplem AS Variante, (select count(h.TAI_TA_Id) from dbo.Historico_Analises h where h.TAI_TA_Id=há.TAI_TA_Id group by h.TAI_TA_Id) AS Total FROM dbo.T_Ana_Ind tai INNER JOIN dbo.Historico_Analises há ON tai.TAI_TA_Id=há.HA_TA_Id INNER JOIN dbo.Tipo_Analise ta ON há.TAI_TA_Id=ta.TA_Id GROUP BY ta.TA_Id, há.HA_Id, há.HA_Ind_Suplem ORDER BY [Tipo de Análise] Roda aí e vê se o resultado está ok....
  8. Agora entendi... O problema é q você está querendo contar as linhas do resultado do script. Com o group by, fica mais dificil esta contagem... outra coisa será a forma de visualização do resultado. O contador se repetirá para cada linha, ex.: Dados: 1 1 1 2 2 1 3 4 2 3 9 1 3 12 4 3 20 3 4 26 3 Resultado: 1 1 1 1 2 2 1 1 3 4 2 4 3 9 1 4 3 12 4 4 3 20 3 4 4 26 3 1 Perceba que no "Tipo de Analise" de código 3, o contador repete o total 4 em todas as linhas... Mas vamos lá. Fiz um subselect para retornar o count. Vê se o script roda: SELECT dbo.Tipo_Analise.TA_Id AS [Tipo de Análise], dbo.Historico_Analises.HA_Id AS [Análise Efectuada], dbo.Historico_Analises.HA_Ind_Suplem AS Variante, (select count(TA_Id) from dbo.Tipo_Analise t where t.TA_Id=ta.TA_Id group by TA_Id) AS Total FROM dbo.T_Ana_Ind INNER JOIN dbo.Tipo_Analise ta ON dbo.T_Ana_Ind.TAI_TA_Id = dbo.Tipo_Analise.TA_Id INNER JOIN dbo.Historico_Analises ON dbo.Tipo_Analise.TA_Id = dbo.Historico_Analises.HA_TA_Id GROUP BY dbo.Tipo_Analise.TA_Id, dbo.Historico_Analises.HA_Id, dbo.Historico_Analises.HA_Ind_Suplem ORDER BY [Tipo de Análise]
  9. O script ficou grande por causa da sintaxe do NULL mesmo. Como você tem q colocar o IS antes, não dá pra fazer apenas 1 select para as duas opções.... rs. Tem outra forma de fazer, mas acho viável apenas quando a estrutura fica MUITO grande, ou as execuções precisarem de ser dinâmicas: você cria uma variável varchar, insere o script nela e manda executar a variável. Ficaria mais ou menos assim: Declare @SQL varchar(100) Set @SQL = 'select top 1 * from dbo.Hist_Cli' exec (@SQL) Desta forma, você cria seus scripts dinamicamente!! Se preferir... rs. Em relação a outra questão. Não sei se entendi direito, mas você quer um total por [Tipo de Análise]? Se for, testa aí e vê se funciona: SELECT TOP (100) PERCENT dbo.Tipo_Analise.TA_Id AS [Tipo de Análise], count(dbo.Tipo_Analise.TA_Id) as [Total Tipo], dbo.Historico_Analises.HA_Id AS [Análise Efectuada], dbo.Historico_Analises.HA_Ind_Suplem AS Variante FROM dbo.T_Ana_Ind INNER JOIN dbo.Tipo_Analise ON dbo.T_Ana_Ind.TAI_TA_Id = dbo.Tipo_Analise.TA_Id INNER JOIN dbo.Historico_Analises ON dbo.Tipo_Analise.TA_Id = dbo.Historico_Analises.HA_TA_Id GROUP BY dbo.Tipo_Analise.TA_Id, dbo.Historico_Analises.HA_Id, dbo.Historico_Analises.HA_Ind_Suplem ORDER BY [Tipo de Análise] Uma dúvida: porque o TOP (100) PERCENT? Se você está pegando 100%, esta informação pode ser suprimida....
  10. A chamada está correta: exec A_01 @Date_st='01-01-2000', @Date_end='01-01-2009', @Insurance=Null O problema está na hora de manipular a variável "@Insurance" dentro da Procedure. você postou: CREATE PROC A_01 (@Date_st smalldatetime, @Date_end smalldatetime, @Insurance bigint) as SELECT HA_Id as An, HA_Seg_Id as Insur, HA_Data as Date from dbo.Hist_Cli WHERE (HA_Seg_Id = @Insurance) AND (HA_Data>=@Date_st and HA_Data<=@Date_end) Mas caso a variável "@Insurance" seja NULL, a estrutura deverá estar assim: CREATE PROC A_01 (@Date_st smalldatetime, @Date_end smalldatetime, @Insurance bigint) as IF @Insurance is null Begin SELECT HA_Id as An, HA_Seg_Id as Insur, HA_Data as Date from dbo.Hist_Cli WHERE (HA_Seg_Id IS NULL) AND (HA_Data>=@Date_st and HA_Data<=@Date_end) End Else Begin SELECT HA_Id as An, HA_Seg_Id as Insur, HA_Data as Date from dbo.Hist_Cli WHERE (HA_Seg_Id = @Insurance) AND (HA_Data>=@Date_st and HA_Data<=@Date_end) end Faça os testes pra ver se executa.
  11. fulvio

    Iniciante em VBA

    Bom dia Dery, Faça o rastreamento da mensagem "Campo Obrigatório!" no fonte. Lá provavelmente terá uma verificação dos textbox´s obrigatórios. Caso queira desconsiderar algum campo, basta retirar suas verificações. Caso queira retirar as verificações de todos e deixar a mensagem, retire o "exit sub" logo após a mensagem.
  12. Bom dia Viperino, Na verdade você está passando sim o valor NULL para a variável. Mas o problema não está na passagem de parâmetro. O comando aparece "successfully" e está ok mesmo. :.) No primeiro select que postou, dê uma olhada onde está em negrito: Select HA_Id, HA_Seg_Id, HA_Data from dbo.Hist_Analysis where (HA_Data BETWEEN CONVERT(DATETIME,'2001-01-01 00:00:00', 102) AND CONVERT(DATETIME,'2009-01-01 00:00:00', 102) AND (HA_Seg_Id IS NULL) Quando você cria a procedure e passa NULL para a variável "@Insurance", você faz WHERE (HA_Seg_Id = @Insurance). Está aí o problema. Ao invés de IS NULL você está fazendo =NULL. O comando realmente executa sem erro, mas o retorno será diferente.
  13. Bom dia Amigo, Seu post está no Forum errado, mas aproveitando... rs. No VB6 você consegue abrir qualquer aplicativo com o comando SHELL. Sintaxe: Shell ("C:\Arquivos de programas\...\... .exe", 1). A sintaxe com o numero "1" no final, deixa a tela em primeiro plano. você também consegue emular o clique no teclado. Sendo assim, você pode abrir o aplicativo, deixá-lo em primeiro plano e emular os cliques no teclado. Neste exemplo, você abre o bloco de notas e insere a palavra teste: Dim apl As String apl = Shell("C:\WINDOWS\system32\notepad.exe", 1) SendKeys ("teste") OBS.: se a pessoa clicar mais de uma vez no botão, irá abrir N vezes o bloco de notas. você pode colocar a sintaxe "App.PrevInstance", que identifica se já possui alguma instância aberta do aplicativo. Espero que ajude... :.)
  14. Bom dia Amigo. Quando preciso centralizar os objetos de acordo com o tamanho da tela, no "Resize" do form coloco a sintaxe: Botao.Left = formTeste.Height / 2 --> este apenas para centralizar. Caso queira modificar altura: Botao.Top = formTeste.Width / 2 Testa aí e vê se assim resolve... :.)
  15. Bom dia Antonio, Há softwares para fazer esta conversão. Conheço o DBConvert (Shareware). Dá uma pesquisada na net que encontrará muitas ferramentas de conversão. :.)
  16. Bom dia Poupas, você pode utilizar a função SetFocus no evento click num botão. Esta implementação estará no evento do Botão, no caso do seu exemplo acima. Ex.: txtCampo.SetFocus
  17. Bom dia Alex, Em aplicações, coloco o help com a extensão chm. Quando abro o aplicativo, já a disponibilizo na função F1. Sintaxe: App.HelpFile = App.Path & "\Help_Teste.chm" Mas caso tenha no menu a chamada para o help, pode utilizar a sintaxe (no lugar do arquivo .chm, pode-se colocar a extensão .htm): Dim Ie As Object Set Ie = CreateObject("InternetExplorer.Application") Ie.Visible = True Ie.Navigate App.Path & "\Help_Teste.chm" Não especifique o caminho do help na aplicação, tipo c:\Arquivo de programas\.... Se você fizer isto, caso o usuário queira instalar o aplicativo em outra pasta, dará erro. A função App.Path resgata o caminho onde se encontra o executável. Sendo assim, sempre coloque o help na pasta do executável. Espero que ajude.... :.)
  18. Bom dia Alexandre, Não entendo muito de servidores TS.... mas o problema pode estar na banda. Já tive um problema parecido com videoconferência: como a rede era antiga, a vídeo rodava utilizando o protocolo TCP/IP. O aplicativo "pegava" toda a banda disponível para execução da video. Ao disponibilizar a videoconferência, as aplicações concorrentes ficavam uma carroça, mesmo os servidores serem distintos e sem sobrecarga. Dá uma olhada nisto. Espero ter ajudado... :.)
  19. Boa tarde Flecha, Aproveitando este post, tenho um aplicativo pequeno e simples que utilizo para isto. Vale a pena dar uma olhada. Não necessita instalação. Ele fica ativo ao lado do relógio do Windows. Coloquei o .RAR no link abaixo para download. :.) http://www.4shared.com/file/253815659/65d0...roll_do_VB.html
  20. Boa tarde Rodirgo, Para deletar a linha, pode-se utilizar a sintaxe: ListView.ListItems.Remove (ListView.SelectedItem.Index)
  21. fulvio

    Reporting Services

    Bom dia André, Dados sobre o SQL Server Express com recursos Advanced Services: http://msdn.microsoft.com/pt-br/library/ms365248.aspx Download: http://www.microsoft.com/downloads/details...d0-1311d670e336
  22. Boa tarde Martins, Não sei se a query está correta (não olhei a sua sintaxe, mas sim o erro), mas o que faltou foram alguns parênteses. Dá uma olhada aí: SELECT nomecliente, midia, tipo_medida, sum(qtd) as qtd, sum(qtd_negativa) as qtd_negativa, sum(qtd_neutra) as qtd_neutra, sum(Convert(VarChar(10),(Convert(Numeric(10,2), tempo)))) as tempo, sum(Convert(VarChar(10),(Convert(Numeric(10,2), tempo_negativo)))) as tempo_negativo, sum(Convert(VarChar(10),(Convert(Numeric(10,2), tempo_neutra)))) as tempo_neutra FROM usr_view_insercao WHERE nomecliente='CEG' AND dia1>='2009.05.05' AND dia1>='2009.05.05' AND midia='TV' AND codConcorrente = 0 group by midia, nomecliente, tipo_medida
×
×
  • Criar Novo...