vb_beginner Posted July 13, 2006 at 02:10 PM Report #38044 Posted July 13, 2006 at 02:10 PM 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!!!!! n xei o k fazer????????? xe poderem dêm uma ajuda
NuGuN Posted July 13, 2006 at 03:18 PM Report #38058 Posted July 13, 2006 at 03:18 PM 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
vb_beginner Posted July 13, 2006 at 03:42 PM Author Report #38062 Posted July 13, 2006 at 03:42 PM 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!! 😄
NuGuN Posted July 13, 2006 at 10:14 PM Report #38146 Posted July 13, 2006 at 10:14 PM 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
vb_beginner Posted July 14, 2006 at 08:13 AM Author Report #38196 Posted July 14, 2006 at 08:13 AM 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!!!!! sinceramente na sei ke fazer. ? e tenho k entregar o trabalho quarta feira
NuGuN Posted July 14, 2006 at 12:10 PM Report #38231 Posted July 14, 2006 at 12:10 PM :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
vb_beginner Posted July 14, 2006 at 12:45 PM Author Report #38237 Posted July 14, 2006 at 12:45 PM adiciono no controlo de o err.number 91 obrigado na mesma!!! 😄 cumps
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now