
Duduh_Capixaba
Membros-
Total de itens
258 -
Registro em
-
Última visita
Tudo que Duduh_Capixaba postou
-
Erro ao chamar relatório em outras máquinas
pergunta respondeu ao Duduh_Capixaba de Duduh_Capixaba em Crystal Reports
hum, vou tentar. depois posto aqui o resultado. vlw! -
Estou tentando rodar um aplicativo que criei no VB, que possui um relatório do Crystal, em uma máquina que não possui o Crystal instalado e recebo o seguinte erro: "Run-time error '429': ActiveX component can't create object" A primeira vez que tentei rodar, o erro era que o DLL "crviewer.dll" não existia. Coloquei essa DLL junto com o meu aplicativo e agora recebo esse erro acima. Tenho que instalar mais alguma coisa? Qual é o procedimento padrão que todos adotam? Esse é meu código para chamar o relatório: Private Sub Form_Load() Dim crApp As New CRAXDRT.Application Dim crRep As New CRAXDRT.Report Set crRep = crApp.OpenReport("X:\Caminho\Relatorio.rpt") crViewer.ReportSource = crRep crViewer.ViewReport Na minha máquina, onde o Crystal está instalado, o aplicativo roda normalmente.
-
Como chamar um relatório feito no Crystal?
pergunta respondeu ao Duduh_Capixaba de Duduh_Capixaba em Crystal Reports
agora eu estou pegando o jeito do CrystalActiveXReportViewer. já vi que tenho todos os controles que preciso nele. a questão de maximizar eu já resolvi tb. é que eu colocava o componente no meio do form e quando eu maximizava o form o componente continuava no mesmo tamanho, claro. mas resolvi com o comando .Move. vlw! -
Como chamar um relatório feito no Crystal?
pergunta respondeu ao Duduh_Capixaba de Duduh_Capixaba em Crystal Reports
tenho sim kuroy (isso é uma referência, certo?! não um componente), inclusive estou usando ele porque já tinha lido este tópico que você deixou na msg acima. tudo que eu fiz foi baseado nesse tópico. só que ao invéz de "Crystal Reports Design Run Time Library" eu tenho o "Crystal Reports ActiveX Design Run Time Library", não sei se é a mesma coisa. minha dúvida é com questão às formas de trabalhar com os componentes do Crystal. esse componente CrystalActiveXReportViewer é até bom, mas não vi como fazer com que ele se maximize junto com o form, por exemplo. se tiver um outro componente que eu possa estar usando gostaria de experimentar. -
Olá galera, seguinte... Instalei o Crystal Reports 10 na minha máquina e fiz um relatório simples de cadastro de clientes que está funcionando perfeitamente. Quero saber todas as maneiras de como chamar este relatório em meu projeto VB6. Testei o componente CrystalActiveXReportViewer e consegui listar o relatório numa boa, mas gostaria de saber se existem outras formas, pois acompanhando algumas apostilas (velhas) vi que muitas pessoas usam o componente Crystal Report Control (crystl32.ocx). Eu até tenho essa OCX registrada, mas ela não funcionou. Uma pena, pois parece que ela oferece muito mais controles.
-
Qual versão do Crystal é boa pra iniciantes?
pergunta respondeu ao Duduh_Capixaba de Duduh_Capixaba em Crystal Reports
hum, beleza, era isso que eu queria saber, se as versões mais novas são pesadas. bem, vou comprar a 11 então. na verdade, eu não gosto de instalar um programa que fica ocupando tanto espaço no meu HD e eu não aproveito metade do que ele faz. tipo o Nero...pô, só uso ele pra gravar CD e DVD de dados e música, e as versões mais novas vem cheias de lengo lengo que eu não utilizo. preferia as primeiras versões! deu pra sakar qual minha preocupação?! sou meio chato pra essas coisas. mas vlw pela dica. flws!!! -
Qual versão do Crystal é boa pra iniciantes?
pergunta respondeu ao Duduh_Capixaba de Duduh_Capixaba em Crystal Reports
kuroi, obrigado pela resposta. na verdade, eu não quero uma versão mais fácil ou mais difícil. eu já mexo com relatórios em outro programa que eu trabalho aqui no escritório, tenho uma certa manha com isso já, não vai ser difícil pra mim aprender o Crystal. o que eu quero mesmo é uma versão light, tipo, pra quê instalar uma versão que vai ocupar 1Gb no meu HD, cheia de funções que eu não vou usar, se eu posso instalar uma de 100Mb que possui as mesmas funções essenciais de uma versão mais nova e que vai me atender bem?! deu pra entender? mas pelo que eu venho lido, parece que o pessoal gosta mesmo dessa versão 8.5. muita gente fala dela. você ainda usa essa versão? ela te atende bem? eu só não quero correr o risco de comprar uma versão que vá me dar problemas futuros. -
Pessoas, estou querendo começar a usar o Crystal Report, mas não sei qual versão usar. Quero uma versão leve, que me atenda bem. Não precisa ser essas versões mais novas cheias de lengo lengo, quero algo que funcione e me dê flexibilidade para montar relatórios complexos. E aê, qual versão? 7, 8, 9, 10, 11???
-
deixa que eu respondo essa: corretíssimo! :) isso eu faço sempre, hehe. acho que entendi bem o conceito do SET. agora é praticar pra dominar bem. vlw pelas respostas!
-
é, o DIM eu já conheço bem, sei pra quê serve. estou començando a entender melhor a idéia do SET. fiz um programa aqui que exibe e esconde os dados de um grid, assim: Private Sub Command1_Click() Set DataGrid1.DataSource = Nothing End Sub Private Sub Command2_Click() Set DataGrid1.DataSource = Adodc1 End Sub um botão exibe os dados, o outro esconde. outra coisa que eu faço aq em meus projetos é declarar uma variável já com o comando NEW, assim: Dim Dados As New ADODB.Recordset pode ser feito assim tb, certo?!
-
e como está montado o Command do seu DataEnvironment? por tabela ou comando SQL? use isso para que seu Command receba um novo comando SQL: DataEnvironment1.Commands("COMMAND1").CommandText = "SELECT * FROM TABELA" onde COMMAND1 é o nome do Command que você quer atribuir a nova SQL
-
senhores, tenho uma dúvida quanto a esses dois comandos: DIM e SET qual a diferença entre eles? esses dois comandos parecem ter a mesma função, ou eu estou falando besteira? é porque eu só uso o DIM em minhas aplicações e nunca precisei do SET. mas sempre vejo nos códigos do pessoal o comando SET. gostaria de saber qual a função dele. vlw!
-
aham, tamo aê pra isso parcêro! :) eu tb estou começando em VB, tenho muito a aprender por aqui. e ajudando outros usuários com seus problemas a gente acaba aprendendo mais tb. galera, quanto a meu post logo acima, vou abrir um tópico novo, é melhor assim.
-
Assino embaixo!!! Macêdo ou Kuroi, uma coisa que eu sempre quiz perguntar...qual a diferença do DIM pro SET? esses dois comandos parecem ter a mesma função, ou eu estou falando besteira? é porque eu só uso o DIM em minhas aplicações e nunca precisei do SET. se for um assusto muito longo e eu estiver atrapalhando o tópiko do Gabriel me falem que eu abro outro. vlw!
-
cara, o erro não tá nesse código que você mostrou aí não...pois, depois da mensagem "Registro não existe", dentro da primeira condição do seu IF, só há uma instrução onde a sua variável StringSQL recebe os dados SQL para inserção, mas não há nenhuma instrução de EXECUTE, sacou?! tá faltando um objeto ADODB.Command nesse seu código. bom, pelo menos é assim que eu procedo pra gravar nas minhas bases. bem, o que eu estou tentando explicar é que com esse código que você apresentou não há possibilidade de nada estar sendo gravado em uma base de dados. por isso, verifique seu código passo-a-passo com a opção Debug > Step Into (F8). com isso, você pode ver seu código em tempo de execução do programa.
-
não estou vendo no seu código onde você informou ao seu recordset o código SQL. para que seu código funcione, você deve informar sua SQL. tipo assim: stringSQL = "SELECT * FROM TABELA" rs.open stringSQL, Conexao if rs.EOF then... se não, seu recordset não terá registro algum para procurar.
-
sua lógica não tá errada, mas tente utilizar o comando EOF do seu recordset para verificar se um registro já existe ou não. exemplo: StringSQL = "SELECT * FROM FinanWin_ConP WHERE ConP_Cod Like '" & txtConP_Cod & "' AND ConP_NumParc Like '" & txtConP_NumParc & "' And ConP_NumDoc Like '" & txtConP_NumDoc & "' And ConP_Venc Like '" & txtConP_Venc & "'" rs.open StringSQL, Conexao if rs.EOF then MsgBox "Registro não existe" else MsgBox "Registro existe" end if rs.close
-
e depois disso se você quiser voltar com todos os registros da tabela, chame a instrução SQL referente a todos os registros (e destrave os botões de movimentação).
-
Option Button - "Navegação" nos registros
pergunta respondeu ao Gabriel Cabral de Duduh_Capixaba em Visual Basic
Gabriel, a resposta do Macêdo está correta, mas ele está levando em conta que você está gravando o valor dos OptionButtons na sua base de dados. Apenas certifique-se disso, ok?! -
Gabriel, na minha visão, essa questão de duplicidade de registros envolve uma série de coisas. Desde a forma como seu aplicativo foi desenvolvido até a forma como sua base de dados foi desenvolvida. Me parece que isso que você postou é um controle de contas de clientes, certo?! Então veja esse exemplo: No sistema que eu trabalho, o programador colocou como chave primária a coluna DOCUMENTO. Essa coluna é gerada automaticamente ao se finalizar uma venda e recebe como dados o número da venda mais o número de parcelas da venda. Tipo, você acabou de efetuar a venda número 10 com duas parcelas, então serão gerados os documentos 101 e 102. Como a coluna DOCUMENTO é uma chave primária, o próprio gerenciador da base de dados (no nosso caso o Firebird) não permitirá valores repetidos, acusando um erro. Cabe ao nosso programador tratar esse erro com palavras claras ao usuário, caso o mesmo aconteça. Deu pra entender? Espero ter ajudado e não complicado, hehe :P
-
cara, e se você criasse uma coluna nova na sua base de dados para marcar estes produtos? tipo, criar uma coluna com o nome COINCIDE e gravar essa coluna com um "S" caso as contagens se coincidam. Na hora de criar o relatório, bastaria fazer o filtro com a coluna COINCIDE = "S".
-
cara, tenta isso para se movimentar: Data1.Recordset.MoveNext - próximo Data1.Recordset.MovePrevious - anterior Data1.Recordset.MoveFirst - primeiro Data1.Recordset.MoveLast - último para a caixa de texto receber os dados, indique sua opção DataSource para receber os dados (Data1) e o DataField para receber a tabela desejada da base de dados.
-
não querendo tirar o foco do tópico, mas estou precisando de uma ajuda quanto a disposição de forms tb. vejam se podem me ajudar nessa: tenho um form principal grande e um form2 menor que o principal. consegui que esse form2 ficasse "encaixado" entre a minha toolbar e a statusbar direitinho, só ajustando as propriedades Top e Left. só que eu fiz o projeto num pc de resolução 1024x768, e quando abro o programa em outra resolução de tela o form2 se reposiciona =/ como "fixar" o form2 dentro do form principal independente da resolução de tela? detalhe: setando a propriedade StartUpPosition do fom2 para CenterScreen eu consigo posicionar a horizontal, mas a vertical fica errada. --------------------------------------------------------------------------------------------------------------------------------------------- opa galera, já achei a solução aqui: Private Sub Form_Load() Me.Left = frmPrincipal.Left + N1 Me.Top = frmPrincipal.Top + N2 End Sub onde N1 e N2 são as cordenadas de onde você quer deixar o form2.
-
Como Gerar Códigos Numa Determinada Coluna?
pergunta respondeu ao Duduh_Capixaba de Duduh_Capixaba em Visual Basic
aê, já consegui resolver meu problema. o que eu fiz: criei um arquivo txt que guarda o último cliente cadastrado, tipo, esse arquivo é editado pelo usuário uma vez, pra começar o contador, e a partir daí ele se acrescenta sozinho. exemplo: você não tem nenhum cliente cadastrado no programa, então o arquivo txt deve conter o número zero. a partir do momento que você grava o primeiro cliente (cliente 01) o arquivo guarda o número 1, e assim por diante. foi a única solução que arrumei, se alguém souber uma outra mais fácil eu agradeceria. vlw! -
Fala moçada, seguinte... Aprendi a salvar dados numa base onde o usuário fornece todos os dados, exemplo, uma tabela CADCLIENTE com as colunas: CODCLI, NOMECLI, TELEFONE e dados: 01, FUANO DE TAL, (01) 2345-6789 Private Sub btnSalvar_Click() Dim ComandoSQl As String Dim Comando As New ADODB.Command ComandoSQl = "SELECT * FROM CADCLIENTE WHERE CODCLI = " & _ txtCodigo.Text TbCli.Open ComandoSQl, StringConexao, adOpenStatic If TbCli.EOF Then ComandoSQl = "INSERT INTO CADCLIENTE(CODCLI, NOMECLI, TELEFONE) " & _ "VALUES (?, ?, ?)" TbCli.Close Comando.ActiveConnection = StringConexao Comando.CommandText = ComandoSQl Comando.Parameters(0) = txtCodigo.Text Comando.Parameters(1) = txtNome.Text Comando.Parameters(2) = txtTelefone.Text Else ComandoSQl = "UPDATE CADCLIENTE SET NOMECLI = ?, TELEFONE = ? " & _ "WHERE CODCLIE = " & txtCodigo.Text TbCli.Close Comando.ActiveConnection = StringConexao Comando.CommandText = ComandoSQl Comando.Parameters(0) = txtNome.Text Comando.Parameters(1) = txtTelefone.Text End If Comando.Execute End Sub assim eu salvo o cliente FULANO DE TAL com o código 01. agora a pergunta: como eu faria pra salvar um novo cliente com o código 02 sem que o usuário tivesse que fornecer esse código? nesse código eu uso um EOF pra averiguar se o código 01 já existe na base, mas não consegui que o programa me retornasse o último registro da tabela pra somar mais um. ainda estou muito cru no manuseio de bases, por isso peço ajuda. vlw!