Ir para conteúdo
Fórum Script Brasil

kassio07

Membros
  • Total de itens

    12
  • Registro em

  • Última visita

Posts postados por kassio07

  1. alguém sabe se tem alguma forma de reutilizar o recordset? pois tenho uma consulta que depois gera uma atualização e gostaria que ela rodasse várias vezes pois ela deve ser feita para todos os registros do meu banco access...

    um.Close
            dois.Close
            Set um = Nothing
            Set dois = Nothing
            Sql = ""

  2. alguém sabe se tem alguma forma de reutilizar o recordset? pois tenho uma consulta que depois gera uma atualização e gostaria que ela rodasse várias vezes pois ela deve ser feita para todos os registros do meu banco access...

  3. Bom já que nimguém conseguiu resolver o meu problema e eu também não, resolvi criar todo o meu código fonte novamente. Mas pra variar já encontrei um problema. Eu criei duas consultas que seriam feitas pelo id do registro, mas este me retorna um erro: Tipo de dados incompatível na expressão do critério!

    A minha consulta esta certa, não sei se o caso da coluna ID no banco ser do tipo numeração automárica faz alguma diferença...

    db = abrirCon
        db.Open
        
        Sql = "Select Max(Codigo) From ControleAdministrativo"
        rs.Open Sql, db
        maximo = rs(0).Value
        indice = 1
        Do While indice <> maximo
            Sql = "Select Despacho_GMAJ From ControleAdministrativo Where Codigo = '" & indice & "' "
            um.Open Sql, db
            Sql = "Select Recebimento_GMAJ From ControleAdministrativo Where Codigo = '" & indice & "'"
            dois.Open Sql, db
            valorUm = um(0).Value
                If Not IsNull(valorUm) Then
                    dataUm = valorUm
                    valorDois = dois(0).Value
                    If IsNull(valorDois) Then
                        dataTres = DateDiff("d", dataUm, Now)
                        Sql = "Update ControleAdministrativo Set Prazo_GMAJ = '" & dataTres & "' Where Codigo = '" & indice & "'"
                        tres.Open Sql, db
                    Else
                        dataDois = valorDois
                        dataTres = DateDiff("d", dataUm, dataDois)
                        Sql = "update ControleAdministrativo Set Prazo_GMAJ = '" & dataTres & "' Where Codigo = '" & indice & "'"
                        tres.Open Sql, db
                    End If
                End If
            indice = indice + 1
        Loop

  4. Bom pessoal estou com seguinte problema eu preciso desenvolver um um botão que atualize valores de algumas colunas no banco quando acionado, esse calculo sera feito de duas colunas que estão no banco (uma com a data de envio e uma com a data da volta) o calculo deve efetuar a diferença de dias entre essas colunas e para todos os registros. Mas alguns desses registros pode ocorrer de não ter enviado ainda então estabeleci uma condicional para efetuar o calculo somente quando a primeira coluna estiver preenchida, o documento tambem pode ter sido enviado e não devolvido ainda então estabeleci uma condicional que se pega a data do sistema quando a segunda coluna esta vazia. Mas infelizmente o que fiz não esta funcionando e não sei o porque entaum queria uma ajuda para poder encontrar o que eu fiz de errado. :D

    db = abrirCon
        db.Open
        
        Sql = "Select Max(Codigo) From ControleAdministrativo"
        rs.Open Sql, db
        maior = rs(0).Value
        Sql = "Select Envio_Carta_Renovacao From ControleAdministrativo"
        um.Open Sql, db
        Sql = "Select Ultimo_Documento From ControleAdministrativo"
        dois.Open Sql, db
        For x = 0 To maior
            valor = um(0).Value
            If valor <> "" Then
                dataUm = valor
                valorDois = dois(0).Value
                If valorDois = "" Then
                    dataDois = Date
                    dataTres = DateDiff("d", dataUm, dataDois)
                    Sql = "Update ControleAdministrativo Set Documentos_Recebido_Propri = '" & dataTres & "' Where Codigo = '" & x & "'"
                    tres.Open Sql, db
                Else
                    dataDois = valorDois
                    dataTres = DateDiff("d", dataUm, dataDois)
                    MsgBox x
                    Sql = "Update ControleAdministrativo Set Documentos_Recebido_Propri = '" & dataTres & "' Where Codigo = '" & x & "'"
                    tres.Open Sql, db
                End If
            End If
            um.MoveNext
            dois.MoveNext
        Next

  5. Consegui encontrar a resposta, pois se dependesse dos usuários deste site, estaria esperando até agora...

    Segue o código...

    ...

    Dim xl As New Excel.Application

    Dim xlw As Excel.Workbook

    'Abrir o arquivo do Excel

    Set xlw = xl.Workbooks.Open("\\fscorp\GerenciaSistemasIV\Indicadores\teste.xlsx")

    ' definir qual a planilha de trabalho

    xlw.Sheets("Plan1").Select

    'Exibe o conteúdo da célula na posição 2,3

    MsgBox xlw.Application.Cells(1, 1).Value

    ' Fechar a planilha sem salvar alterações

    ' Para salvar mude False para True

    xlw.Close False

    ' Liberamos a memória

    Set xlw = Nothing

    Set xl = Nothing

    ...

    Thiagolgf

    O cara tem que ter calma, se posto a duvida e no mesmo dia já achou a resposta, sei que foi por sua conta,mas você tem que levar em consideração que talvez as pessoas não sabiam a resposta...

  6. Pessoal to aqui mais uma vez com problema.

    É o seguinte eu tenho um banco access com duas colunas Categoria e STO, Categoria é um campo texto embora possa receber valores numéricos e STO é um campo do tipo numérico. Eu desejo atualizar os registros colocando a categoria que esta armazenada em uma planilha e para isso eu comparo esse campo STO que existe no banco e na planilha, mas o que ocorre é que ele me diz "Tipo de dados imcompatível na expressão do critério". E eu não consigo encontrar erro... eu sei q ele esta me dizendo q o valor não esta batendo com tipo especificado, mas não consigo encontrar o erro....

    Dim compara As Double
            Dim categoria As String
        
            Workbooks.Open Filename:="\\ssi0052\DRSPI\APLAQ\19_Estagiários\Cassio_Fernando_Aparecido_da_Silva\Lista_Unidades_2012.xls"
        
            Sheets("UNIDADES").Activate
            Range("C2").Select
        
            While ActiveCell.Value <> Empty
        
               compara = ActiveCell.Value
               categoria = ActiveCell.Offset(0, 5).Value
        
               Sql = "UPDATE ModeloAtendimentoReceitaAvistaBancoPostal SET Categoria = '" & categoria & "' WHERE STO = ' " & compara & "'"
               dois.Open Sql, db
           
               ActiveCell.Offset(1, 0).Select
            Wend
            
            ActiveWorkbook.Close Filename:="\\ssi0052\DRSPI\APLAQ\19_Estagiários\Cassio_Fernando_Aparecido_da_Silva\Lista_Unidades_2012.xls"
                  
            MsgBox "Alimentado com Sucesso!", vbInformation
                  
            VBA.Kill ("\\ssi0052\DRSPI\APLAQ\19_Estagiários\Indicadores\RECEITA_2012.xls")

    No caso essa atualização é feita na mesma macro em que é feita a inserção desses dados, não acho que esse seja o problema já que tentei fazer separado e ocorre o mesmo problema.

  7. Tenta isso:

    Sub teste()
    texto = Replace(Selection.Value, "'", "")
    MsgBox texto
    End Sub

    Seleciona alguma célula com apóstrofe e roda a macro. O valor da cidade, sem apóstrofe, vai ser armazenado em uma variável e exibido em um MessageBox.

    Abraço!

    Vlw pela ajuda funcionou direitinho...

  8. Pessoal to com o seguinte problema, eu tenho uma planilha com várias cidades e tenho que exportar esses dados para o Banco Access até ai sem problema, o que ocorre é que algumas cidades possuem o apóstrofo ex: Santa Barbara D'Oeste, o que gera um erro na inserção então gostaria de saber se alguém conhece alguma macro que eu possa utilizar para substituir esses apóstrofos por vazio e não occora mais nenhum problema ?

  9. Então pessoal to precisando fazer um select para trazer os dados do banco access para um plicativo VBA, a pessoa deve buscar por um valor em especifico e o aplicativo deve mostrar todos os registros que possuam aquela informação. Até consegui fazer ele exibir, mas ele só mostra o primeiro registro e não todos os registros que possuam as informações buscadas.

    Esse é o meu código fonte:

    Private Sub but_ok_Click()
          Dim db As New ADODB.Connection
          Dim bus As New ADODB.Recordset
    
          db = abrirCon
          db.Open
          
          If text_busca = "" Then
          
            MsgBox "Digite alguma data para busca!", vbInformation, "Aviso"
            
          ElseIf Not IsDate(text_busca) Then
            
            MsgBox "Digite uma data para ser pesquisada!", vbInformation, "Aviso"
            text_busca = ""
            
          ElseIf IsNumeric(text_busca) Then
          
            MsgBox "Digite somente Letras!", vbInformation, "Aviso"
            text_busca = ""
            
          Else
                
            Sql = "SELECT Unidade FROM ControleAdministrativo WHERE Prazo_Renova = '" & text_busca & "'"
            bus.Open Sql, db
              
            If bus.BOF <> True Then
          
             Result = bus(0).Value
             text_result = Result
          
            Else
           
             MsgBox "Data não encontrada!", vbInformation, "Aviso"
          
            End If
          End If
    End Sub

  10. E ai pessoal sou novo em programação VBA, e gostaria de saber como posso trazer os dados de um select do banco de dados e exibir esses dados buscados em um formulário via VBA? já fiz a conexão e tudo mais, mas não sei como exibir essas informações. O código q eu to usando é esse:

    Private Sub but_ok_Click()
        Dim db As New ADODB.Connection
        Dim rs As New ADODB.Recordset
    
        Dim entrada As String
        
        entrada = text_busca.Text
        
        If IsNumeric(entrada) Then
           MsgBox "Digite somente Letras!", vcCritical, "Erro"
           text_busca = ""
        Else
           db = abrirCon
           db.Open
        
           Sql = "SELECT Nome_Agencia, Tempo_Contrato FROM Agencias WHERE Nome_Agencia = entrada"
          
           'text_cidade = Nome_Agencia.Value
           'text_contrato = Tempo_Contrato.Value
        End If
    End Sub

×
×
  • Criar Novo...