[firebase-br] Off Top: Problema Firebird com VB 6
Marcio André
marciokviatkovski em yahoo.com.br
Ter Abr 10 14:04:42 -03 2007
Na época em que eu testei, alguns provedores OLEDB não suportavam deleção de
dados no recordset quando este era aberto no lado do cliente (CursorLocation
= adUseClient) e outros OLEDBs e ODBCs não davam suporte total às
características do ADO quando aberto no lado do servidor.
Enfim, parece que cada fabricante implementa do jeito que quer os drivers.
Em vez de você abrir o registro no recodset para apagá-lo, tente executar
diretamente uma instrução SQL Delete:
Dim Str2 As String
Dim Rs2 As New ADODB.Recordset
If MsgBox("Deseja Realmente Excluir a Consulta do(a) Paciente " &
Lista.TextMatrix(Lista.Row, 4), vbQuestion + vbYesNo + 256, "Atenção") =
vbYes Then
'--------------------
Str2 = "Delete From AGENDA WHERE AGENDA.CODIGO=" &
Val(Lista.TextMatrix(Lista.Row, 1))
DB.Execute Str2
'--------------------
End If
[]'s,
Marcio
----- Original Message -----
From: "Cicero F" <cicero_cfm em hotmail.com>
To: <lista em firebase.com.br>
Sent: Tuesday, April 10, 2007 1:39 PM
Subject: [firebase-br] Off Top: Problema Firebird com VB 6
Boa tarde companheiros e desculpa pelo off, mas é q ja to loquinho a ponto
de largar mão do FireBird.
Bom tenho uma tabela q é uma agenda médica e não estou conseguindo excluir
registro dela estou usando o FireBird 2.0 e VB 6 com OLEDB e fazendo
conforme abaixo:
Dim Str2 As String
Dim Rs2 As New ADODB.Recordset
If MsgBox("Deseja Realmente Excluir a Consulta do(a) Paciente " &
Lista.TextMatrix(Lista.Row, 4), vbQuestion + vbYesNo + 256, "Atenção") =
vbYes Then
'--------------------
Str2 = "SELECT * From AGENDA WHERE AGENDA.CODIGO=" &
Val(Lista.TextMatrix(Lista.Row, 1))
Rs2.CursorLocation = adUseClient
Rs2.Open Str2, DB, adOpenKeyset, adLockOptimistic
'--------------------
If Rs2.RecordCount <> 0 Then
'----------------
Rs2.Delete
'----------------
End If
Rs2.Close
Set Rs2 = Nothing
'--------------------
End If
Esta dando a seguinte msg :
E esta dando o seguinte erro : Run-time error '-2147217864(80040e38)'
"A linha não pode ser localizada para atualização. Alguns valores podem ter
sido alterados desde que ela foi lida pela última vez."
Alguem poderia me dizer o q esta acontecendo ?
Grato
Cícero
_________________________________________________________________
Verificador de Segurança do Windows Live OneCare: combata já vírus e outras
ameaças! http://onecare.live.com/site/pt-br/default.htm
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista