2
« en: Miércoles 19 de Octubre de 2005, 22:46 »
necesito, grabar los datos de la lista lstguardar a la tabla tipo_pde_detalle, aki esta el codigo:
Dim Ultimo As String
'Dim vTIPO_PDE_CODIGO As Integer
'Dim TipoEquipo As String
Dim rsTipo_Equipo As New Recordset
Dim rsCod_Tipo_Equipo As New Recordset
Dim codTipoEquipo As Integer
Dim rsOpcion As New Recordset
Dim codOpcion As Integer
Dim cadSQL1 As String
Private Sub Form_Load()
cargaTipoEquipo
cargaOpcion
End Sub
Private Sub cmdAceptar_Click()
If tipoOP = 1 Then
cadSQL = "SELECT max(TIPO_PDE_CODIGO) FROM TIPO_PDE"
rs.Open cadSQL
Ultimo = rs.Fields(0)
Ultimo = Ultimo + 1
rs.Close
cadSQL = "insert into TIPO_PDE(TIPO_PDE_CODIGO, TIPO_EQPO_CODIGO,TIPO_PDE_ESTADO) values('" & Ultimo & "','" & codTipoEquipo & "','" & chkEstado.Value & "')"
cadSQL1 = "SELECT TIPO_PDE_CODIGO FROM TIPO_PDE_DETALLE"
rs.Open cadSQL1
' AQUI ESTABA ITNENTANDO GRABAR LOS DATOS..
For X = 0 To lstGuardar.ListCount - 1
codOpcion = lstGuardar.ItemData(lstGuardar.ListIndex)
cadSQL1 = "insert into TIPO_PDE_DETALLE(TIPO_PDE_CODIGO, TIPO_PDE_ITEM,TIPO_PDE_OPCION) values('" & Ultimo & "','" & X & "','" & codOpcion & "')"
Next X
rs.Close
End If
cn.Execute cadSQL
cn.Execute cadSQL1
Unload frmUsuTipoPDEIngreso
frmUsuTipoPDE.MSFlexGrid1.Clear
frmUsuTipoPDE.llenagrilla "SELECT Tipo_Pde.Tipo_Pde_Codigo, Tipo_Pde.Tipo_Eqpo_Codigo, Tipo_Pde.Tipo_Pde_Estado, Tipo_Equipo.Tipo_Eqpo_Codigo, Tipo_Equipo.Tipo_Eqpo_Nombre FROM Tipo_Pde INNER JOIN Tipo_Equipo ON Tipo_Pde.Tipo_Eqpo_Codigo = Tipo_Equipo.Tipo_Eqpo_Codigo ORDER BY Tipo_Equipo.Tipo_Eqpo_Nombre"
End Sub
Private Sub CmdDerecha_Click()
' selecciona los elememtos a la otra lista
Dim i As Integer
If lstOpcion.ListCount = 0 Then Exit Sub
lstGuardar.AddItem lstOpcion.Text
i = lstOpcion.ListIndex
lstOpcion.RemoveItem lstOpcion.ListIndex
If lstOpcion.ListCount > 0 Then
If i > lstOpcion.ListCount - 1 Then
lstOpcion.ListIndex = i - 1
Else
lstOpcion.ListIndex = i
End If
End If
lstGuardar.ListIndex = lstGuardar.NewIndex
End Sub
Private Sub cmdIzquierda_Click()
'regresa los datos a la lista anterior
Dim i As Integer
If lstGuardar.ListCount = 0 Then Exit Sub
lstOpcion.AddItem lstGuardar.Text
i = lstGuardar.ListIndex
lstGuardar.RemoveItem i
lstOpcion.ListIndex = lstOpcion.NewIndex
If lstGuardar.ListCount > 0 Then
If i > lstGuardar.ListCount - 1 Then
lstGuardar.ListIndex = i - 1
Else
lstGuardar.ListIndex = i
End If
End If
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then SendKeys "{tab}"
End Sub
Private Sub cboTipoEquipo_Click()
If cboTipoEquipo.ListIndex > 32000 Or cboTipoEquipo.ListIndex < 0 Then Exit Sub
codTipoEquipo = cboTipoEquipo.ItemData(cboTipoEquipo.ListIndex)
cadSQL = "SELECT Tipo_Eqpo_Nombre FROM Tipo_Equipo WHERE [Tipo_Eqpo_Codigo] = '" & codTipoEquipo & "'"
rsCod_Tipo_Equipo.Open cadSQL, cn, adOpenStatic, adLockOptimistic
cboTipoEquipo.Text = rsCod_Tipo_Equipo![TIPO_EQPO_NOMBRE]
rsCod_Tipo_Equipo.Close
End Sub
Private Sub cmdCancelar_Click()
'Verifica si el RecordSet está abierto para poder cerrarlo; porque puede darse el caso de abrir el formulario y cerrarlo sin haber elegido ningún elemento del combo
If rsCod_Tipo_Equipo.State = adStateOpen Then rsCod_Tipo_Equipo.Close
Unload Me
End Sub
Sub cargaTipoEquipo()
cboTipoEquipo.Clear
cadSQL = "SELECT * FROM Tipo_Equipo ORDER BY [TIPO_EQPO_NOMBRE] ASC"
rsTipo_Equipo.Open cadSQL, cn, adOpenStatic, adLockOptimistic
rsTipo_Equipo.MoveFirst
While Not rsTipo_Equipo.EOF
cboTipoEquipo.AddItem rsTipo_Equipo![TIPO_EQPO_NOMBRE]
cboTipoEquipo.ItemData(cboTipoEquipo.NewIndex) = rsTipo_Equipo![TIPO_EQPO_CODIGO]
rsTipo_Equipo.MoveNext
Wend
rsTipo_Equipo.Close
End Sub
Sub cargaOpcion()
lstOpcion.Clear
cadSQL = "SELECT * FROM Tipo_Pde_Opcion"
rsOpcion.Open cadSQL, cn, adOpenStatic, adLockOptimistic
rsOpcion.MoveFirst
While Not rsOpcion.EOF
lstOpcion.AddItem rsOpcion![NOM_OPCION]
lstOpcion.ItemData(lstOpcion.NewIndex) = rsOpcion![TIPO_PDE_OPCION]
rsOpcion.MoveNext
Wend
rsOpcion.Close
End Sub