Jump to content

Recommended Posts

Posted

ola ao ppl do portugal a programar

deparome kom este erro ja algum tempo mas n sei o k é? ?

aki vai

Err.number "91"

err.description "object variable or with lock variable not set"

o k akontexe e k e faz a pesquisa na nesma mas da sempre este erro!!!!! :wallbash:

n xei o k fazer?????????

xe poderem dêm uma ajuda

Posted

hhhmmm.. só pelo numero do erro n se, talvez a parte do código que dá esse erro ajuda-se 😄

Vê os resultados da pesquisa, talvez te ajudem... de Qualquer maneira verifica se declaraste todas as variaveis e/ou objectos. Outra coisa... no inicio do código fonte (cá mesmo em cima na primeira linha) se não tens mete a seguinte linha (antes de tudo) Option Explicit (serve para te obrigar a declarar variaveis e outras coisas), depois envez de fazeres o simples o simples "Run", faz um "Run with Full Compile" para te verificar todo o código.

Se mesmo assim não resultar, copia praqui a parte do código que te esta a dar erro  😄

http://www.google.pt/search?hl=pt-PT&q=runtime+91+on+VB6&btnG=Pesquisar&meta=

cumps

Posted

eu tenho por defeito pra aparecer option Explicit e normalmente parcorrer uso o run with full!

por isso n e dai!

mas vou tentar pesquisar para saber!

vou postar aki a parte do codigo que da erro.

tem e um problema tem as linhas tds comentadas.

Private Sub pesquisar()
'função criada apenas para esta janela("Tabela de Preços") que será chamada com o nome de "pesquisar"

Dim pesqnum As Integer
'variável para descobrir qual foi a caixa que utilizou

