|
Postada em 05/07/2005 15:18 hs
olá amigos, O Intuito deste codigo abaixo seria fazer uma verificaçao se a busca teve ou nao resultado, mas acontece que mesmo quando naum tem nenhum resultado ou seja o recordcount = 0 ele fica não valida a condição do IF . Quando vou debugar observo que o valor do recordCount está '-1' , Vejam o código abaixo, espero que possam me ajudar Private Sub cmdBuscar_Click() Dim Sql4 As String Dim vcodi As String vcodi = txtCod.Text Sql4 = "SELECT * FROM pesagem where cod='" & vcodi & "'" rsBusca.Open Sql4 If rsBusca.RecordCount = 0 Then MsgBox "NENHUMA PESAGEM COM ESTE CODIGO FOI ENCONTRADA" rsBusca.Close Exit Sub Call limpaControles Else txtCod.Enabled = False txtId.Text = rsBusca!id txtPeso.Text = rsBusca!peso txtQtde.Text = rsBusca!qtde lblMedia.Caption = Format(rsBusca!media, "####,##0.00") lblAvaliacao.Caption = rsBusca!avaliacao rsBusca.Close End If End Sub
Tiago Gomes Pereira ------------------------------------ MSN: algodasirs@hotmail.com E-mail: algodas@gmail.com
|
|
|
|
Susana
|
ANGRA DOS REIS RJ - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 05/07/2005 16:06 hs
Experimente fazer o teste da busca, se encontrou ou não o registro, verificando .EOF ao invés do .RECORDCOUNT. Susana
|
|
|
|
Postada em 05/07/2005 23:56 hs
Pelo q vi do código vc deve ter "setado" outros valores anteriormente por exemplo sua conexão ativa... (cnn as ADODB.connection -->rs.ActiveConnection ... etc) bom ANTES de abrir o recordset vc tem q "dizer" qual lado o cursor vai ficar...faça assim: rs.CursorLocation = adUseClient rs.Open "Select * from Tabela" vai voltar o recordset com o nº correto... caso volte 0 então não há registros. Só pra aproveitar o DAO tem um bug semelhante com a contagem de registros... para ter certeza do nº de registros em seu BD faça assim (nesta ordem): rs.moveL ast: rs.MoveF irst blz????! qq problema é só postar t+
|
|
|
Psicose
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 06/07/2005 01:14 hs
rsBusca.Open Sql, Conexao, adOpenStatic, adLockOptimistic Tenta assim!!! Acho q da certo
|
|
|
MARCONE
|
BRASÍLIA DF - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 06/07/2005 09:16 hs
Private Sub cmdBuscar_Click() Dim Sql4 As String Dim vcodi As String vcodi = txtCod.Text Sql4 = "SELECT * FROM pesagem where cod='" & vcodi & "'" rsBusca.Open Sql4 If rsBusca.EOF AND rsBusca.BOF Then MsgBox "NENHUMA PESAGEM COM ESTE CODIGO FOI ENCONTRADA" rsBusca.Close Exit Sub Call limpaControles Else txtCod.Enabled = False txtId.Text = rsBusca!id txtPeso.Text = rsBusca!peso txtQtde.Text = rsBusca!qtde lblMedia.Caption = Format(rsBusca!media, "####,##0.00") lblAvaliacao.Caption = rsBusca!avaliacao rsBusca.Close End If End Sub
Marcone
|
|
|
Rochª
|
RIO DE JANEIRO RJ - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 06/07/2005 12:33 hs
Existe um bug do VB que ele nao devolve o RECORDCOUT corretamente. Voce tem que mover o ponteiro para o ultimo registro para resolver assim. Sql4 = "SELECT * FROM pesagem where cod='" & vcodi & "'" rsBusca.Open Sql4 rsbusca.moveMax If rsBusca.RecordCount = 0 Then
Depois mova para o primeiro novamente para ler corretamente. Veja se nao é isso.
__________________________________________________________________________ Qualquer coisa post Rochª
|
|
|