Ir para conteúdo
Fórum Script Brasil

kuroi

Membros
  • Total de itens

    7.184
  • Registro em

  • Última visita

Tudo que kuroi postou

  1. kuroi

    Erro

    essa é a subquery: SELECT * FROM TB_GERAR_OF_OM_CAD WHERE situacao_of_om = '2' AND GERAR_OF_OM = 'OF' UNION ALL SELECT * FROM TB_GERAR_F_M_C WHERE situacao_of_om = '2' AND GERAR_OF_OM = 'OF'
  2. kuroi

    Erro

    o campo no_os existe nessas tabelas?? tenta executar so a subquery q esta dentro dos parenteses pra ver se vai.
  3. na verdade, acho q isso é na hora de abrir a conexao. você tem q setar o cursor no cliente, senao ele não consegue ler a qtde de registros selecionados. tente assim: Conn.CursorLocation = 3 Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.MapPath ("BD_Site.mdb") sql = " SELECT Orcamento.* FROM Orcamento " Set Rs = conn.Execute(sql) Response.Write Rs.RecordCount[/code]
  4. mizzu, a connection string deve ser essa aqui: http://www.connectionstrings.com/dbf-foxpro mas, pelo seu codigo, vejo q você esta fazendo em DAO. o melhor é usar ADO e fazer a conexao via OLE DB. de uma olhada nesses links: http://www.macoratti.net/dao_ado.htm http://www.macoratti.net/ado.htm
  5. não existe sumario por paginas no crystal (talvez em alguma versao mais nova q eu ainda não tenha usado). você pode usar um running total fields, mas o total vira acumulado. não da pra somar somente a pagina 2 separada e depois a 3 separada, por exemplo. agora, se você sabe exatamente qtos registros cabem em cada pagina, dependendo muito de como ta formulado o seu relatorio, você pode tentar de alguma forma, talvez saber quando a pagina acabou e resetar a soma. infelizmente, não to com crystal reports no pc aqui, então não posso fazer nenhum teste pra ver se encontro um caminho...
  6. kuroi

    Listview

    não entendi, almarante. se você já tem o codigo pra preencher a listview, e esta funcionando, porque você simplesmente não copia esse mesmo codigo pra hora q o formulario for aberto??
  7. pegue pelo ListIndex, no evento Click() da combo. exemplo: Private Sub Combo1_Click() If Combo1.ListIndex = 0 Then 'Opcao 1 Text1.Text = "valor1" ElseIf Combo1.ListIndex = 1 Then 'Opcao 2 Text1.Text = "valor2" ElseIf Combo1.ListIndex = 2 Then 'Opcao 3 Text1.Text = "valor3" End If End Sub[/code]
  8. kuroi

    DataReport

    não conheco o data report, mas se eu entendi o q você quer, no crystal reports, isso se chama "cross-tab". veja se você tem alguma opcao semelhante no data report.
  9. pra excluir você tem q fazer assim: conexao.Execute "Delete From nome_da_sua_tabela Where ID = " & codigo pra fazer a busca, usa o metodo Find() ou o Seek(), de uma olhada aqui: http://www.macoratti.net/ado_seek.htm
  10. é, eu sou praticamente o unico q acessa o forum de visual basic com frequencia, e como no momento eu to em viagem, a sala ta mais vazia q nunca, q tristeza... o package e deployment costuma adiconar todos os arquivos de biblioteca q foram adicionados no seu projeto (pelo menu Project -> Components ou Project -> References). ou seja, não adicione no projeto bibliotecas q você não vai usar, pra não pesar no tamanho do instalador depois. e é sempre bom adicionar todos os arquivos q o package apontar, porque o seu projeto deve estar usando todos eles. danleon, o inno setup registra as dlls sim, mas é você q tem q selecionar qual deve ser registrada. o flag se chama registerserver ou qualquer coisa assim, não lembro direito no momento. faz uma busca ai no forum q tem mtos topicos falando sobre o inno setup. acho q tem um do matheus-vb6 e tb um de um membro chamado rizuane onde discutimos bastante isso e tem bastante informacoes la, de uma olhada.
  11. kuroi

    Form Iidêntico

    frata, mas é no vb6 ou no vba excel?? se for no vb6, o q você tem q fazer é o seguinte: dentro do editor do vb6, vai la no form q você quer copiar. pra evitar conflito de dois nomes iguais, mude o nome do seu form (propriedade (Name)) para o nome q você quer q tenha o novo formulario (depois você volta o nome anterior pro form original). agora clique no botao de salvar. agora, pelo windows explorer, va ate a pasta onde esta salvo o seu formulario. copie o arquivos com as extensoes .frm e .frx q forem referentes ao seu formulario q você quer copiar (aquele q você deve ter mudado o nome). agora cole. altere o nome dos dois arquivos para o nome q você quer q tenha o novo formulario (o .frm e o .frx devem ficar com o mesmo nome). agora, volte no seu projeto no editor do vb6. no formulario original, volte para o nome antigo e salve. agora clique em menu Project -> Add Form e, na janela q abrir, selecione a aba Existing. selecione o formulario novo q você criou ao copiar o antigo e clique em Abrir. agora seu formulario deve estar copiado dentro do seu projeto e pronto pra usar. veja se é isso.
  12. sacofritoxd, na verdade não costuma se "abrir tabelas" no seu programa. quando a gente vai acessar os dados da tabela, a gente pode selecionar os registros na memoria (ou seja, le a tabela uma unica vez, e copia a selecao para a memoria, não ficando nenhum vinculo com a tabela no banco de dados. nesse caso, costumamos chamar o recordset como do tipo estatico), ou pode criar um ponteiro para os registros da tabela direto no banco de dados (nesse caso, chamamos o recordset de dinamico. tambem é desse modo q costuma ocorrer com os controles de dados). esse tutorial do macoratti da uma boa explicacao sobre isso: http://www.macoratti.net/dao_ado2.htm quanto a ficar abrindo e fechando, acontece q sempre q o programa termina de executar a rotina a q o recordset pertence, ele já é fechado automaticamente e o recordset é então destruido da memoria. ou seja, não se tem necessidade de mandar fechar (a não ser q você esteja usando varios recordsets na mesma sub, ou no mesmo form), mas é muito comum faze-lo por costume, ou pra se certificar q o fechamento esteja mesmo ocorrendo. eu acho q é preferivel q você coloque uma linha a mais pra fechar do q deixar o vb fechar sozinho, melhor fazer você mesmo do q depender q os outros facam. agora, quanto a recordsets publicos, caso você não chame o .Close() em nenhum momento, ele sera fechado somente no momento em q o programa for finalizado (ou caso você execute alguma outra query pra dentro dele). então, nesse caso, basicamente, a finalidade de fechar é q o espaco seja liberado da memoria. fora q os recordsets dinamicos ainda ficam com o ponteiro aberto para a tabela, e procuram por atualizacao dos registros e tudo mais. agora se influencia muito ou não... hj em dia, os equipamentos estao cada vez mais potentes, e as maquinas tem cada vez mais memoria, isso faz cada vez menos diferenca em aplicacoes pequenas. mas é sempre bom limpar a memoria, principalmente porque você não sabe qual a mquina q o cara vai usar, e sabe-se la se o banco de dados vai crescendo, de repente pode fazer mta diferenca um recordset na memoria. agora se você sabe q você vai trabalhar com bancos de dados gdes, ou com hardwares limitados, é muito importante ficar de olho nisso. então, é bom sempre fechar os recordsets, principalmente os publicos. os estaticos, feche sempre q você não precisar mais dos dados selecionados. o mesmo pros dinamicos. mas os dinamicos, na verdade, é bom usa-los so se você souber o q esta fazendo. então você deve saber a hora de fechar. o codigo pra fechar deve ser esse mesmo ai, mas eu não conheco muito sobre DAO não, menos ainda lembro os codigos de cabeca. agora aquele link do macoratti deve passar o codigo. não, isso é muito dificil. isso era do tempo do dbu e outros formatos antigos de bancos de dados. hj em dia, os desenvolvedores de bds e de providers já tomaram todos os cuidados pra evitar esse tipo de problema. mas de preferencia, não deixe varias recordsets abertos. pelos motivos explicados acima...
  13. renato, mas o software ta trabalhando em rede?? mtas vezes isso é problema de configuracao da rede mesmo. as vezes ate problema fisico, cabeamento mal feito, talvez. ou alguma configuracao do computador q é ruim pra trabalhar em rede. ou ainda, pode ser limitacao do proprio computador mesmo. por exemplo, por acaso os pcs q acontecem isso não tem menos memoria?? o hardware delas não é inferior?? se você tentar diferentes versos do seu programa no mesmo pc, o problema acontece algumas vezes e outras não?? tenta identificar em q momento o programa fica mais lento. ai você tenta achar qual o codigo q ta causando isso e ve se da pra corrigir. se você tiver dificuldade em encontrar, a parte do codigo q causa o problema, então tenta, se possivel instalar o vb6 nesse computador e abrir o projeto no design e executar a partir do visual studio. então quando chegar na parte q ficar mais lenta, você aperta Ctrl + Break e ele vai te apontar a linha onde ele parou. caso ele esteja dando lentidao na hora de executar querys no banco de dados ou coisa assim, ai pode ser alguma coisa na hora de fazer a conexao com o banco... você não mudou nd nessa parte?? tenta então abrir o gerenciador de tarefas (Ctrl + Alt + Del) e finalizar todos os processos q se chamarem vb6.exe tb. de qualquer modo, o melhor jeito de descobrir deve ser fazer uns testes no computador q estiver com o problema.
  14. kuroi

    ajuda com funções

    potencia é simplesmente multiplicar o numero por ele mesmo varias vezes. pra fazer X elevado a Y você so teria q fazer um for q va multiplicando X por ele mesmo Y vezes, não tem segredo nenhum. ou então você faz recursivamente.
  15. kuroi

    Form Iidêntico

    o vb6 não faz heranca. mas você não pode fazer o seu formulario como você quer e salvar e depois copiar os arquivos .frm e .frx referentes ao seu formulario e adicionar o novo .frm no seu projeto?? ai você tera dois formularios iguais.
  16. o q você queria q acontecesse quando o primeiro fosse menor?? q ficasse negativo?? se for isso, o resultado traz o sinal certinho, mas ele é perdido na hora do format(). se você guardar numa variavel, você pode acrescentar no textbox: Private Sub cmd_calc_Click() Dim t As Integer t = TimeValue(mk2.Text) - TimeValue(mk1.Text) If t < 0 Then t3.Text = "-" Else t3.Text = "" End If t3.Text = t3.Text & Format(t, "HH:MM") End Sub[/code]
  17. legal o codigo, mas acho q teria mais sentido com frame do q com picture box. alias, nem sabia q funcionava com picture. fora isso, em vez do On Error, você podia testar se o form não tava minimizada pela propriedade WindowState (não lembro de cabeca qual o valor da janela minimizada, mas é so testar). daleon, meu MSN é rafaelsposito arroba hotmail.com se quiser meu google talk, o endereco é o mesmo acima, so q @gmail.com, deve ser mais facil me encontrar ai, já q to viajando e não devo entrar no MSN tão cedo.
  18. você quer q o conteudo fique centralizado, seria isso??
  19. não tem segredo, é so alterar o width e height do form de acordo com o width e o height da tela, exemplo: Me.Width = Screen.Width Me.Height = Screen.Height Me.Top = 0 Me.Left = 0[/code]
  20. aqui tem exemplos de como se transfere arquivos com winsock: http://www.macoratti.net/vb_p2p.htm agora pra mandar email, de uma lida nesse tópico: http://scriptbrasil.com.br/forum/index.php?showtopic=151691
  21. você pode impedir q o form seja redimensionado, mudando a propriedade BorderStyle para FixedSingle. quanto ao objeto Screen, ele retorna as propriedades da tela. pegando Screen.Height e Screen.Width, você tem as dimensoes da tela. ai você poderia alterar o Height e o Width do form de acordo com o tamanho da tela.
  22. daleonhart, finalmente instalei vb6 aqui... não sei se você já conseguiu resolver de alguma forma... mas no teste q fiz aqui, pelo q parece, no vb6, ele simplesmente ignora os eventos de teclados para command button no caso de uma seta ter sido apertada... então parece q não da mesmo... você teria q usar um outro controle pra isso, talvez um picturebox ou um objeto image. so q esses objetos não recebem foco, então você q teria q simular o foco.
  23. kuroi

    Aplicação VB6

    fernanda, não entendi... qual o objetivo dessa alteracao?? porque e pra q ela deve ser feita??
  24. troque a propriedade BorderStyle do formulario para FixedDialog ou FixedSingle.
  25. se você ta iniciando, é complicado. pelo menos você tem conhecimento de programacao?? pra trabalhar com arquivos texto, tem uns tutorias aqui: http://www.macoratti.net/txt_arqs.htm http://www.vbforums.com/showthread.php?t=121667 ou você pode usar fso. agora pra acessar os processos, você pode usar umas apis do windows, como a EnumProcesses(). esses links tem as definicoes das apis: http://msdn.microsoft.com/en-us/library/ms682629.aspx http://msdn.microsoft.com/en-us/library/ms684847.aspx procure por ai por exemplos de EnumProcesses() pra vb6. ou mesmo pra outras linguagens, se você conseguir adaptar o codigo.
×
×
  • Criar Novo...