Dim RdoAux As New clsGeneric
'declaração da variável "RdoAux" que irá iniciar a classe com o nome"clsGeneric"
    
    On Error GoTo erro
    'em caso de erro salta para o fim do programa, para o erro
    
    tbl_pesquisa_pesq.Cols = 6
    'comando que diz que a tabela "tbl_pesquisa_pesq" tem 6 colunas
    
    If pesq_s = 1 Then Exit Sub
    'caso a variável "pesq_s" igual a 1 termina a função pesquisar
    
    Screen.MousePointer = vbHourglass
    'cursor do rato muda para o modo ocupado
    
    mSQL = "Select * from Registos where familia <> '0' "
    'instrução(query) em SQL que vai pedir a base dados todos os produtos da tabela "Registos" que não sejam iguam a 0
    
    If cmbSerie <> "" Then
    'incio da condição cmbserie que caso não tenha sido seleccionado a serie em branco
    
        mSQL = mSQL & " And Descricao = '" & ConvertePlica(cmbSerie) & "'"
        'adicionara á pesquisa o valor da serie selecionado
        
        pesqnum = 1
        'e a variável "pesqnum" assumirá o valor 1
    
    End If
    'fim da condição cmbSerie
    
    If txtCodigo <> "" Then
    'inicio da condição txtCodigo que quando a caixa de texto "txtcodigo"não tiver em branco
        
        mSQL = mSQL & " And CodProd like '%" & ConvertePlica(txtCodigo) & "%'"
        'adicionara á pesquisa o valor do código do produto
        
        pesqnum = 2
        'e a variável "pesqnum" assumirá o valor 2
    
    End If
    'fim da condição txtCodigo
    
    If txtDescricao <> "" Then
    'inicio da condição txtDescricao caso a caixa de texto for diferente de nula
    
        mSQL = mSQL & " And Descricao1 like '%" & ConvertePlica(txtDescricao) & "%'"
        'adicionara o valor da caixa de texto a pesquisa
        
        pesqnum = 3
        'a variavel "pesqnum" assumirá o valor de 3
        
    End If
    'fim da condição txtDescricao
        
    mSQL = mSQL & " Order by CodProd"
    'os valores serão amostrados por ordem do codigo do produto
    
    Result = RdoAux.openRSET(mSQL)
    'comando para execturar as instruções de SQL dadas anteriormente
    
        If Not RdoAux.RDORSet.EOF Then
        'vai verificar se a pesquisa foi até ao fim da tabela e se existem registos _
        de produtos com os valores anteriormente digitados
              
              i = 1
              'a variável "i" assumirá o valor 1 para iniciar a amostra dos dados no ecran
                     
                     Do Until RdoAux.RDORSet.EOF
                     'esta instrução e´para o programa correr todos os produtos dados pela variável "Result"
                                 
                                 tbl_pesquisa_pesq.Rows = i + 1
                                 'esta instrução adiciona mais 1 linha a tabela "tbl_pesquisa_pesq"
                                 
                                 tbl_pesquisa_pesq.TextMatrix(i, 0) = Trim(RdoAux.RDORSet!codprod)
                                 'o Código do Produto corrente irá aparecer na coluna Referencia na tabela"tbl_pesquisa_pesq"
                                 
                                 tbl_pesquisa_pesq.TextMatrix(i, 1) = Trim(RdoAux.RDORSet!Descricao1)
                                 'a Descrição do Produto irá aparecer na coluna Descrição da tabela"tbl_pesquisa_pesq"
                                
                                 tbl_pesquisa_pesq.TextMatrix(i, 2) = Trim(RdoAux.RDORSet!codbarras)
                                 'o Código de Barras do Produto corrente irá aparecer na coluna C.Barras da tabela "tbl_pesquisa_pesq"
                                 
                                 tbl_pesquisa_pesq.TextMatrix(i, 3) = Trim(RdoAux.RDORSet!QtdMultVenda)
                                 'a Quantidade do Produto corrente irá aparecer na coluna QT Emb da tabela "tbl_pesquisa_pesq"
                                 
                                 tbl_pesquisa_pesq.TextMatrix(i, 4) = Trim(RdoAux.RDORSet!unidstk)
                                 'a Unidade do Produto corrente irá aparecer na coluna Un da tabela "tbl_pesquisa_pesq"
                                 
                                 tbl_pesquisa_pesq.TextMatrix(i, 5) = Trim(RdoAux.RDORSet!PVP1)
                                 'o Preço de Venda ao Publico do Produto corrente irá aparecer na coluna Preço da tabela "tbl_pesquisa_pesq"
                                 
                                 i = i + 1
                                 'vai somar mais 1 ao valor de "i" para passar pro Produto seguinte
                                 
                                 RdoAux.RDORSet.MoveNext
                                 'move a pesquisa para o Produto seguinte
                                 
                    Loop
                    'volta para o "Do Until" para começar amostrar o produto seguinte
                    
                    pesq_s = 2
                    'a variável pesq_s assumirá o valor de 2 para poder fazer pesquisas
        Else
        'caso não haja produtos com os valores anteriormente digitados
        
            If pesqnum = 1 Then MsgBox "Série não encontrada!", vbOKOnly + vbCritical, "Série"
            'caso tenha sido com a combo box apresentará uma mensagem a dizer "Série não encontrada!"
            
            If pesqnum = 2 Then MsgBox "Código de Produto não encontrado!", vbOKOnly + vbCritical, "Código Produto"
            'caso tivesse utilizado a txtcodigo apresentará uma mensagem no encran a dizer "Código de Produto não encontrado!"
            
            If pesqnum = 3 Then MsgBox "Descrição não encontrada!", vbOKOnly + vbCritical, "Descrição"
            'caso fosse utilizado txtdescricao apresentará uma mensagem a dizer "Descrição não encontrada!"
            
            pesq_s = 1
            'a variavel pesq_s assumirá o valor 1
            
            cmd_limpar_Click
            'eta função irá limpar as  caixas de texto e apagara os produtos na tabela "tbl_pesquisa_pesq"
            
            Screen.MousePointer = vbDefault
            'o cursor do rato modo para o modo normal
            
        End If
        'fim  da condição de "If Not RdoAux.RDORSet.EOF Then"
        
    Screen.MousePointer = vbDefault
    'o cursor do rato modo para o modo normal
    
    
    Set RdoAux = Nothing
    '

erro:
    If Not Err.Number = 0 Then MsgBox "Update Error No. " & Err.Number & ": " & Err.Description, vbCritical, "Error"
    Screen.MousePointer = vbDefault
End Sub
 

se soberes de mais alguma koixa vai dizendo!!  😄

Posted

Epa.... primeiro devias ter posto issu com a ferramenta que o forum tem para postar código que é o GeSHi. Se não sabes o que é, é aquela combobox que diz GeSHi, para utilizates basta clicares, escolhes a  linguagem(neste caso é VB) e depois colocas o código.

E depois quando pedi o código que dava erro não era a função inteira... falava apenas na linha que dá o erro. Quando te dá o erro não te dá a opção "End" e "Debug". Se carregares na opção "Debug" ela vaite selecionar a linha que esta a a dar erro. É essa linha que eu pedi  😄

cumps

Posted

desde ja peço desculpa mas n xabia que tinha que utiliza a combo box para por o codigo  😄

agora topa isto

se n tiver controlo de erros o proragama n da erro nenhum!!!!! :wallbash:

sinceramente na sei ke fazer. ?

e tenho k entregar o trabalho quarta feira

Posted

:bored:

Epa vê bem essas linhas em que estas a trabalhar com base de dados, na minha opinião passa-se algo com a manipolação da base de dados, mas comom eu n percebo muito de base de dados...

cumps

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.