Ir para conteúdo
Fórum Script Brasil

BStar

Membros
  • Total de itens

    70
  • Registro em

  • Última visita

Tudo que BStar postou

  1. Olá kandrade... Então... eu estou pegando direto da planilha Excel, to abrindo ela e fazendo o insert direto. Aqui eu abro a planilha: SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;DATABASE=C:\bancos\cpf.xls', 'SELECT CPF FROM [plan1$]'); Depois crio a tabela: CREATE TABLE TB_CPF ( CPF VARCHAR (100) ); Depois faço o Insert: INSERT INTO TB_CPF SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;DATABASE=C:\bancos\cpf.xls', 'SELECT CPF FROM [plan1$]'); E, quando faço o Select da TB_CPF, aparace desse jeito: Alguma sugestão? Obrigado mais uma vez. (ps: OPENROWSET é usado para abria uma planilha em excel como se fosse um banco de dados mesmo) (ps2: Já tentei diminuir o tamanho do campo mas acontece a mesma coisa :()
  2. Opa fulvio, obrigado pela rápida resposta. Então... Segundo a sua sugestão, eu criei um campo do tipo String (VARCHAR(14))... Mas acontece que quando efetuo os Inserts, ele insere normalmente mas adiciona uns caracteres estranhos... Um exemplo: no Excel está 00001106120 e quando eu faço o insert, ele insere assim: 1.10612e+006 :( Será que tem como resolver? Mais uma vez obrigado! Abs!
  3. Olá pessoal... Bom... Estou com um problemão aqui e quero contar com a ajuda de vocês: Eu tenho uma planilha .xls que possui um campo chamado CPF; Esse campo possui 15.000 registros e eu vou importá-los para o SQL Server 2005, até ai tudo bem; O problema é que alguns cpf's possuem '0' (zeros) na frente (Esquerda) nessa planilha ex: 000123456700 e, quando tento importar para o SQL Sever, ele some com os zeros da frente ficando assim: 123456700. (ahh preciso saber também se o tipo do campo criado no sql server pode afetar em algo na hora da importação) Isso pode variar, tipo, tem horas que as 4 primeiras "casas" do campo CPF contém zeros (000012345600), tem horas que só as 3 "casas" (000123456700), tem horas que 2 ou 1 casa possui zero na frente. A minha idéia era fazer um insert + loop + if e ir inserindo 0 (zeros) a direita conforme a necessidade (sempre serão nestes 4 casos). Mas como sou novo no SQL Server, gostaria de uma ajuda... O meu muito obrigado por enquanto.
  4. Cara, eu tenho um exemplo muito parecido com isso que você quer mas está em casa... Depois da faculdade eu posto aqui ok? (dando up no meu problema também:()
  5. Ninguém mesmo? :( Sério... Ainda não achei solução para esse problema.
  6. É um pouco mais complicado que isso... Essa linha apenas indica onde esta o seu banco de dados... Para você fazer inserções nele, é preciso criar a conexão com o banco de dados, algumas variáveis (dependendo do tanto de informações que irão ser salvas), um formulário e mais algumas linhas de códigos em vb... Qualquer coisa dá um grito que tentamos te ajudar! abs!
  7. Sim já usei... Mas mesmo assim, achei muito limitado e nada prático por exemplo: Como faço para fazer esse tipo de query nele: SELECT a.campo, a.campo2, a.campo3, b.campo, b.campo2, b.campo3, c.campo, c.campo2 FROM (tabela a INNER JOIN tabela b ON a.campo = b.campo) INNER JOIN tabela c ON b.campo2 = c.campo2 Entendeu? No access é ruim de fazer por isso eu preciso de um programa para administrar o meu arquivo .mdb... Ninguém aqui usa outra opção para mexer com o access? Para fazer queries? Mais uma vez obrigado!
  8. Olá! Então cara, estou procurando algo para manipular os dadosn que eu já possuo e não um banco de dados em si! Aqui onde trabalho, usamos SQL server 2005 e Access em algumas aplicações de pequeno porte. No SQL Server, quando preciso fazer alguma consulta (query) eu uso o Management Studio do própio SQL Server que é excelente por sinal... Mas para o Access, eu preciso de uma ferramenta de manipulação que seja igual ou superior ao SQL Explorer (O SQL Explorer é usado para exibir consultas sql (query) de forma rápida) Entendeu? Usar a parte de consulta do Access está fora de cogitação pois achei ele muuuuito limitado se comparado aos outros disponiveis no mercado. Mais uma vez obrigado!
  9. Olá galera, boa tarde... Então... Já algum tempo que venho usando o SQL Explorer que vem no cd do Delphi 7 para fazer consultas no Access.... O problema é que eu não consigo instalar ele sem ter que instalar o Delphi na minha máquina (nem em Delphi eu programo :(). Se eu tento instalar ele na minha máquina, da erro e não instala... Já tentei uma porrada de coisa mas não adianta... Já procurei também outros programas mas não consegui achar nenhum que tenha uma boa performance ou até melhor que o SQL Explorer :( Já decidi que não quero mais usar o SQLExplorer... E aí? Quais programas vocês usam e poderiam me indicar? Se for Free melhor heim :D. Abraço e o meu muito obrigado a todos :D
  10. Fala Kuroi, tudo bem? Então cara... Eu to fazendo um relatório que trabalha com faixa de valores... Eu preciso somar os valores num determinado intervalo mas não deixar que essa soma ultrapasse o limite máximo do meu intervalo... De maneira grosseira seria algo como: selecione o campo_valor e o campo_codigo da tabela xpto quando o campo_código for igual a 5 e o campo_valor for >= 100 Reais e o campo_valor for <= 500 Reais mas só exiba os valores até chegar nos 500 citados acima Ai, ele teria que fazer uma espécie de count e ir somando linha por linha até chegar nos 500 ou próximo disso para não estourar o limite (500)... No caso da imagem abaixo, ele teria que parar na quarta linha e somar esses 4 valores e imprimir isso no meu campo (que eu também não sei de que tipo que crio no crystal, se é do tipo running ou formula?!?). Se ele passar para a quinta linha, já iria ultrapassar o valor pretendido... Não sei se criando uma função em vb num campo formula iria dar certo.... (se ainda não ficou claro, eu tento exemplificar melhor) Mais uma vez, obrigado por ceder parte do seu tempo para ajudar. Abraços e bom fim de semana a todos!
  11. Olá galera... Olha eu aqui mais uma vez... Bem... Estou com um "probleminha" aqui meio chato... Eu queria pegar um intervalo de valores e somar tudo que estiver nesse intervalo... Mas, eu não queria que essa soma ultrapassasse o valor do final do intervalo... tipo {Comando.CODIGO} = "1" and Sum ({Comando.VALOR_TOTAL}, {Comando.NOME}) <= 2000.01 AND Sum ({Comando.VALOR_TOTAL}, {Comando.NOME}) >= 3000 // (e que essa soma, não ultrapasse o valor do ultimo parâmetro, no caso, 3000) Porque se nesse intervalo eu tiver pelo menos dois campos com valores de R$ 2000, já iria "estourar" minha soma! Acho que ele tem que fazer tipo um loop ou algo parecido... Se não fui muito claro, é só dizer que tento exemplificar melhor... Quem puder ajudar, ficaria muito grato! Abraços a todos!
  12. Então Kuroi, depois de testes e mais testes, cheguei a conclusão de que funcionou perfeitamente desse jeito que você fez :D No primeiro campo estava funcionando mas no segundo não... Depois eu fiz como você falou, "setei" o o valor do ano igual ao do mês e funcionou! Eu baixei esse exemplo que você disponibilizou mas vou executar em casa pois o Crystal daqui é o 2008... Depois que eu formatar direitinho, vou postar um Print da "Obra Prima" :D Mais uma vez o meu muito obrigado pela ajuda e por ter disponibilizado o seu tempo para resolver esse problema! Abs!
  13. Opa kuroy, beleza? Estou testando aqui e, aparentemente funcionou agora :D Só queria que, se possível e quando você tiver um tempinho, me explicasse o que essa função faz. Eu fiquei confuso porque eu tinha achado que no lugar que você colocou "m" era para ir um "M" (maiusculo) por conta do mês... Pra eu, "m" trarias os minutos somente... Abs e assim que eu terminar de verificar direitinho, vou postar o resultado ok? Obrigado mais uma vez...
  14. Isso... mas de uma forma dinâmica... Tipo, eu tenho 4 campos, atualmente eles são dinâmicos do tipo runnig total fields... cada campo tem a seguinte formula: campo mês atual [code]Month ({Comando.DATA_LANCAMENTO}) = Month (CurrentDate) and Year ({Comando.DATA_LANCAMENTO}) = Year (CurrentDate) campo mês atual - (menos) 1 (um mês) Month ({Comando.DATA_LANCAMENTO}) = Month (CurrentDate) - 1 and Year ({Comando.DATA_LANCAMENTO}) = Year (CurrentDate) campo mês atual - (menos) 2 (dois meses) Month ({Comando.DATA_LANCAMENTO}) = Month (CurrentDate) - 2 and Year ({Comando.DATA_LANCAMENTO}) = Year (CurrentDate) campo mês atual - (menos) 3 (três meses) Month ({Comando.DATA_LANCAMENTO}) = Month (CurrentDate) - 3 and Year ({Comando.DATA_LANCAMENTO}) = Year (CurrentDate) Os campo são da direita para esquerda, o mês corrente está no campo da direita e os anteriores estão a partir desse para a esquerda... Dessa forma, funciona como você pode ver no print: Mas quando eu adianto o relógio do pc para janeiro de 2010, já era, ele só traz o mês de janeiro e não traz mais o de dezembro e novembro por conta do ano :(... Como resolver? Vou tentar isso que você falou... O meu muito obrigado por enquanto!
  15. Então Kuroi, eu não entendi direito o que essa formula faz... Pra esse relatório, eu não uso parâmetro algum, o usuário simplesmente clica num link e é gerado esse relatório automaticamente a partir da data atual contanto os meses anteriores a esse (atual) ... O problema é que quando for janeiro de 2010 por exemplo, eu quero que ele me traga a soma dos valores de jan 2010, dez 2009 e nov 2009. Como é que eu faço isso sem que ele some (+) janeiro de 2010 com janeiro de 2009 uma vez que estou só comparando os meses e pedindo para trazer quando o mês for = X e o ano = ano atual? O que me preocupa é na virada do ano... como posso fazer? porque no mês de Dezembro, eu tenho que fazer mês de Janeiro (1) - 1 que da zero e não 12 (mês de dezembro que eu preciso) :( Como é que eu posso usar essa sua formula no próprio crystal? Mais uma vez Obrigado por me ajudar nessa bucha! Abs!
  16. Ninguém que tenha uma lógica boa aí pra ajudar? :( O relatório esta feito, mas quando for Janeiro e Fevereiro de 2010 vai dar zebra porque não vai me retornar nada :(
  17. Agora me deparei com outro problema: Quando nessa formula acima, eu trago os meses do anos sequente quando o meu campo data for igual ao ano corrente... Mas como que vou fazer, quando o mês for 01 e o ano for 2010 e eu tiver que trazer os meses antes disso? Do jeito que está, não vai me retornar nada pois eu estou dizendo que o ano tem que ser igual ao ano corrente e não ao ano anterior também :( Alguém tem alguma idéia? Abs!
  18. Então... Resolvi (parcialmente) fazendo uma gambiarra (eu não acho que seja pois usei o que o Crystal me oferece :D) nos campos Running Total Fields... Month ({Comando.DATA}) = Month (CurrentDate) - 1 and Year ({Comando.DATA}) = Year (CurrentDate) Onde o - 1 faz papel de count para o mês (Month ) na minha formula... Dessa forma, nos outros campos eu substituo o 1 por 2, 3, 5... Ahhh Crystal Syntax ok? Abs e muito obrigado a todos por enquanto
  19. Sei que no Oracle, existe uma função para me retornar a data corrente... SQL> SELECT SYSDATE FROM DUAL; SYSDATE -------- 07/08/09 Aí eu jogaria (e formatava) esse resultado em um campo e usava ele como parâmetro tipo SYSDATE - 1 o que me resultaria em 07/07/09 No Crystal, como estou usando .mdb, eu não sei como é que eu teria que fazer a instrução SQL :(
  20. Legal Kuroi.. Eu criei os Running total fields com os meses certinho... Ele esta me trazendo exatamente o que eu quero... O problema agora é que, AGORA eu tenho que mostrar os últimos 3 meses... Tipo, se eu vou visualizar esse relatório na data de hoje, eu queria que ele me mostrasse, a partir de hoje, 3 meses atrás: Como estamos em AGOSTO, ele me mostraria Agosto, Julho e Junho... Exatamente nessa ordem... Quando fosse-mos para o mês de Setembro, ele me mostraria Setembro, Agosto e Julho e assim por diante... O que complica agora, é que tem que ser dinâmico por mês... É como se fosse um Select GetDate [data_atual] -1 para mostrar o mês atual e o mê anterior... Tem como fazer? E mais, você tem algum link que ensina a mexer com o CrossTab? Eu nunca fiz isso e nem tenho idéia de como começar... Se você tiver algum material pra me indicar, ficaria muito grato! Abraço e mais uma vez obrigado.
  21. Boa tarde pessoal, tudo bem? Bom... Vamos ao meu probleminha: Como é que eu tenho que fazer para trazer valores somente quando o mês é igual ao que eu quero? Tipo... janeiro fevereiro março abril maio junho julho agosto soma x soma y soma z soma x soma v soma x soma f soma d eu fiz algo do tipo: (crystal syntax) Month ({Comando.DATA_LANCAMENTO}) = 01 <<< me traria os valores de janeiro Month ({Comando.DATA_LANCAMENTO}) = 06 <<< me traria os valores de junho O problema é que eu tenho várias linhas com a mesma data e ele, mesmo colocando "Sum" no Running Total Fields, não está somando, ele me trás somente o primeiro valor do mês e pronto, o restante dos dias desse mês ele ignora :( Eu preciso que ele some todos os valores que estão dentro de um mês (ex: de 01/01/2009 a 01/31/2009) independente dos outros campos serem de valores diferentes... Tipo, várias pessoas e eu quero somar o quanto todas elas (total geral) tiveram de desconto em cada mês Como faço para resolver isso? O meu muito obrigado por enquanto
  22. Mas você usa o Crystal Report ou o ReportViewer? Será que pode colocar um exemplo de como você faz? Já estou ficando desesperado por não conseguir fazer funcionar em meu servidor... Se fossem um ou dois relatórios beleza, eu faria em DataGrid no próprio VB/AspNet... Mas são 11 relatórios que eu levei 2 meses fazendo e agora não funcionam :( E desanimador! :( Obrigado pelo retorno!
  23. Olá Tiago_BB, o código e um pouco grande mas, basicamente, ele consiste em pegar alguns parâmetros, fazer a consulta, e jogar o resultado no relatório que esta numa segunda pagina (code 2) Default.aspx Protected Sub btnBuscar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnBuscar.Click Dim CANAL As New CrystalDecisions.Shared.ParameterValues Dim CAMPO As New CrystalDecisions.Shared.ParameterDiscreteValue 'Parametros Dim Convenio As String = listPrestador.Text Dim Hospital As String = txtHospital.Text Dim Paciente As String = txtPaciente.Text Dim Cid As String = txtCid.Text Dim Guia As String = txtGuia.Text 'obtem e formata o valor das datas Dim dataIni, dataFin As String If txtDataMin.Text = "" And txtDataMax.Text = "" Then txtDataMin.Text = "01/01/2008" txtDataMax.Text = (DateTime.Now.ToString) End If If txtDataMin.Text = "" And txtDataMax.Text <> "" Then txtDataMin.Text = "01/01/2008" End If If txtDataMin.Text <> "" And txtDataMax.Text = "" Then txtDataMax.Text = (DateTime.Now.ToString) End If Dim data1 As Date = txtDataMin.Text dataIni = String.Format("{0:dd/MM/yyyy}", data1) Dim data2 As Date = txtDataMax.Text dataFin = String.Format("{0:dd/MM/yyyy}", data2) '******************************************************** Dim strReportName As String = "rpt1Prestadores" 'define o caminho e nome do relatorio Dim strReportPath As String = "C:\RELATORIO\WebRelatorios\www" & "\" & strReportName & ".rpt" 'verifiqa se o arquivo existe If Not IO.File.Exists(strReportPath) Then Throw (New Exception("Relatorio não localizado :" & vbCrLf & strReportPath)) End If '******************************************************** Dim Relatorio As New ReportDocument Relatorio.Load(strReportPath) 'Data Inicial CAMPO.Value = dataIni CANAL.Add(CAMPO) Relatorio.DataDefinition.ParameterFields("DataI").ApplyCurrentValues(CANAL) 'Data Final CAMPO.Value = dataFin CANAL.Add(CAMPO) Relatorio.DataDefinition.ParameterFields("DataF").ApplyCurrentValues(CANAL) 'Convenio CAMPO.Value = listPrestador.Text CANAL.Add(CAMPO) Relatorio.DataDefinition.ParameterFields("convenio").ApplyCurrentValues(CANAL) 'Hospital CAMPO.Value = txtHospital.Text CANAL.Add(CAMPO) Relatorio.DataDefinition.ParameterFields("hospital").ApplyCurrentValues(CANAL) 'Guia CAMPO.Value = txtGuia.Text CANAL.Add(CAMPO) Relatorio.DataDefinition.ParameterFields("guia").ApplyCurrentValues(CANAL) 'Paciente CAMPO.Value = txtPaciente.Text CANAL.Add(CAMPO) Relatorio.DataDefinition.ParameterFields("paciente").ApplyCurrentValues(CANAL) 'cirurgia CAMPO.Value = txtCodCir.Text CANAL.Add(CAMPO) Relatorio.DataDefinition.ParameterFields("codigo").ApplyCurrentValues(CANAL) 'crio uma sessao e adiciono a essa sessao o meu relatorio para ser exibido em outra página Session.Add("rel", Relatorio) 'transfiro para outra pagina Server.Transfer("Rel1Result.aspx") End Sub Rel1Result.aspx (code 2) Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'chamo a sessao da pagina anterior, recupero e exibo o meu relatorio Dim Relatorio As CrystalDecisions.CrystalReports.Engine.ReportDocument = Session.Item("rel") Relatorio.SetDatabaseLogon("", "") <<<<<<<< já tentei isso e não funciona :( 'desabilita o prompt de parametro do Crystal CrystalReportViewer.EnableParameterPrompt = False 'desabilita o logo "business object" na toolbar CrystalReportViewer.HasCrystalLogo = False 'desabilita o "grupo raiz" 'CrystalReportViewer.DisplayGroupTree = False 'desabilita a toolbar CrystalReportViewer.DisplayToolbar = True CrystalReportViewer.ReportSource = Relatorio End Sub Sera que tem alguma coisa errada? Abraço!
  24. Atualizei para o Crystal Report 2008 e agora aparece so uma frase dizendo: "Falha de logon no banco de dados. " O que pode ser? ninguém passou por isso? Obrigado a todos! Abraço!
  25. Olá, Boa Tarde a todos... Bem, estou tendo problemas para publicar os meus relatórios na web pelo meu servidor. Meu IIS crei eu, esta configurado corretamente pois eu consigo publicar outras aplicações nele perfeitamente.... Bom, eu desenvolvi alguns relatórios no Crystal e junto com eles, duas telas em Asp.Net (aspx). Uma para a entrada de dados que serão usados como parâmetros de busca e a segunda contendo o CrystalReportViewer para a visualização dos relatórios. O problema é que eu todas vez que eu tento publicar ele pelo IIS, aparece uma tela me pedindo para entra com um usuário e uma senha... Não consigo entender pois esse banco de dados (.mdb)m, é um banco simples, não tem autenticação alguma. Quando executo pelo VS2005, ela (aplicação) funciona normalmente, mas quando compilo e tento rodar pelo meu IIS, dá esse “erro”: Pesquisei sobre desabilitar um tal de “EnablaDataBaseLogonPrompt mas ai, fica ainda pior: Já tentei, mexer com o web.config com algumas coisas que achei na net e nada também... Será que alguém já passou por essa situação e conseguiu resolver? Por enquanto, eu estou querendo publicar na minha própria maquina que está com o WinXP – Pro, IIS 5.1 e Crystal 8.5 (o que vem com o VS2005 eu acho). Depois disso, depois que estiver rodando beleza, eu vou instalá-la no nosso servidor com o Win2k3, IIS 6.1 e Crystal 8.5. ps. (Crystal Redistribute e ASPNET_REGIIS.EXE instalados) O meu muito obrigado a todos que ajudarem! Abraço!
×
×
  • Criar Novo...