FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Experiencia Sobre Bases.MDB Segunda parte
Posts: 115
Joined: Sat Mar 07, 2009 09:36 PM
Experiencia Sobre Bases.MDB Segunda parte
Posted: Thu Aug 23, 2012 03:01 PM

Hola Foro esta es una simple contribución de mi parte, cada uno podrá mejorar obviamente estos ejemplos.

1.- Primer paso crear una clase TStock.prg  Recuerde una sola clase por prg

 2.- crear el modulo de manejo


      Abrir la tabla con las ordenes mencionada anteriormente

      Ejemplo

      Function Main()

                   Local Data1
                   Local oST

                   Data1 := Usar( oCone, "SELECT * FROM STOCK " )

                  oST  := TStock():New( Data1 )
                  oST:Carga()

                  ? oST:Codigo

      REturn( Nil )
 //----------------------------------------------------------------------------//
     #Include "Fivewin.ch"

    Class TStock
            export:
            data xTabla 
            data Registro 
            data Codigo 
            data Detalle 
            data Marca     
            data Existencia  
            data Costo


    Method New       // constructor
    Method Carga    // carga un registro
    Method Nuevo   // inicializa variables
    Method Blanco   // abre un registro en blanco 
    Method Graba 
    Method End()

EndClass
//----------------------------------------------------------------------------//
Method New( xData )
::xTabla := xData
Return SELF
//----------------------------------------------------------------------------//
Method Carga
If !Empty( ::xTabla )
If ::xTabla:Recordcount > 0
::Registro := ::xTabla:Fields("Registro"):Value
::Codigo := ::xTabla:Fields("Codigo"):Value
::Detalle := ::xTabla:Fields("Detalle"):Value
::Marca := ::xTabla:Fields("Marca"):Value
::Existencia := ::xTabla:Fields("Existencia"):Value
::Costo := ::xTabla:Fields("Costo"):Value

        Else
            ::Registro     := 0
            ::Codigo       := Space(50)
            ::Detalle      := Space(100)
            ::Marca        := Space(30)
            ::Color        := Space(20)
                ::Existencia   := 0.00
            ::Costo       := 0.00

            ::Blanco()
        EndIf   
     Else
        ::Nuevo()
     EndIf
Return Self

//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
Method Nuevo
Local nR := 0
If ::xTabla:RecordCount > 0
::xTabla:MoveLast()
nR := ::xTabla:Fields("Registro"):Value + 1
Else
nR := 1
EndIf
::Registro := nR
::Codigo := Space(50)
::Detalle := Space(100)
::Marca := Space(30)
::Existencia := 0.00
::Costo := 0.00
Return SELF
//----------------------------------------------------------------------------//
Method Blanco //
::xTabla:AddNew()
Return SELF
//----------------------------------------------------------------------------//

Method Graba

   ::xTabla:Fields("Codigo"):Value           :=  ::Codigo     
   ::xTabla:Fields("Detalle"):Value          :=  ::Detalle    
   ::xTabla:Fields("Marca"):Value            :=  ::Marca      
   ::xTabla:Fields("Existencia"):Value       :=  ::Existencia 
   ::xTabla:Fields("Costo"):Value           :=  ::Costo  
   ::xTabla:UpDate()

Return SELF

cualquier duda consultarme por aqui... un abrazo a todos, y larga vida a fivewin.

Continue the discussion