Ir al contenido


Foto

Como Solucionar Una pequeña Consulta en Delphi


  • Por favor identifícate para responder
4 respuestas en este tema

#1 Char01

Char01

    Newbie

  • Miembros
  • Pip
  • 7 mensajes
  • Locationcolombia

Escrito 14 agosto 2013 - 07:43

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. :( :( :( :( :( :s :s :s :s :s :s :cry:


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

  • 0

#2 Char01

Char01

    Newbie

  • Miembros
  • Pip
  • 7 mensajes
  • Locationcolombia

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. :( :( :( :( :( :s :s :s :s :s :s :cry:


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
  • 0

#3 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 15 agosto 2013 - 08:17

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
  • 0

#4 Char01

Char01

    Newbie

  • Miembros
  • Pip
  • 7 mensajes
  • Locationcolombia

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.



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2.  
  3. begin
  4. if MessageBox(Handle,
  5.                 PChar('Esta Seguro de que desea' + #13#10 +
  6.                       'Limpiar el Registro' + #13#10 + 'de la Fila'),
  7.                 PChar('Registros'),
  8.                 MB_OKCANCEL + MB_DEFBUTTON1 + MB_SYSTEMMODAL) = IDCANCEL
  9. then
  10.   begin
  11.   DBGrid1.SelectedRows.Clear;
  12.   begin
  13.   ADOTable1.ClearFields;
  14.   ADOTable1.FieldByName('CODIGO').AsString :=DBGrid1.SelectedRows.Items[1];
  15.   ADOTable1.FieldByName('NOMBRE').AsString :=DBGrid1.SelectedRows.Items[1];
  16.  
  17.  
  18.  
  19.     end;
  20.   end;
  21.  
  22. end;


  • 0

#5 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 29 agosto 2013 - 06:52

y ya intentastes hacer lo que te indique con el clientdataset????
  • 0




IP.Board spam blocked by CleanTalk.