Private Sub Comando78_Click()
'
'
' REVISION SIN HALLAR PREDIAL
'
On Error GoTo Err_Comando78_Click
Dim a As Database
Dim b As Recordset
Dim SALE As Boolean
Set a = CurrentDb
Set b = a.OpenRecordset("SUSCRIPTOR", dbOpenTable) //Nombre tabla base datos
If HaySeleccion1 Then
b.Index = "CODIGO"
b.Seek "=", Me.Lista76.Column(9)
SALE = False
While Not b.EOF And SALE = False
If b!CODIGO <> Me.Lista76.Column(9) Then
b.MoveNext
Else
SALE = True
b.Edit
b!REVISADO = True //campo de base datos
b!FEC_REV = Date //campo de base datos
b!HORA_REV = Time //campo de base datos
b!PREDIAL_OK = False //campo de base datos
b.Update
End If
Wend
Me.Lista76.Requery
' MsgBox Me.Lista76.Column(0), vbInformation, "Elemento seleccionado"
End If
Exit_Comando78_Click:
Exit Sub
Err_Comando78_Click:
MsgBox Err.Description
Resume Exit_Comando78_Click
End Sub
Como Solucionar Una pequeña Consulta en Delphi
#1
Escrito 14 agosto 2013 - 07:43
#2
Escrito 15 agosto 2013 - 07:12
Buenos Días necesito un favor alguien que me pueda colaborar con este tema necesito que cuando oprima un botón en el formulario en una DBGrid se limpie la fila sin borrar de la base de datos solo se limpie y ala vez se modifique en la base de datos unos campos yo cree esto en access pero en delphi soy un poco novato y la verdad no encuentro una idea como hacerlo les agradezco su colaboración prestada, acá dejo el código de access.
Private Sub Comando78_Click()
'
'
' REVISION SIN HALLAR PREDIAL
'
On Error GoTo Err_Comando78_Click
Dim a As Database
Dim b As Recordset
Dim SALE As Boolean
Set a = CurrentDb
Set b = a.OpenRecordset("SUSCRIPTOR", dbOpenTable) //Nombre tabla base datos
If HaySeleccion1 Then
b.Index = "CODIGO"
b.Seek "=", Me.Lista76.Column(9)
SALE = False
While Not b.EOF And SALE = False
If b!CODIGO <> Me.Lista76.Column(9) Then
b.MoveNext
Else
SALE = True
b.Edit
b!REVISADO = True //campo de base datos
b!FEC_REV = Date //campo de base datos
b!HORA_REV = Time //campo de base datos
b!PREDIAL_OK = False //campo de base datos
b.Update
End If
Wend
Me.Lista76.Requery
' MsgBox Me.Lista76.Column(0), vbInformation, "Elemento seleccionado"
End If
Exit_Comando78_Click:
Exit Sub
Err_Comando78_Click:
MsgBox Err.Description
Resume Exit_Comando78_Click
End Sub
que pena molestar tanto alguien a podido encontrar algo a mi pequeño problema e intentado varias cosas pero no e podido solucionar este y la verdad lo necesito urgente gracias al que me pueda colavorar
#3
Escrito 15 agosto 2013 - 08:17
PAra actualizar los campos lo puedes hacer en el evento beforedelete del mismo clientdataset.
Es muy importante que en ningun momento ejecutes un ApplyUpdates
#4
Escrito 27 agosto 2013 - 08:38
Esto va a depender como tengas la conexion, eso lo puedes hacer facilmente cargando los datos en un clientdataset, solo se borraran de memoria y no de la bd
PAra actualizar los campos lo puedes hacer en el evento beforedelete del mismo clientdataset.
Es muy importante que en ningun momento ejecutes un ApplyUpdates
bueno pues e intentado barias cosas en esto pero no e podido solucionar nada la verdad solicito una ayudita ahora tengo este código que e inventado pero me elimina de la base de datos y eso es lo que menos quiero por favor necesito de su ayuda solo quiero que cuando de click en el boto me limpie la fila de la DBGrid solo limpiar pues este el código que llevo pero este me elimina el registro de la base de datos.
procedure TForm1.Button1Click(Sender: TObject); begin if MessageBox(Handle, PChar('Esta Seguro de que desea' + #13#10 + 'Limpiar el Registro' + #13#10 + 'de la Fila'), PChar('Registros'), MB_OKCANCEL + MB_DEFBUTTON1 + MB_SYSTEMMODAL) = IDCANCEL then begin DBGrid1.SelectedRows.Clear; begin ADOTable1.ClearFields; ADOTable1.FieldByName('CODIGO').AsString :=DBGrid1.SelectedRows.Items[1]; ADOTable1.FieldByName('NOMBRE').AsString :=DBGrid1.SelectedRows.Items[1]; end; end; end;
#5
Escrito 29 agosto 2013 - 06:52