Ir para conteúdo
Fórum Script Brasil

Lameira

Membros
  • Total de itens

    77
  • Registro em

  • Última visita

Tudo que Lameira postou

  1. É verdade..., estive pesquisando outros tópicos e na net também, a melhor saída e a mais prática é ter uma tabela só que faça todo o fluxo. valeu!!!
  2. Olá Galera!!! Preciso da ajuda de Mestre!!! Estou montando um projetinho em VB6 de fluxo de caixa, criei duas tabelas, sendo uma para entrada (ent -> numin, codcli, datin, bcoin, chein, valin) e outra para saída (deb -> numout, desout, datout, banout, cheout, valout). Introduzi vários registros em cada uma das tabelas. Eu preciso agora jogar esses registros numa grid demonstrando o fluxo de caixa ($$), os registros devem mostrar por período e deve ser pelo mês anterior, mês atual e por período aleatório. Para os registros de entrada eu estou usando o seguinte código: mês atual: 'primeiro dia do mês atual d1 = DateSerial(Year(Date), Month(Date), 1) 'último dia do mês atual d2 = DateSerial(Year(Date), Month(Date) + 1, 0) Set rsentcash = basecash.OpenRecordset("select * from ent where DateValue(dtin) >= DateValue('" & d1 & "') and DateValue(dtin) <= DateValue('" & d2 & "')order by numin") Set dataent.Recordset = rsentcash mês anterior: 'primeiro dia do mês atual d1 = DateSerial(Year(Date), Month(Date) - 1, 1) 'último dia do mês atual d2 = DateSerial(Year(Date), Month(Date), 0) Set rsentcash = basecash.OpenRecordset("select * from ent where DateValue(dtin) >= DateValue('" & d1 & "') and DateValue(dtin) <= DateValue('" & d2 & "')order by numin") Set dataent.Recordset = rsentcash periodo: Set rsentcash = basecash.OpenRecordset("select * from ent where DateValue(dtin) >= DateValue('" & d1 & "') and DateValue(dtin) <= DateValue('" & d2 & "')order by numin") Set dataent.Recordset = rsentcash esses códigos estão funcionando perfeitamente. Já para os registros de fluxo de caixa eu já tentei usar os comandos Union e InnerJoin, mas eu nunca havia usado esses comandos e estou quebrando a cabeça com o SQL... Por favor me ajudem e enviem um declaração em SQL usando esses comandos que se adapte em minha necessidade. grato :blink:
  3. Vê se dá certo assim: 'declarações Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _ ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _ ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long Private Const SM_CXSCREEN = 0 Private Const SM_CYSCREEN = 1 Private Const HWND_TOP = 0 Private Const SWP_SHOWWINDOW = &H40 Private Sub Form_Resize() Dim cx As Long Dim cy As Long Dim RetVal As Long Me.WindowsState = vbNormal 'retorna a largura da tela cheia (resolução H) cx = GetSysteMMetrics(SM_CXSCREEN) 'retorna a altura da tela cheia(resoluçao V) cy = GetSystemMetrics(SM_CYSCREEN) 'chama a API para definir o novo tamanho da janela RetVal = SetWindowPos(Me.hwnd,HWDN_TOP,0,0,cx,cy, SWP_SHOWWINDOW) 'dimenciona o comp Image de acordo com a janela image.width = Me.Width - 500 image.Heigth = Me.Height + 2300 image.Left = Me.Left + 700 image.Top = Me.Top + 2300 End Sub
  4. Ok, Kuroi, abri um novo projeto e segui tua dica e, deu pau também. Será que a última versão do controle activeX (flash.ocx e swflash.ocx) é compatível com o XP SP3??? Minha pergunta é porque depois que formatei a máquina eu baixei esses arquivos da adobe e depois disso eu não posso fazer nenhuma alteração no form que tem o shockwavesplash, se não mexo nele, roda belezinha, mas qualquer alteração, tenho que salvar e ai dá erro, não sei como checar essa compatilibidade... :huh:
  5. Olá feras!!! Mais uma vez apelo aos Mestres deste forum. Eu tinha dificuldade em ajustar as dimensões do meu form com o tamanho do monitor, para cada monitor era necessário ajustar o código: ' ajusta dimensão do componente Image de acordo com a tela imgpri.Width = Me.Width + 2550 imgpri.Height = Me.Height + 1200 imgpri.Left = Me.Left - 2000 imgpri.Top = Me.Top + 2300 ..., achei um código na net e colei no meu form, como segue: ' declarações para ajustar dimensão do formulário com o monitor * http://www.daniweb.com/forums/thread140757.html Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _ ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _ ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long Private Const SM_CXSCREEN = 0 Private Const SM_CYSCREEN = 1 Private Const HWND_TOP = 0 Private Const SWP_SHOWWINDOW = &H40 no form_load colei esse código: 'variáveis para definir a relação tela / monitor Dim cx As Long Dim cy As Long Dim RetVal As Long Me.WindowState = vbNormal ' retorna a largura da tela cheia (resolução Horizontal). cx = GetSystemMetrics(SM_CXSCREEN) ' retorna a altura da tela cheia (resolução Vertical). cy = GetSystemMetrics(SM_CYSCREEN) ' chama a API para definir o novo tamanho da janela. RetVal = SetWindowPos(Me.hwnd, HWND_TOP, 0, 0, cx, cy, SWP_SHOWWINDOW) ' ajusta dimensão do componente Image de acordo com a tela imgpri.Width = Me.Width - 500 imgpri.Height = Me.Height + 2300 imgpri.Left = Me.Left + 700 imgpri.Top = Me.Top + 2300 Só que quando eu inicio o form ele fica no tamanho estabelecido no projeto e depois fica piscando até se ajustar ao tamanho do monitor. Alguns usuários reclamaram disso. Tem como melhorar o código? grato,
  6. Tenho um form Splash no meu projeto VB6 e nele coloquei um componente ShockwaveFlash para apresentar um videozinho em flash, baixei o arquivo swflash.ocx e instalei na pasta Windows/system. Adicionei o componente na Caixa de Ferramentas e colei o componente no form; usei o seguinte código: AnimaFlash.Movie = (App.Path & "\arquivo.swf") AnimaFlash.Play AnimaFlash.Loop = False A princípio funcionou bem... Tive que formatar minha máquina, refiz todo procedimento quanto aos arquivos .ocx, porem notei que na Caixa de ferramentas a opção SlockwaveFlash ficou como se fosse uma folha em branco (igual a tecla Arquivo Novo no Word). O programinha roda bem, porem se fizer alguma alteração no form Splash dá erro: "System Error &H80004005(-2147467259). Erro não especificado." Se retiro o componente ShockwareFlash consigo salvar mas fico sem apresentação do videozinho. Já exclui e recolei o componente no form mas continuou dando pau. Só consigo gravar se o componente for eliminado do form. alguém pode me ajudar??? :rolleyes:
  7. Kuroi, é o seguinte... o form Principal, quando minimizado, minimiza também os outros formulários; a idéia é deixar os formulários mais independentes do form Principal, deixando-o apenas para chamar os outros forms. Vamos supor que o usuário vai copiar informações de uma tabela, como o form Principal toma toda a tela o ideal seria minimiza-lo e ficar apenas com o form de Cadastro, que é bem menor, aberto. O que acontece é que quando o form Principal é minimizado o de cadastro também é. Pelo que entendi isso não será possível porque o form Cadastro é chamado como "modal", certo? Como então eu posso resolver essa questão? fico aguardando...
  8. ...o form Principal está sendo mostrado como modal principal.Show os demais forms também. A propriedade MDIChild de todos os formulários estão marcados com 'false'. :wacko:
  9. vlw Kuroi, vou colar no meu sistema e testar..., brigadão por mais esta ajuda. :rolleyes:
  10. Olá Kurói!!! realmente eu ainda estou precisando dessa ajuda, e sinceramente eu não sei como fazer esses replaces, se tiver algum exemplo fico grato. vlw
  11. Olá Galera!!! É possível minimizar o form Principal e deixar os outros forms na tela??? Vamos supor, através do form Principal é chamado o form de Cadastro e o usuário queira deixar somente o form de Cadastro na tela; é possível minimizar o form Principal e continuar com o form de Cadastro na tela??? Tenho um sisteminha que quando o form Principal é minimizado todos os outros forms também são (???). Tem como evitar isso??? :rolleyes:
  12. 'imgpri' é um componente Image do Form Principal. Consegui fazer um teste e funcionou, tanto num monitor normal como no widescreen, o form ficou bem dimensionado e posicionado. Vlw pela dica da API GetSystemMetrics. :rolleyes: Só ficou o 'pisca' quando o formulário é iniciado. :blink:
  13. Olá Kurói!!! Valeu pela força (+1x) Dei uma pesquisada e encontrei um código, dá uma olhada como ficou... na declaração do Form foi colocado: Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _ ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long Private Const SM_CXSCREEN = 0 Private Const SM_CYSCREEN = 1 Private Const HWND_TOP = 0 Private Const SWP_SHOWWINDOW = &H40 e, no Form_Load: Dim cx As Long Dim cy As Long Dim RetVal As Long Me.WindowState = vbNormal ' retorna a largura da tela cheia (resolução H). cx = GetSystemMetrics(SM_CXSCREEN) ' retorna a altura da tela cheia (resolução V). cy = GetSystemMetrics(SM_CYSCREEN) ' chama a API para definir o novo tamanho da janela. RetVal = SetWindowPos(Me.hwnd, HWND_TOP, 0, 0, cx, cy, SWP_SHOWWINDOW) ' ajusta dimensão do componente Image de acordo com a tela imgpri.Width = Me.Width - 500 imgpri.Height = Me.Height + 2300 imgpri.Left = Me.Left + 700 imgpri.Top = Me.Top + 2300 O código só foi testado no meu note (widescreen), não tenho monitor no formato normal, assim que testar eu posto o resultado mas fique a vontade para comentar o que foi feito; só observei uma falha: quando abre o formulário dá uma piscada na tela mas depois fica tudo normal.
  14. Olá galera do bem!!! Tenho mais uma para esse fórum. Existe alguma forma do sistema identificar quando a tela é widescreen ou normal??? Explico..., fiz um sistema no meu notebook que possui tela widescreen e apresentei num computador com monitor normal, ficou bem visível que o sistema não entendeu a mudança e as telas não cabiam na tela do computador. Existe alguma forma disso não acontecer??? Qual é o melhor formato de tela para se elaborar um sistema, widescreen ou normal??? fico no aguardo e agradeço mais essa ajuda. :wacko:
  15. Ok Kuroi, beleza, mas acredito que não consegui ser mais claro na minha questão, por isso vou detalhar melhor o que está acontecendo..., tenho dúvidas em como simular o 'efeito' do duplo clique no DirListBox1, além disso o ideal é que o FileListBox mostre os arquivos *.bmp automaticamente a medida que se navega no DirListBox, dispensando o dblclick no componente, segue abaixo o código que estou usando: Private Sub DriveListBox1_Change() '---------------------------------------------------------------------> seleciona DRIVE On Error GoTo verrordrv verrordrv: Select Case Err.Number Case 68 ' dispositivo indisponível no momento Exit Sub Case 0 ChDrive DriveListBox1.Drive = c: DirListBox1.Path = DriveListBox1.Drive End Select End Sub Private Sub DirListBox1_Change() '------------------------------------------------------------------------> seleciona DIRETÓRIO ChDir DirListBox.Path 'Mostra o conteúdo do diretório FileListBox1.Path = DirListBox1.Path End Sub Private Sub FileListBox1_Click() '--------------------------------------------------------------------> seleciona ARQUIVO If Right$(DirListBox1.Path, 1) = "\" Then 'Faz com que o arquivo selecionao seja visualizado (imagem e endereço) imagem = DirListBox1.Path + FileListBox1.FileName Else imagem = DirListBox1.Path + "\" + FileListBox1.FileName End If imgtca.Picture = LoadPicture(imagem) endtca.Text = imagem End Sub esse código funciona no método tradicional e o foco é alternado pela tecla TAB, quando o componente é focado eu navego pelas teclas Up, Down..., mas para entrar em alguma pasta e fazer com que o conteúdo seja visualizado no FileListBox1 somente através do mouse; preciso criar 'teclas de atalho' para que o usuário tenha mais uma opção de usar o sistema. Pretendo usar o seguinte código para teclas de atalho: Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) ou Private Sub DirListBox1_KeyUp(KeyCode As Integer, Shift As Integer) If Shift = 4 And KeyCode = vbKeyUp Then '-----------------------------------------------> SOBE UM NÍVEL ENTRE AS PASTAS ALT+SETA CIMA ??? ' ElseIf Shift = 4 And KeyCode = vbKeyDown Then '---------------------------------------> DESCE UM NÍVEL ENTRE AS PASTAS ALT+SETA BAIXO ??? End If end Sub ...só falta o código que execute o efeito do duplo clique no DirFileBox1, ou seja, subir e descer de nível das pastas nesse componente sem o uso do mouse, usando apenas o teclado. desde já agradeço :blink:
  16. Estou implantando teclas de atalho no meu projetinho e esbarrei num dilema, como é possivel implantar teclas de atalho nos componentes DirListBox e FileListBox? Como é possível simular o dblClick?, aparentemente esta é a única maneira de fazer com que o FileListBox mostre o conteúdo das pastas. Com teclas de atalho eu consigo alternar o foco nos componentes e navegar com as teclas "setas", mas preciso que enquando navego no DirListBox vá aparecendo no FileListBox todos os arquivos *.jpg que aquela pasta possui; para trabalhar com o Mouse estou usando o seguinte código: Private Sub DirListBox1_Change() '-----------------------------------------------------------------> seleciona DIRETÓRIO ChDir DirListBox1.Path 'Mostra o conteúdo do diretório FileListBox1.Path = DirListBox1.Path End Sub e está funcionando; para trabalhar com o teclado já tentei usar DirListBox1_MouseMove mas sem sucesso..., o FileListBox só recebe o conteúdo com o duplo clique do mouse no DirListBox. Mais uma vez eu agradeço as dicas. :rolleyes:
  17. isso ai ficou dificil de entender... esse ai é so você por um teste: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If habilitado Then If Shift = 2 And KeyCode = vbKeyN Then Call NovoReg End If End Sub Quanto a primeira parte, realmente tá complicado, existem algumas instabilidades no sistema, vou corrigir, qualquer coisa eu posto de novo, com relação a segunda parte, beleza!!! Mais uma vez muito obrigado!!! Sobre a primeira parte, acredito que o sistema estava armazenando sujeira(?!?!), no final do procedure eu coloquei: KeyCode = 0 Shift = 0 a partir disso o procedure não fica repetindo e os registros não pulam na sequência, ou seja agora fica assim, 1,2,3,4...ss. Não sei se isso é normal porque em outro form existe um procedure semelhante para Teclas de Atalho que não acontece isso, mais uma que não entendi(?!?!?!?) Tenho mais uma dúvida, é possível chamar o código de um botão que esteja em MouseDown, tenho um botão que os registros vão sendo passados automaticamente (ver nesse forum: "Navegação automática através de um toolbar")..., eu tentei chamar assim: call cmdFFW_MouseDown e deu o seguinte erro: Compile error: Argument not optional conto com a sua ajuda mais uma vez. Grato e deu o seguinte erro :blink:
  18. isso ai ficou dificil de entender... esse ai é so você por um teste: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If habilitado Then If Shift = 2 And KeyCode = vbKeyN Then Call NovoReg End If End Sub Quanto a primeira parte, realmente tá complicado, existem algumas instabilidades no sistema, vou corrigir, qualquer coisa eu posto de novo, com relação a segunda parte, beleza!!! Mais uma vez muito obrigado!!!
  19. vlw Kuroi, funcionou beleza, só que com um detalhe: existe uma tecla atalho de navegação que os registros estão sendo intercalados, ou seja, do registro 1 vai para o registro 3 e assim por diante, com o brakepoint deu para verificar que o código é repedito 2x cada vez acionado as teclas de atalho(???). Quando vai ser inserido algum registro o usuário é avisado que um novo registro vai ser cadastrado atraves de um MsgBox..., esse aviso aparece duas vezes, isso confirma que realmente cada vez que as teclas são pressionadas o código replica. Outra dúvida é que dependendo do que vai ser feito, alguns botóes ficam desabilitados e é necessário impedir que o usuário execute o código desses botões, ou seja, em determinadas circunstâncias eu preciso desabilitar a Tecla de Atalho. Tem como fazer isso??? Help me!!!! :rolleyes:
  20. Olá Pessoal!!! Gostaria de saber como posso usar a tecla Alt ou Ctrl associada com outra. Ex.: para chamar um novo registro o usuário vai teclar Alt+N ou Ctrl+N como faço para associar duas teclas como no caso acima, sei que estas teclas não fazem parte da Ascii e os exemplos apresentados no forum com relação a tecla Alt não encontrei exemplos de código. Tentei usar Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyControl And vbKeyN Then Call NovoReg End If End Sub Quando teclo Crtl+N soa um beep e nada mais acontece. fico grato pelas sugestões.
  21. Olá Kuroi, esse procedimento está no Form_Activate, como relatei, se o sistema é minimizado por um determinado tempo, ao ser maximizado só o componente fica reduzido, não entendo o por quê isso está acontecendo, não sei como o código dos botões Max e Min estão interferindo no componente e não ocorre todas as vezes, percebi que ocorre mais quando o sistema fica por muito tempo minimizado. Vou transferir para o Form_Load e fazer testes, depois post o resultado. vlw
  22. Valeu, Crispim, completei o código e testei, realmente funciona, porem, o meu problema é que se o sistema fica minimizado por algum tempo - não entendo o por quê - quando volto ao normal (maximizado) o componente fica reduzido a um pequeno quadrado no canto superior esquerdo. Creio que através do código do botão Maximisar do form eu consiga evitar que isso ocorra. Estou pesquisando na net para ver se localizo esse código. té+
  23. Olá Galera do bem!!! Tenho mais uma questão..., quando queremos apresentar determinado documento que está no BD, por exemplo, o CPF, podemos usar o format(text1.text, @@@.@@@.@@@-@@)..., minha dúvida é: vamos supor que o usuário faça uma "edição" nos dados e depois vai salvar os registros..., como fazer para eliminar os aqueles sinais e salvar no BD somente os números??? +1x agradeço. :rolleyes:
  24. Olá Galera do bem!!! Tenho um sistema que no form Principal existe um componente Image em que o usuário tem a opção de colocar uma figura à sua escolha e o seu tamanho é determinado no Form_Activate atraves desse código: imgpri.Width = Me.Width - 9500 imgpri.Height = Me.Height + 2200 imgpri.Left = Me.Left + 5000 as vezes, quando o form é minimizado e depois maximizado o componente fica reduzido a um pequeno quadrado no canto superior esquerdo; existe alguma forma de quando o botão Maximizar for acionado seja possível repassar o código acima, afim de que não haja mais esse problema??? mais uma vez agradeço a ajuda. :rolleyes:
×
×
  • Criar Novo...