sábado, 22 de marzo de 2014

programación simple en vb6 para uso multiples

lo que se desea con este mantenimiento es mostrar los procesos de grabar, eliminar y buscar en datagrid, ademas utilizando modulo para conexion con dns

Codigo BD Procedimiento SP_nombre

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE Procedure [dbo].[SPMAN_EMPRESA]

@TIPOPE char (1),

@EMPRCOD CHAR(7),
@EMPRDES VARCHAR(100),
@EMPRRUC CHAR(11),
@EMPRCONT VARCHAR(50),
@EMPRTLF VARCHAR(50),
@EMPRDEPA VARCHAR(50),
@EMPRPRO VARCHAR(50),
@EMPRDIS VARCHAR(50),
@EMPRDIR VARCHAR(100),
@EMPREMA VARCHAR(50),
@USUACOD VARCHAR(50),
@EMPRPASS VARCHAR(50)
--@USUAFECACT DATETIME


As Begin
Declare

@VLMenErr varchar (150)
SET DATEFORMAT dmy

Begin Tran Tran_ManTituSer

/************************************ Insertar ****************************************/
If @TipOpe = 'I'
Begin

SELECT @EMPRCOD = ISNULL(MAX(EMPRCOD), 0) FROM EMPRESA
SELECT @EMPRCOD = CONVERT(NUMERIC(7),SUBSTRING (@EMPRCOD,2,7)+1000001)
SELECT @EMPRCOD='E'+SUBSTRING (@EMPRCOD,2,7)


Insert EMPRESA
(EMPRCOD ,EMPRDES ,EMPRRUC ,EMPRCONT,EMPRTLF,
EMPRDEPA ,EMPRPRO ,EMPRDIS ,EMPREMA,
EMPRDIR  , USUACOD, USUAFECACT,EMPRPASS)
Values
(@EMPRCOD ,@EMPRDES ,@EMPRRUC ,@EMPRCONT,@EMPRTLF,
@EMPRDEPA,@EMPRPRO ,@EMPRDIS
,@EMPRDIR ,@EMPREMA , @USUACOD, GETDATE(),@EMPRPASS)
If @@Error<>0
Begin
Select @VLMenErr = 'Error al Insertar Registro de TARIFARIO...!!!'
Goto EtqError
End

End

/********************************** Modifica ***************************************/
If @TipOpe = 'U'
Begin
Update EMPRESA Set

EMPRCOD =@EMPRCOD,
EMPRDES=@EMPRDES,
EMPRRUC =@EMPRRUC,
EMPRCONT=@EMPRCONT,
EMPRTLF=@EMPRTLF,
EMPRDEPA=@EMPRDEPA,
EMPRPRO=@EMPRPRO,
EMPRDIS=@EMPRDIS,
EMPRDIR =@EMPRDIR,
EMPREMA=@EMPREMA,
USUACOD = @USUACOD,
USUAFECACT = GETDATE(),
EMPRPASS=@EMPRPASS
WHERE @EMPRCOD = EMPRCOD

If @@Error<>0
Begin
            Select @VLMenErr = 'Error al actualizar registro de TARIFARIO...!!!'
   Goto EtqError
End
End

/**************************** Elimina ********************************/
If @TipOpe='D'
Begin
Delete EMPRESA
WHERE @EMPRCOD   =EMPRCOD

If @@Error<>0
Begin
Select @VLMenErr = 'Error al eliminar Registro de TARIFARIO..!!!'
Goto EtqError
End

End

/*********************************************************************************/
Commit Tran Tran_ManTituSer
Goto EtqSalir

EtqError:
RollBack Tran Tran_ManTituSer
RAISERROR (@VLMenErr,16,1)
Goto EtqSalir

EtqSalir:
End

'=========================================



Vb6


1. conexion DNS
2. diseño de formulario
3. cargar referencias




codigo de modulo
'======================================================
Public Cnx As New ADODB.Connection

Sub Main()
Cnx.ConnectionString = "Dsn=nombre;user id=sa; password;"
Cnx.Open
   Form1.Show
End Sub

Public Sub EJECUTAR(ByVal SQL As String)
Cnx.Execute SQL
End Sub
'======================================================





Contenido de formulario
matriz de text1(0) al 2,
combo1,Fecha (DtPicker)
Command1(0) al 3
Command2 para reporte

Codigo Formulario

'======================================================
Private Sub Combo1_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub

