Ir para conteúdo
Fórum Script Brasil

MDLima

Membros
  • Total de itens

    10
  • Registro em

  • Última visita

Sobre MDLima

  • Data de Nascimento 02/09/1973

Contatos

  • MSN
    marcoslimaval@hotmail.com
  • ICQ
    0

Perfil

  • Gender
    Male
  • Location
    Valente-Ba
  • Interests
    Iniciante em programação VB. Desenvolvi algumas aplicações Access e quero migrar para o VB

MDLima's Achievements

0

Reputação

  1. Olá, Flechaus Grato pela atenção. Acontece que eu preciso de um código que pesquise por uma sequência e não por número inteiro. O seu exemplo pelo que eu entendi vai retornar os números compreendidos entre 1 e o 5 (em seu exemplo). Eu precisaria que retornasse os números que contivessem uma sequência. Exemplo: procurar por sequência 12 em uma base de dados retornaria números como: 341245, 12, 1200, 3512... entendeu? Grato
  2. Olá, bom dia Gostaria de obter uma solução com o método filter para agilizar a consulta, evitando utilizar uma instrução select pois tornaria o sistema lento com o crescimento da base de dados. Estou utilizando o evento change de um textbox e a cada alteração o recordset é filtrado e o resultado é apresentado em um datagrid. Com tipo de dado texto funciona normal mas com número, não. Segue parte do código para análise dos caros colegas: Private Sub txLOCA_Change() Dim strText As String Dim strRetorno As String Dim strVal As String Dim lngSelStart As Long Dim strPro On Error Resume Next strRetorno = txLOCA.Text lngSelStart = txLOCA.SelStart strText = "*" & txLOCA.Text & "*" strVal = txLOCA.Text (aqui está o problema: não sei qual caractere coringa devo usar, já tentei *, % e # - não deu certo) If IsNumeric(txLOCA.Text) Then strPro = strVal Else strPro = strText End If If Me.txLOCA.Text <> Nulo Then vrLOCA.Filter = "" & CampoProcura & " like " & strPro & "" (CampoProcura é uma variável setada em outro procedimento) dgLOCA.Columns(0).Visible = False lbTOTA.Caption = "Total de Registros: " lbTOTA.Caption = lbTOTA.Caption & " " & vrLOCA.RecordCount Me.txLOCA = strRetorno Me.txLOCA.SelStart = lngSelStart Else vrLOCA.Filter = "" vrLOCA.Requery dgLOCA.Columns(0).Visible = False lbTOTA.Caption = "Total de Registros: " lbTOTA.Caption = lbTOTA.Caption & " " & vrLOCA.RecordCount Me.txLOCA = strRetorno Me.txLOCA.SelStart = lngSelStart End If End Sub Lembrando que eu estou usando VB6, banco de dados access e ADO Eu já tentei: vrLOCA.Filter = "CStr(campo) like ' *11* ' " Não dá certo
  3. Olá boa tarde, O problema está nas permissões do banco de dados access. Como a minha aplicação tem um banco de dados pequeno eu migrei do access (.mdb) para o dbase IV (.dbf) e problema foi resolvido. Mesmo assim, agradeço a dica. Mas... Parece que meus problemas não se acabarão tão cedo! Coloquei um comando para habilitar/desabilitar a inicialização junto com o windows. No XP funcionou bem, já no windows 7 só funciona se eu execultar o programa como administrador. Caso contrário dá erro e encerra o programa. Acho que uma diretiva que idendifique o sistema operacional e um código apropriado resolveria. A diretiva eu sei fazer. Agora o código para dar permissão de administrador para o meu aplicativo, não! Poderia me dizer como se faz isso em VB6 (dar permissão de administrador para um programa via código)? Atenciosamente, Marcos.
  4. Boa tarde, Gratíssimo pelas dicas até aqui. Estou com um problema diferente agora: Quando executo o programa em outro usuário (que não seja o admin) vem a mensagem de que o arquivo (no caso o banco de dados access 2000) é somente leitura! Tentei dar permissão em todos os níveis para todos os usuários mas não consegui! Existe uma maneira de fazer isso pelo VB6? Ou uma configuração apropriada das propriedades do banco de dados do access 2000, resolve? Poderia me mostrar como se faz isso? Grato, Marcos.
  5. O primeiro código, para a questão do path do USER NET funcionou beleza. Já o segundo, não. Veja como ficou: Public Sub RegistrarPrograma() Dim Reg As Object Set Reg = CreateObject("wscript.shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\" & "WindowsBlock", App.Path & "\" & "WindowsBlock" & ".exe" Reg.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\" & "WindowsBlock", App.Path & "\" & "WindowsBlock" & ".exe" End Sub Funcionou bem em todos os usuários. No administrador, entretanto, o programa se iniciou duas vezes. Como contornar esse erro? Grato, Marcos
  6. Valeu pela dica... valeu mesmo!!! Segue o código que montei para soluconar o problema. Conteúdo do "arquivo.txt" retornado pela função: Shell "cmd /C net user > ""C:\arquivo.txt""", vbHide ' linha 0: em branco Contas de usu rio para \\TECSOM-2F4201D3 ' linha 1 ' linha 2 ------------------------------------------------------------------------------- ' linha 3 Administrador Convidado elis ' linha 4 HelpAssistant MArcos SUPPORT_388945a0 ' linha 5 Tecsom ' limha 6 Comando conclu¡do com ˆxito. ' linha 7 ' linha 8: Em branco Dim i, v, n, t, r As Integer Dim vetor As Variant With Data1.Recordset ' Controle de dados para retornar o arquivo "arquivo.txt" ReDim MT1(.RecordCount) 'Matriz carregada com os dados do controle de dados Data1 .MoveFirst For n = 1 To Data1.Recordset.RecordCount - 2 ' as linhas 7 e 8 não precisam ser relacionadas If Not IsNull(.Fields(0)) Then If InStr(1, .Fields(0), "contas de usu", vbTextCompare) > 0 Then GoTo pular ' código para não relacionar a primeira linha If InStr(1, .Fields(0), "-------------", vbTextCompare) > 0 Then GoTo pular ' código para não relacionar a segunda linha If InStr(1, .Fields(0), "comando concl", vbTextCompare) > 0 Then GoTo pular ' código para não relacionar a terceira linha If t = 0 Then t = 1 MT1(t) = .Fields(0) ' serão carregadas as linhas 4, 5 e 6 t = t + 1 pular: End If .MoveNext If .EOF Then Exit For Next Usuario.Clear ' Combobox usuário Usuario.AddItem "Todos" ' Inclusão do ítem "Todos" para serem aplicadas restrições a todos os usuários ReDim MTF(t * 2 + 1)' Matriz dimensionada com o dobro do número de linha retornadas pelo comando FOR NEXT acrescido de um r = 0 MTF(r) = "Todos" 'Uso da função Split para montar a combobox usuário For v = 0 To t vetor = Split(MT1(v)) For i = LBound(vetor) To UBound(vetor) If vetor(i) <> "" Then Usuario.AddItem vetor(i): r = r + 1: MTF(r) = vetor(i) Next Next If Not AdoReg.Recordset.BOF And Not AdoReg.Recordset.EOF Then Usuario = AdoReg.Recordset(2) End With O código funcionou muito bem. Meu problema agora são dois (espero não ter mais): 1 - Como incluir na função Shell "cmd /C net user > ""C:\arquivo.txt""", vbHide 2- Como se faz para iniciar um aplicativo qualquer (em todos os usuário registrados mo PC) junto com o windows, usando o Registro do Windows? Mais uma vez grato aquem puder ajudar!!! Um forte abraço, Marcos.
  7. Caro colega!! Peço mil desculpas. É que estou ansioso por esse código!! Em nenhum momento pensei que alguém aqui seja empregado de outrem!! Em todo caso, muitíssimo obrigado pela resposta!! Já fiz alguns programas em VB, mas nunca precisei listar os usuários do windows (que fazem login no PC). Poderia me passar um código de exemplo?
  8. Tá difícil heim? Ninguém se habilita?
  9. Boa tarde pessoal, Estou desenvolvendo um programa e preciso de um código em VB6 (só serve de for VB6) que retorne a lista de usuários do windows em uma combo. Já tenho o código para retornar o usuário atual! Eu preciso da lista de todos os usuarios! Grato.
  10. Olá Pessoal! Sou novo aqui e em programação VB também. Gostaria de saber se é possível usar o crystal reporter com o VB6. Qual a melhor versão para o caso, e um link para baixá-lo gratuitamente. Possua em minha máquina o VB6
×
×
  • Criar Novo...