Private Sub Command1_Click(Index As Integer)
On Error GoTo x
Dim R As String

Select Case Index


Case 0
    Call limpiar
   
   
Case 1

    If lblestado.Caption = "NUEVO" Then
        R = MsgBox("SEGURO DE INGRESAR", vbYesNo)
            If R = vbYes Then Call MANTENIMIENTO("I")
       
    ElseIf lblestado.Caption = "EDICION" Then
        R = MsgBox("SEGURO DE MODIFICAR", vbYesNo)
            If R = vbYes Then Call MANTENIMIENTO("U")
         
    End If
   
   
Case 2
        If lblestado.Caption = "EDICION" Then
        R = MsgBox("SEGURO DE ELIMINAR", vbYesNo)
            If R = vbYes Then Call MANTENIMIENTO("D")
 
        End If
Case 3
    Call RellenarLista
   
End Select


Exit Sub
x:
MsgBox Err.Description
End Sub

Sub limpiar()
For i = 0 To 1
Text1(i).Text = ""
Next i
Combo1.Text = "ACTIVADO"
lblestado.Caption = "NUEVO"
Fecha.Value = Date
Text1(0).Enabled = False
Text1(0).BackColor = RGB(0, 0, 0)
End Sub

Function RellenarLista()
On Error GoTo LineaError


    Dim RS As New ADODB.Recordset
    RS.CursorLocation = adUseClient
   
       If Text1(1).Text = "" Then
        RS.Open "select * from Persona", Cnx, adOpenStatic, adLockReadOnly
        ElseIf Text1(1).Text <> "" Then
        RS.Open "select * from Persona where nombre like '%" & Trim$(Text1(1).Text) & "%'", Cnx, adOpenStatic, adLockReadOnly
        End If
       
        Set DataGrid1.DataSource = RS
        DataGrid1.Columns(0).Width = 1000
        DataGrid1.Columns(1).Width = 2500
        DataGrid1.Columns(2).Width = 2000
        DataGrid1.Columns(3).Width = 2000
        Set RS = Nothing
        Exit Function
   
    If DataGrid1.ApproxCount <> 0 Then
        DataGrid1.SetFocus
    End If

   
    Exit Function
LineaError:
    MsgBox Err.Description, vbCritical
End Function

Sub MANTENIMIENTO(tipo As String)
On Error GoTo ErrorSQL
Dim xCadena As String ''

If tipo = "I" Then
    xCadena = "EXEC SP_PERSONA 'I','" & Text1(0).Text & "','" & Text1(1).Text & "','" & Combo1.Text & "','" & Fecha.Value & "'"
ElseIf tipo = "U" Then
    xCadena = "EXEC SP_PERSONA 'U','" & Text1(0).Text & "','" & Text1(1).Text & "','" & Combo1.Text & "','" & Fecha.Value & "'"
ElseIf tipo = "D" Then
    xCadena = "EXEC SP_PERSONA 'D','" & Text1(0).Text & "','" & Text1(1).Text & "','" & Combo1.Text & "','" & Fecha.Value & "'"
End If

Cnx.Execute xCadena
Text1(1).Text = ""
Call RellenarLista
Exit Sub
ErrorSQL:
MsgBox Err.Description

End Sub

Private Sub Command2_Click()

On Error GoTo NOVA:

    CrtRpt.Reset
    CrtRpt.ReportFileName = "C:\Persona.rpt"
    CrtRpt.StoredProcParam(0) = Text1(0).Text
    CrtRpt.Destination = crptToWindow
    CrtRpt.WindowState = crptMaximized
           
    CrtRpt.Action = 0
  Exit Sub
NOVA:
    MsgBox Err.Description, vbExclamation
EtiqErrorSQL:
    Screen.MousePointer = vbDefault
End Sub

Private Sub DataGrid1_Click()
lblestado.Caption = "EDICION"
Call enviar
End Sub


Function enviar()
    If DataGrid1.ApproxCount = 0 Then Exit Function
            Text1(0).Text = DataGrid1.Columns(0).Text: Text1(0).BackColor = RGB(250, 250, 250)
            Text1(1).Text = DataGrid1.Columns(1).Text
            Combo1.Text = DataGrid1.Columns(2).Text
            Fecha.Value = DataGrid1.Columns(3).Text
    Exit Function
 
End Function
   
   
Private Sub Form_Load()
Call limpiar
End Sub






No hay comentarios:

Publicar un comentario